diff --git a/.codespellrc b/.codespellrc index de14c377b..0000c2b5a 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,3 +1,3 @@ [codespell] -ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,atleast,ue,afterall +ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,atleast,ue,afterall,ser skip: **/target,node_modules,build,dist,./out,**/Cargo.lock,./docs/kcl/*.md,.yarn.lock,**/yarn.lock,./openapi/*.json,./packages/codemirror-lang-kcl/test/all.test.ts,tsconfig.tsbuildinfo diff --git a/.github/workflows/cargo-bench.yml b/.github/workflows/cargo-bench.yml deleted file mode 100644 index 06c7f5005..000000000 --- a/.github/workflows/cargo-bench.yml +++ /dev/null @@ -1,44 +0,0 @@ -on: - push: - branches: - - main - paths: - - '**.rs' - - '**/Cargo.toml' - - '**/Cargo.lock' - - '**/rust-toolchain.toml' - - .github/workflows/cargo-bench.yml - pull_request: - paths: - - '**.rs' - - '**/Cargo.toml' - - '**/Cargo.lock' - - '**/rust-toolchain.toml' - - .github/workflows/cargo-bench.yml - workflow_dispatch: -permissions: read-all -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true -name: cargo bench -jobs: - cargo-bench: - name: Benchmark with iai - runs-on: ubuntu-latest-8-cores - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable - - name: Install dependencies - run: | - cargo install cargo-criterion - sudo apt update - sudo apt install -y valgrind - - name: Rust Cache - uses: Swatinem/rust-cache@v2.6.1 - - name: Benchmark kcl library - shell: bash - run: |- - cd src/wasm-lib/kcl; cargo bench --all-features -- iai - env: - KITTYCAD_API_TOKEN: ${{secrets.KITTYCAD_API_TOKEN}} - diff --git a/docs/kcl/std.json b/docs/kcl/std.json index ca3e13479..8a11ad99a 100644 --- a/docs/kcl/std.json +++ b/docs/kcl/std.json @@ -750,6 +750,7 @@ } }, "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", @@ -1608,6 +1609,7 @@ } }, "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", @@ -1837,7 +1839,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -1875,6 +1878,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -2517,6 +2523,7 @@ } }, "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", @@ -2739,6 +2746,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -2791,6 +2799,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -2807,6 +2818,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -2860,6 +2872,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -2912,6 +2927,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -2920,6 +3023,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -2967,6 +3071,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -2984,7 +3091,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -3022,6 +3130,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -3885,6 +3996,7 @@ } }, "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", @@ -4743,6 +4855,7 @@ } }, "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", @@ -4972,7 +5085,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -5010,6 +5124,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -5652,6 +5769,7 @@ } }, "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", @@ -5874,6 +5992,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -5926,6 +6045,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -5942,6 +6064,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -5995,6 +6118,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -6047,6 +6173,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -6055,6 +6269,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -6102,6 +6317,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -6119,7 +6337,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -6157,6 +6376,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -6412,7 +6634,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -6450,6 +6673,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -7054,6 +7280,7 @@ } }, "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", @@ -7074,6 +7301,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -7126,6 +7354,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -7142,6 +7373,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -7195,6 +7427,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -7247,6 +7482,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -7272,6 +7595,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -7319,6 +7643,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -7521,7 +7848,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -7559,6 +7887,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -8378,6 +8709,7 @@ } }, "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", @@ -8398,6 +8730,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -8450,6 +8783,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -8466,6 +8802,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -8519,6 +8856,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -8571,6 +8911,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -8596,6 +9024,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -8643,6 +9072,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -8845,7 +9277,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -8883,6 +9316,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -9108,7 +9544,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -9146,6 +9583,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -9750,6 +10190,7 @@ } }, "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", @@ -9770,6 +10211,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -9822,6 +10264,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -9838,6 +10283,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -9891,6 +10337,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -9943,6 +10392,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -9968,6 +10505,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -10015,6 +10553,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -10217,7 +10758,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -10255,6 +10797,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -10535,7 +11080,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -10573,6 +11119,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -11177,6 +11726,7 @@ } }, "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", @@ -11197,6 +11747,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -11249,6 +11800,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -11265,6 +11819,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -11318,6 +11873,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -11370,6 +11928,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -11395,6 +12041,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -11442,6 +12089,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -11644,7 +12294,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -11682,6 +12333,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -12501,6 +13155,7 @@ } }, "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", @@ -12521,6 +13176,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -12573,6 +13229,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -12589,6 +13248,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -12642,6 +13302,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -12694,6 +13357,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -12719,6 +13470,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -12766,6 +13518,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -12968,7 +13723,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -13006,6 +13762,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -13231,7 +13990,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -13269,6 +14029,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -13873,6 +14636,7 @@ } }, "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", @@ -13893,6 +14657,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -13945,6 +14710,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -13961,6 +14729,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -14014,6 +14783,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -14066,6 +14838,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -14091,6 +14951,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -14138,6 +14999,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -14340,7 +15204,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -14378,6 +15243,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -14658,7 +15526,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -14696,6 +15565,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -15300,6 +16172,7 @@ } }, "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", @@ -15320,6 +16193,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -15372,6 +16246,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -15388,6 +16265,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -15441,6 +16319,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -15493,6 +16374,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -15518,6 +16487,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -15565,6 +16535,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -15767,7 +16740,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -15805,6 +16779,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -16624,6 +17601,7 @@ } }, "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", @@ -16644,6 +17622,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -16696,6 +17675,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -16712,6 +17694,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -16765,6 +17748,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -16817,6 +17803,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -16842,6 +17916,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -16889,6 +17964,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -17091,7 +18169,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -17129,6 +18208,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -17354,7 +18436,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -17392,6 +18475,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -17996,6 +19082,7 @@ } }, "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", @@ -18016,6 +19103,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -18068,6 +19156,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -18084,6 +19175,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -18137,6 +19229,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -18189,6 +19284,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -18214,6 +19397,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -18261,6 +19445,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -18463,7 +19650,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -18501,6 +19689,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -19418,6 +20609,7 @@ } }, "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", @@ -19647,7 +20839,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -19685,6 +20878,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -20353,6 +21549,7 @@ } }, "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", @@ -20575,6 +21772,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -20627,6 +21825,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -20643,6 +21844,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -20696,6 +21898,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -20748,6 +21953,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -20756,6 +22049,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -20803,6 +22097,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -20820,7 +22117,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -20858,6 +22156,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -21677,6 +22978,7 @@ } }, "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", @@ -21899,6 +23201,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -21951,6 +23254,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -21967,6 +23273,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -22020,6 +23327,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -22072,6 +23382,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -22080,6 +23478,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -22127,6 +23526,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -22144,7 +23546,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -22182,6 +23585,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -22343,7 +23749,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -22381,6 +23788,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -22985,6 +24395,7 @@ } }, "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", @@ -23005,6 +24416,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -23057,6 +24469,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -23073,6 +24488,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -23126,6 +24542,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -23178,6 +24597,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -23203,6 +24710,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -23250,6 +24758,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -23452,7 +24963,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -23490,6 +25002,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -23755,7 +25270,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -23793,6 +25309,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -24397,6 +25916,7 @@ } }, "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", @@ -24417,6 +25937,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -24469,6 +25990,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -24485,6 +26009,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -24538,6 +26063,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -24590,6 +26118,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -24615,6 +26231,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -24662,6 +26279,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -24864,7 +26484,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -24902,6 +26523,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -25721,6 +27345,7 @@ } }, "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", @@ -25741,6 +27366,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -25793,6 +27419,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -25809,6 +27438,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -25862,6 +27492,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -25914,6 +27547,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -25939,6 +27660,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -25986,6 +27708,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -26188,7 +27913,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -26226,6 +27952,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -26451,7 +28180,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -26489,6 +28219,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -27093,6 +28826,7 @@ } }, "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", @@ -27113,6 +28847,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -27165,6 +28900,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -27181,6 +28919,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -27234,6 +28973,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -27286,6 +29028,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -27311,6 +29141,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -27358,6 +29189,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -27560,7 +29394,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -27598,6 +29433,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -27863,7 +29701,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -27901,6 +29740,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -28505,6 +30347,7 @@ } }, "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", @@ -28525,6 +30368,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -28577,6 +30421,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -28593,6 +30440,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -28646,6 +30494,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -28698,6 +30549,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -28723,6 +30662,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -28770,6 +30710,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -28972,7 +30915,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -29010,6 +30954,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -29829,6 +31776,7 @@ } }, "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", @@ -29849,6 +31797,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -29901,6 +31850,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -29917,6 +31869,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -29970,6 +31923,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -30022,6 +31978,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -30047,6 +32091,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -30094,6 +32139,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -30296,7 +32344,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -30334,6 +32383,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -30559,7 +32611,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -30597,6 +32650,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -31201,6 +33257,7 @@ } }, "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", @@ -31221,6 +33278,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -31273,6 +33331,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -31289,6 +33350,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -31342,6 +33404,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -31394,6 +33459,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -31419,6 +33572,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -31466,6 +33620,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -31668,7 +33825,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -31706,6 +33864,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -31985,6 +34146,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -32038,6 +34200,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -32287,6 +34452,7 @@ } }, "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", @@ -32304,7 +34470,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -32342,6 +34509,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -32924,6 +35094,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -32976,6 +35147,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -32992,6 +35166,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -33045,6 +35220,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -33097,6 +35275,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -33122,6 +35388,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -33169,6 +35436,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -33398,6 +35668,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -33451,6 +35722,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -33700,6 +35974,7 @@ } }, "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", @@ -33717,7 +35992,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -33755,6 +36031,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -34337,6 +36616,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -34389,6 +36669,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -34405,6 +36688,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -34458,6 +36742,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -34510,6 +36797,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -34535,6 +36910,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -34582,6 +36958,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -34906,7 +37285,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -34944,6 +37324,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -35548,6 +37931,7 @@ } }, "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", @@ -35568,6 +37952,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -35620,6 +38005,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -35636,6 +38024,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -35689,6 +38078,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -35741,6 +38133,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -35766,6 +38246,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -35813,6 +38294,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -36015,7 +38499,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -36053,6 +38538,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -36872,6 +39360,7 @@ } }, "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", @@ -36892,6 +39381,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -36944,6 +39434,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -36960,6 +39453,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -37013,6 +39507,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -37065,6 +39562,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -37090,6 +39675,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -37137,6 +39723,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -37339,7 +39928,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -37377,6 +39967,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -37602,7 +40195,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -37640,6 +40234,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -38244,6 +40841,7 @@ } }, "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", @@ -38264,6 +40862,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -38316,6 +40915,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -38332,6 +40934,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -38385,6 +40988,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -38437,6 +41043,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -38462,6 +41156,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -38509,6 +41204,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -38711,7 +41409,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -38749,6 +41448,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -39024,7 +41726,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -39062,6 +41765,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -39666,6 +42372,7 @@ } }, "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", @@ -39686,6 +42393,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -39738,6 +42446,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -39754,6 +42465,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -39807,6 +42519,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -39859,6 +42574,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -39884,6 +42687,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -39931,6 +42735,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -40133,7 +42940,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -40171,6 +42979,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -40990,6 +43801,7 @@ } }, "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", @@ -41010,6 +43822,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -41062,6 +43875,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -41078,6 +43894,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -41131,6 +43948,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -41183,6 +44003,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -41208,6 +44116,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -41255,6 +44164,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -41457,7 +44369,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -41495,6 +44408,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -41720,7 +44636,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -41758,6 +44675,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -42362,6 +45282,7 @@ } }, "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", @@ -42382,6 +45303,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -42434,6 +45356,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -42450,6 +45375,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -42503,6 +45429,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -42555,6 +45484,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -42580,6 +45597,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -42627,6 +45645,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -42829,7 +45850,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -42867,6 +45889,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -43644,7 +46669,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -43682,6 +46708,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -44286,6 +47315,7 @@ } }, "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", @@ -44306,6 +47336,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -44358,6 +47389,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -44374,6 +47408,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -44427,6 +47462,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -44479,6 +47517,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -44504,6 +47630,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -44551,6 +47678,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -44753,7 +47883,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -44791,6 +47922,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -45610,6 +48744,7 @@ } }, "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", @@ -45630,6 +48765,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -45682,6 +48818,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -45698,6 +48837,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -45751,6 +48891,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -45803,6 +48946,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -45828,6 +49059,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -45875,6 +49107,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -46077,7 +49312,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -46115,6 +49351,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -46340,7 +49579,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -46378,6 +49618,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -46982,6 +50225,7 @@ } }, "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", @@ -47002,6 +50246,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -47054,6 +50299,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -47070,6 +50318,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -47123,6 +50372,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -47175,6 +50427,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -47200,6 +50540,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -47247,6 +50588,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -47449,7 +50793,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -47487,6 +50832,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -48455,6 +51803,7 @@ } }, "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", @@ -48684,6 +52033,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -48731,6 +52081,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -49417,6 +52770,7 @@ } }, "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", @@ -49636,7 +52990,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -49674,6 +53029,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -49694,6 +53052,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -49746,6 +53105,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -49762,6 +53124,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -49815,6 +53178,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -49867,6 +53233,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -49875,6 +53329,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -49922,6 +53377,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -50759,6 +54217,7 @@ } }, "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", @@ -50978,7 +54437,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -51016,6 +54476,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -51036,6 +54499,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -51088,6 +54552,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -51104,6 +54571,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -51157,6 +54625,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -51209,6 +54680,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -51217,6 +54776,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -51264,6 +54824,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -51425,6 +54988,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -51472,6 +55036,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -51699,6 +55266,7 @@ } }, "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", @@ -51716,7 +55284,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -51754,6 +55323,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -52336,6 +55908,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -52388,6 +55961,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -52404,6 +55980,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -52457,6 +56034,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -52509,6 +56089,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -52534,6 +56202,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -52581,6 +56250,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -52866,6 +56538,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -52918,6 +56591,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -52934,6 +56610,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -52987,6 +56664,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -53039,6 +56719,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -53057,6 +56825,7 @@ } }, "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", @@ -53074,6 +56843,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -53121,6 +56891,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -53355,7 +57128,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -53393,6 +57167,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -54190,6 +57967,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -54242,6 +58020,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -54258,6 +58039,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -54311,6 +58093,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -54363,6 +58148,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -54381,6 +58254,7 @@ } }, "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", @@ -54398,6 +58272,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -54445,6 +58320,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -54679,7 +58557,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -54717,6 +58596,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -55504,7 +59386,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -55542,6 +59425,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -56146,6 +60032,7 @@ } }, "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", @@ -56166,6 +60053,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -56218,6 +60106,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -56234,6 +60125,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -56287,6 +60179,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -56339,6 +60234,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -56364,6 +60347,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -56411,6 +60395,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -56613,7 +60600,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -56651,6 +60639,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -56957,6 +60948,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -57009,6 +61001,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -57025,6 +61020,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -57078,6 +61074,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -57130,6 +61129,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -57148,6 +61235,7 @@ } }, "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", @@ -57165,6 +61253,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -57212,6 +61301,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -57446,7 +61538,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -57484,6 +61577,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -58282,6 +62378,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -58334,6 +62431,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -58350,6 +62450,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -58403,6 +62504,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -58455,6 +62559,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -58473,6 +62665,7 @@ } }, "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", @@ -58490,6 +62683,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -58537,6 +62731,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -58771,7 +62968,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -58809,6 +63007,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -59597,7 +63798,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -59635,6 +63837,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -60239,6 +64444,7 @@ } }, "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", @@ -60259,6 +64465,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -60311,6 +64518,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -60327,6 +64537,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -60380,6 +64591,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -60432,6 +64646,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -60457,6 +64759,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -60504,6 +64807,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -60706,7 +65012,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -60744,6 +65051,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -60981,7 +65291,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -61019,6 +65330,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -61623,6 +65937,7 @@ } }, "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", @@ -61643,6 +65958,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -61695,6 +66011,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -61711,6 +66030,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -61764,6 +66084,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -61816,6 +66139,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -61841,6 +66252,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -61888,6 +66300,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -62090,7 +66505,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -62128,6 +66544,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -62947,6 +67366,7 @@ } }, "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", @@ -62967,6 +67387,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -63019,6 +67440,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -63035,6 +67459,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -63088,6 +67513,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -63140,6 +67568,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -63165,6 +67681,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -63212,6 +67729,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -63414,7 +67934,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -63452,6 +67973,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -63677,7 +68201,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -63715,6 +68240,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -64319,6 +68847,7 @@ } }, "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", @@ -64339,6 +68868,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -64391,6 +68921,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -64407,6 +68940,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -64460,6 +68994,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -64512,6 +69049,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -64537,6 +69162,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -64584,6 +69210,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -64786,7 +69415,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -64824,6 +69454,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -65172,7 +69805,8 @@ "on", "paths", "start", - "type" + "type", + "units" ], "properties": { "type": { @@ -65216,6 +69850,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -65842,6 +70479,7 @@ } }, "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", @@ -65862,6 +70500,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -65914,6 +70553,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -65930,6 +70572,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -65983,6 +70626,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -66035,6 +70681,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -66060,6 +70794,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -66107,6 +70842,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -66309,7 +71047,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -66347,6 +71086,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -66576,6 +71318,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -66629,6 +71372,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -66878,6 +71624,7 @@ } }, "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", @@ -66895,7 +71642,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -66933,6 +71681,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -67515,6 +72266,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -67567,6 +72319,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -67583,6 +72338,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -67636,6 +72392,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -67688,6 +72447,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -67713,6 +72560,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -67760,6 +72608,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -68696,6 +73547,7 @@ } }, "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", @@ -68925,6 +73777,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -68972,6 +73825,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -69658,6 +74514,7 @@ } }, "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", @@ -69877,7 +74734,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -69915,6 +74773,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -69935,6 +74796,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -69987,6 +74849,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -70003,6 +74868,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -70056,6 +74922,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -70108,6 +74977,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -70116,6 +75073,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -70163,6 +75121,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -71000,6 +75961,7 @@ } }, "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", @@ -71219,7 +76181,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -71257,6 +76220,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -71277,6 +76243,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -71329,6 +76296,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -71345,6 +76315,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -71398,6 +76369,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -71450,6 +76424,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -71458,6 +76520,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -71505,6 +76568,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -71666,6 +76732,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -71713,6 +76780,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -71940,6 +77010,7 @@ } }, "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", @@ -71957,7 +77028,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -71995,6 +77067,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -72577,6 +77652,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -72629,6 +77705,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -72645,6 +77724,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -72698,6 +77778,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -72750,6 +77833,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -72775,6 +77946,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -72822,6 +77994,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -73778,6 +78953,7 @@ } }, "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", @@ -74684,6 +79860,7 @@ } }, "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", @@ -75590,6 +80767,7 @@ } }, "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", @@ -76666,6 +81844,7 @@ } }, "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", @@ -76896,6 +82075,7 @@ "angleStart", "ccw", "revolutions", + "units", "value" ], "properties": { @@ -76918,6 +82098,9 @@ "description": "Is the helix rotation counter clockwise?", "type": "boolean" }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -76926,6 +82109,94 @@ } }, "definitions": { + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -76944,6 +82215,7 @@ } }, "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", @@ -77025,6 +82297,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -77072,6 +82345,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -77299,6 +82575,7 @@ } }, "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", @@ -77316,7 +82593,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -77354,6 +82632,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -77936,6 +83217,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -77988,6 +83270,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -78004,6 +83289,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -78057,6 +83343,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -78109,6 +83398,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -78134,6 +83511,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -78181,6 +83559,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -78406,6 +83787,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -78453,6 +83835,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -78680,6 +84065,7 @@ } }, "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", @@ -78697,7 +84083,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -78735,6 +84122,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -79317,6 +84707,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -79369,6 +84760,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -79385,6 +84779,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -79438,6 +84833,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -79490,6 +84888,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -79515,6 +85001,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -79562,6 +85049,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -79803,7 +85293,8 @@ "on", "paths", "start", - "type" + "type", + "units" ], "properties": { "type": { @@ -79847,6 +85338,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -80473,6 +85967,7 @@ } }, "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", @@ -80493,6 +85988,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -80545,6 +86041,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -80561,6 +86060,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -80614,6 +86114,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -80666,6 +86169,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -80691,6 +86282,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -80738,6 +86330,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -80940,7 +86535,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -80978,6 +86574,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -81202,7 +86801,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -81240,6 +86840,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -81844,6 +87447,7 @@ } }, "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", @@ -81864,6 +87468,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -81916,6 +87521,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -81932,6 +87540,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -81985,6 +87594,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -82037,6 +87649,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -82062,6 +87762,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -82109,6 +87810,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -82311,7 +88015,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -82349,6 +88054,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -82574,7 +88282,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -82612,6 +88321,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -83216,6 +88928,7 @@ } }, "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", @@ -83236,6 +88949,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -83288,6 +89002,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -83304,6 +89021,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -83357,6 +89075,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -83409,6 +89130,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -83434,6 +89243,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -83481,6 +89291,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -83683,7 +89496,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -83721,6 +89535,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -83971,6 +89788,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -84018,6 +89836,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -84245,6 +90066,7 @@ } }, "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", @@ -84262,7 +90084,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -84300,6 +90123,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -84882,6 +90708,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -84934,6 +90761,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -84950,6 +90780,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -85003,6 +90834,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -85055,6 +90889,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -85080,6 +91002,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -85127,6 +91050,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -85352,6 +91278,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -85399,6 +91326,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -85626,6 +91556,7 @@ } }, "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", @@ -85643,7 +91574,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -85681,6 +91613,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -86263,6 +92198,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -86315,6 +92251,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -86331,6 +92270,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -86384,6 +92324,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -86436,6 +92379,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -86461,6 +92492,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -86508,6 +92540,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -87117,6 +93152,7 @@ } }, "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", @@ -87229,7 +93265,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -87267,6 +93304,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -87871,6 +93911,7 @@ } }, "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", @@ -87891,6 +93932,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -87943,6 +93985,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -87959,6 +94004,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -88012,6 +94058,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -88064,6 +94113,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -88089,6 +94226,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -88136,6 +94274,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -88338,7 +94479,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -88376,6 +94518,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -88626,7 +94771,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -88664,6 +94810,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -89268,6 +95417,7 @@ } }, "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", @@ -89288,6 +95438,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -89340,6 +95491,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -89356,6 +95510,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -89409,6 +95564,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -89461,6 +95619,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -89486,6 +95732,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -89533,6 +95780,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -89735,7 +95985,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -89773,6 +96024,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -90196,7 +96450,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -90234,6 +96489,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -90838,6 +97096,7 @@ } }, "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", @@ -90858,6 +97117,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -90910,6 +97170,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -90926,6 +97189,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -90979,6 +97243,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -91031,6 +97298,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -91056,6 +97411,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -91103,6 +97459,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -91305,7 +97664,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -91343,6 +97703,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -92162,6 +98525,7 @@ } }, "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", @@ -92182,6 +98546,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -92234,6 +98599,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -92250,6 +98618,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -92303,6 +98672,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -92355,6 +98727,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -92380,6 +98840,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -92427,6 +98888,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -92629,7 +99093,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -92667,6 +99132,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -92892,7 +99360,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -92930,6 +99399,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -93534,6 +100006,7 @@ } }, "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", @@ -93554,6 +100027,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -93606,6 +100080,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -93622,6 +100099,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -93675,6 +100153,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -93727,6 +100208,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -93752,6 +100321,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -93799,6 +100369,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -94001,7 +100574,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -94039,6 +100613,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -94294,7 +100871,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -94332,6 +100910,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -94936,6 +101517,7 @@ } }, "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", @@ -94956,6 +101538,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -95008,6 +101591,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -95024,6 +101610,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -95077,6 +101664,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -95129,6 +101719,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -95154,6 +101832,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -95201,6 +101880,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -95403,7 +102085,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -95441,6 +102124,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -96260,6 +102946,7 @@ } }, "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", @@ -96280,6 +102967,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -96332,6 +103020,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -96348,6 +103039,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -96401,6 +103093,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -96453,6 +103148,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -96478,6 +103261,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -96525,6 +103309,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -96727,7 +103514,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -96765,6 +103553,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -96990,7 +103781,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -97028,6 +103820,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -97632,6 +104427,7 @@ } }, "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", @@ -97652,6 +104448,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -97704,6 +104501,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -97720,6 +104520,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -97773,6 +104574,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -97825,6 +104629,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -97850,6 +104742,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -97897,6 +104790,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -98099,7 +104995,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -98137,6 +105034,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -98420,7 +105320,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -98458,6 +105359,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -99062,6 +105966,7 @@ } }, "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", @@ -99082,6 +105987,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -99134,6 +106040,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -99150,6 +106059,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -99203,6 +106113,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -99255,6 +106168,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -99280,6 +106281,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -99327,6 +106329,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -99742,7 +106747,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -99780,6 +106786,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -100384,6 +107393,7 @@ } }, "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", @@ -100404,6 +107414,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -100456,6 +107467,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -100472,6 +107486,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -100525,6 +107540,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -100577,6 +107595,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -100602,6 +107708,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -100649,6 +107756,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -101062,7 +108172,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -101100,6 +108211,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -101704,6 +108818,7 @@ } }, "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", @@ -101724,6 +108839,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -101776,6 +108892,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -101792,6 +108911,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -101845,6 +108965,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -101897,6 +109020,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -101922,6 +109133,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -101969,6 +109181,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -102385,7 +109600,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -102423,6 +109639,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -103027,6 +110246,7 @@ } }, "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", @@ -103047,6 +110267,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -103099,6 +110320,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -103115,6 +110339,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -103168,6 +110393,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -103220,6 +110448,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -103245,6 +110561,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -103292,6 +110609,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -103707,7 +111027,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -103745,6 +111066,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -104349,6 +111673,7 @@ } }, "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", @@ -104369,6 +111694,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -104421,6 +111747,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -104437,6 +111766,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -104490,6 +111820,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -104542,6 +111875,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -104567,6 +111988,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -104614,6 +112036,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -105025,6 +112450,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -105072,6 +112498,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -105299,6 +112728,7 @@ } }, "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", @@ -105316,7 +112746,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -105354,6 +112785,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -105936,6 +113370,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -105988,6 +113423,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -106004,6 +113442,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -106057,6 +113496,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -106109,6 +113551,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -106134,6 +113664,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -106181,6 +113712,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -106837,17 +114371,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -106856,66 +114383,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -106924,52 +114401,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -107013,13 +114446,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -107030,56 +114458,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -107105,13 +114485,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -107123,29 +114498,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -107280,6 +114633,7 @@ } }, "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", @@ -108106,6 +115460,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -108148,6 +115567,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -108156,6 +115729,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -108203,6 +115777,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -108220,7 +115797,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -108258,6 +115836,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -108278,6 +115859,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -108330,6 +115912,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -108346,6 +115931,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -108399,6 +115985,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -108568,6 +116157,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -108912,17 +116543,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -108931,66 +116555,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -108999,52 +116573,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -109088,13 +116618,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -109105,56 +116630,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -109180,13 +116657,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -109198,29 +116670,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -109355,6 +116805,7 @@ } }, "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", @@ -110181,6 +117632,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -110223,6 +117739,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -110231,6 +117901,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -110278,6 +117949,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -110295,7 +117969,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -110333,6 +118008,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -110353,6 +118031,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -110405,6 +118084,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -110421,6 +118103,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -110474,6 +118157,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -110643,6 +118329,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -110991,17 +118719,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -111010,66 +118731,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -111078,52 +118749,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -111167,13 +118794,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -111184,56 +118806,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -111259,13 +118833,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -111277,29 +118846,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -111434,6 +118981,7 @@ } }, "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", @@ -112260,6 +119808,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -112302,6 +119915,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -112310,6 +120077,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -112357,6 +120125,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -112374,7 +120145,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -112412,6 +120184,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -112432,6 +120207,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -112484,6 +120260,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -112500,6 +120279,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -112553,6 +120333,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -112722,6 +120505,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -113689,6 +121514,7 @@ } }, "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", @@ -113922,7 +121748,8 @@ "on", "paths", "start", - "type" + "type", + "units" ], "properties": { "type": { @@ -113966,6 +121793,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -114766,6 +122596,7 @@ } }, "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", @@ -114988,6 +122819,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -115040,6 +122872,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -115056,6 +122891,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -115109,6 +122945,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -115161,6 +123000,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -115169,6 +123096,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -115216,6 +123144,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -115233,7 +123164,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -115271,6 +123203,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -115438,7 +123373,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -115476,6 +123412,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -116080,6 +124019,7 @@ } }, "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", @@ -116100,6 +124040,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -116152,6 +124093,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -116168,6 +124112,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -116221,6 +124166,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -116273,6 +124221,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -116298,6 +124334,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -116345,6 +124382,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -116864,6 +124904,7 @@ "__meta", "id", "origin", + "units", "value", "xAxis", "yAxis", @@ -116910,6 +124951,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -116960,6 +125004,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -116978,6 +125110,7 @@ } }, "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", @@ -117071,7 +125204,8 @@ "on", "paths", "start", - "type" + "type", + "units" ], "properties": { "type": { @@ -117115,6 +125249,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -117741,6 +125878,7 @@ } }, "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", @@ -117761,6 +125899,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -117813,6 +125952,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -117829,6 +125971,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -117882,6 +126025,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -117934,6 +126080,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -117959,6 +126193,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -118006,6 +126241,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -118208,7 +126446,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -118246,6 +126485,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -118477,7 +126719,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -118515,6 +126758,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -119119,6 +127365,7 @@ } }, "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", @@ -119139,6 +127386,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -119191,6 +127439,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -119207,6 +127458,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -119260,6 +127512,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -119312,6 +127567,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -119337,6 +127680,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -119384,6 +127728,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -119866,6 +128213,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -119919,6 +128267,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -120168,6 +128519,7 @@ } }, "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", @@ -120185,7 +128537,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -120223,6 +128576,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -120805,6 +129161,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -120857,6 +129214,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -120873,6 +129233,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -120926,6 +129287,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -120978,6 +129342,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -121003,6 +129455,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -121050,6 +129503,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -121281,6 +129737,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -121328,6 +129785,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -121555,6 +130015,7 @@ } }, "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", @@ -121572,7 +130033,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -121610,6 +130072,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -122192,6 +130657,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -122244,6 +130710,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -122260,6 +130729,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -122313,6 +130783,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -122365,6 +130838,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -122654,7 +131215,8 @@ "on", "paths", "start", - "type" + "type", + "units" ], "properties": { "type": { @@ -122698,6 +131260,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -123324,6 +131889,7 @@ } }, "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", @@ -123344,6 +131910,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -123396,6 +131963,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -123412,6 +131982,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -123465,6 +132036,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -123517,6 +132091,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -123542,6 +132204,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -123589,6 +132252,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -123791,7 +132457,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -123829,6 +132496,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -124060,7 +132730,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -124098,6 +132769,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -124702,6 +133376,7 @@ } }, "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", @@ -124722,6 +133397,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -124774,6 +133450,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -124790,6 +133469,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -124843,6 +133523,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -124895,6 +133578,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -124920,6 +133691,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -124967,6 +133739,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -125433,6 +134208,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -125486,6 +134262,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -125735,6 +134514,7 @@ } }, "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", @@ -125752,7 +134532,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -125790,6 +134571,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -126372,6 +135156,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -126424,6 +135209,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -126440,6 +135228,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -126493,6 +135282,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -126545,6 +135337,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -126570,6 +135450,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -126617,6 +135498,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -126848,6 +135732,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -126895,6 +135780,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -127122,6 +136010,7 @@ } }, "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", @@ -127139,7 +136028,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -127177,6 +136067,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -127759,6 +136652,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -127811,6 +136705,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -127827,6 +136724,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -127880,6 +136778,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -127932,6 +136833,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -128205,6 +137194,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -128258,6 +137248,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -128507,6 +137500,7 @@ } }, "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", @@ -128524,7 +137518,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -128562,6 +137557,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -129144,6 +138142,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -129196,6 +138195,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -129212,6 +138214,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -129265,6 +138268,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -129317,6 +138323,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -129342,6 +138436,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -129389,6 +138484,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -129620,6 +138718,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -129667,6 +138766,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -129894,6 +138996,7 @@ } }, "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", @@ -129911,7 +139014,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -129949,6 +139053,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -130531,6 +139638,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -130583,6 +139691,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -130599,6 +139710,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -130652,6 +139764,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -130704,6 +139819,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -130982,7 +140185,8 @@ "on", "paths", "start", - "type" + "type", + "units" ], "properties": { "type": { @@ -131026,6 +140230,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -131652,6 +140859,7 @@ } }, "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", @@ -131672,6 +140880,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -131724,6 +140933,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -131740,6 +140952,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -131793,6 +141006,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -131845,6 +141061,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -131870,6 +141174,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -131917,6 +141222,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -132119,7 +141427,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -132157,6 +141466,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -132388,7 +141700,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -132426,6 +141739,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -133030,6 +142346,7 @@ } }, "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", @@ -133050,6 +142367,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -133102,6 +142420,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -133118,6 +142439,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -133171,6 +142493,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -133223,6 +142548,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -133248,6 +142661,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -133295,6 +142709,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -133862,6 +143279,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -133914,6 +143332,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -133930,6 +143351,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -133983,6 +143405,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -134035,6 +143460,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -134053,6 +143566,7 @@ } }, "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", @@ -134070,6 +143584,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -134117,6 +143632,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -134351,7 +143869,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -134389,6 +143908,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -135186,6 +144708,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -135238,6 +144761,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -135254,6 +144780,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -135307,6 +144834,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -135359,6 +144889,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -135377,6 +144995,7 @@ } }, "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", @@ -135394,6 +145013,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -135441,6 +145061,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -135675,7 +145298,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -135713,6 +145337,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -136500,7 +146127,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -136538,6 +146166,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -137142,6 +146773,7 @@ } }, "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", @@ -137162,6 +146794,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -137214,6 +146847,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -137230,6 +146866,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -137283,6 +146920,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -137335,6 +146975,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -137360,6 +147088,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -137407,6 +147136,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -137609,7 +147341,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -137647,6 +147380,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -138143,17 +147879,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -138162,66 +147891,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -138230,52 +147909,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -138319,13 +147954,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -138336,56 +147966,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -138411,13 +147993,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -138429,29 +148006,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -138586,6 +148141,7 @@ } }, "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", @@ -139412,6 +148968,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -139454,6 +149075,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -139462,6 +149237,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -139509,6 +149285,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -139526,7 +149305,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -139564,6 +149344,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -139584,6 +149367,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -139636,6 +149420,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -139652,6 +149439,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -139705,6 +149493,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -139874,6 +149665,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -140217,17 +150050,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -140236,66 +150062,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -140304,52 +150080,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -140393,13 +150125,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -140410,56 +150137,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -140485,13 +150164,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -140503,29 +150177,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -140660,6 +150312,7 @@ } }, "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", @@ -140929,17 +150582,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -140948,66 +150594,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -141016,52 +150612,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -141105,13 +150657,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -141122,56 +150669,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -141197,13 +150696,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -141215,29 +150709,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -142171,6 +151643,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -142213,6 +151750,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -142221,6 +151912,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -142268,6 +151960,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -142285,7 +151980,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -142323,6 +152019,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -142343,6 +152042,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -142395,6 +152095,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -142411,6 +152114,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -142464,6 +152168,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -142633,6 +152340,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -142787,7 +152536,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -142825,6 +152575,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -143429,6 +153182,7 @@ } }, "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", @@ -143449,6 +153203,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -143501,6 +153256,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -143517,6 +153275,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -143570,6 +153329,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -143622,6 +153384,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -143647,6 +153497,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -143694,6 +153545,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -143896,7 +153750,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -143934,6 +153789,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -144189,7 +154047,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -144227,6 +154086,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -144831,6 +154693,7 @@ } }, "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", @@ -144851,6 +154714,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -144903,6 +154767,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -144919,6 +154786,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -144972,6 +154840,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -145024,6 +154895,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -145049,6 +155008,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -145096,6 +155056,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -145298,7 +155261,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -145336,6 +155300,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -145586,7 +155553,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -145624,6 +155592,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -146228,6 +156199,7 @@ } }, "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", @@ -146248,6 +156220,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -146300,6 +156273,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -146316,6 +156292,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -146369,6 +156346,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -146421,6 +156401,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -146446,6 +156514,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -146493,6 +156562,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -146695,7 +156767,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -146733,6 +156806,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -147241,17 +157317,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -147260,66 +157329,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -147328,52 +157347,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -147417,13 +157392,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -147434,56 +157404,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -147509,13 +157431,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -147527,29 +157444,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -147684,6 +157579,7 @@ } }, "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", @@ -148510,6 +158406,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -148552,6 +158513,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -148560,6 +158675,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -148607,6 +158723,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -148624,7 +158743,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -148662,6 +158782,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -148682,6 +158805,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -148734,6 +158858,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -148750,6 +158877,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -148803,6 +158931,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -148972,6 +159103,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -149313,17 +159486,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -149332,66 +159498,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -149400,52 +159516,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -149489,13 +159561,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -149506,56 +159573,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -149581,13 +159600,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -149599,29 +159613,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -149998,17 +159990,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -150017,66 +160002,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -150085,52 +160020,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -150174,13 +160065,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -150191,56 +160077,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -150266,13 +160104,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -150284,29 +160117,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -150441,6 +160252,7 @@ } }, "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", @@ -151267,6 +161079,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -151309,6 +161186,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -151317,6 +161348,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -151364,6 +161396,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -151381,7 +161416,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -151419,6 +161455,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -151439,6 +161478,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -151491,6 +161531,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -151507,6 +161550,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -151560,6 +161604,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -151729,6 +161776,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -152071,17 +162160,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -152090,66 +162172,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -152158,52 +162190,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -152247,13 +162235,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -152264,56 +162247,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -152339,13 +162274,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -152357,29 +162287,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -152514,6 +162422,7 @@ } }, "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", @@ -152783,17 +162692,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -152802,66 +162704,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -152870,52 +162722,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -152959,13 +162767,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -152976,56 +162779,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -153051,13 +162806,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -153069,29 +162819,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -154025,6 +163753,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -154067,6 +163860,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -154075,6 +164022,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -154122,6 +164070,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -154139,7 +164090,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -154177,6 +164129,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -154197,6 +164152,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -154249,6 +164205,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -154265,6 +164224,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -154318,6 +164278,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -154487,6 +164450,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -154847,17 +164852,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -154866,66 +164864,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -154934,52 +164882,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -155023,13 +164927,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -155040,56 +164939,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -155115,13 +164966,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -155133,29 +164979,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -155290,6 +165114,7 @@ } }, "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", @@ -156116,6 +165941,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -156158,6 +166048,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -156166,6 +166210,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -156213,6 +166258,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -156230,7 +166278,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -156268,6 +166317,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -156288,6 +166340,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -156340,6 +166393,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -156356,6 +166412,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -156409,6 +166466,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -156578,6 +166638,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -156919,17 +167021,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -156938,66 +167033,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -157006,52 +167051,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -157095,13 +167096,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -157112,56 +167108,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -157187,13 +167135,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -157205,29 +167148,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -157604,17 +167525,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -157623,66 +167537,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -157691,52 +167555,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -157780,13 +167600,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -157797,56 +167612,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -157872,13 +167639,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -157890,29 +167652,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -158047,6 +167787,7 @@ } }, "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", @@ -158873,6 +168614,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -158915,6 +168721,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -158923,6 +168883,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -158970,6 +168931,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -158987,7 +168951,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -159025,6 +168990,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -159045,6 +169013,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -159097,6 +169066,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -159113,6 +169085,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -159166,6 +169139,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -159335,6 +169311,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -159679,17 +169697,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -159698,66 +169709,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -159766,52 +169727,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -159855,13 +169772,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -159872,56 +169784,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -159947,13 +169811,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -159965,29 +169824,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -160122,6 +169959,7 @@ } }, "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", @@ -160948,6 +170786,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -160990,6 +170893,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -160998,6 +171055,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -161045,6 +171103,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -161062,7 +171123,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -161100,6 +171162,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -161120,6 +171185,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -161172,6 +171238,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -161188,6 +171257,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -161241,6 +171311,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -161410,6 +171483,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -161752,17 +171867,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -161771,66 +171879,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -161839,52 +171897,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -161928,13 +171942,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -161945,56 +171954,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -162020,13 +171981,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -162038,29 +171994,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -162195,6 +172129,7 @@ } }, "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", @@ -162464,17 +172399,10 @@ } }, { - "description": "A plane.", "type": "object", "required": [ - "__meta", - "id", - "origin", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -162483,66 +172411,16 @@ "Plane" ] }, - "id": { - "description": "The id of the plane.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Plane" } } }, { - "description": "A face.", "type": "object", "required": [ - "__meta", - "id", - "solid", "type", - "value", - "xAxis", - "yAxis", - "zAxis" + "value" ], "properties": { "type": { @@ -162551,52 +172429,8 @@ "Face" ] }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "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" - } - ] - }, - "zAxis": { - "description": "The z-axis (normal).", - "allOf": [ - { - "$ref": "#/components/schemas/Point3d" - } - ] - }, - "solid": { - "description": "The solid the face is on.", - "allOf": [ - { - "$ref": "#/components/schemas/Solid" - } - ] - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Face" } } }, @@ -162640,13 +172474,8 @@ } }, { - "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ - "__meta", - "height", - "id", - "sketch", "type", "value" ], @@ -162657,56 +172486,8 @@ "Solid" ] }, - "id": { - "description": "The id of the solid.", - "type": "string", - "format": "uuid" - }, "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" - } - }, - "__meta": { - "description": "Metadata.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Solid" } } }, @@ -162732,13 +172513,8 @@ } }, { - "description": "A helix.", "type": "object", "required": [ - "__meta", - "angleStart", - "ccw", - "revolutions", "type", "value" ], @@ -162750,29 +172526,7 @@ ] }, "value": { - "description": "The id of the helix.", - "type": "string", - "format": "uuid" - }, - "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" - }, - "__meta": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metadata" - } + "$ref": "#/components/schemas/Helix" } } }, @@ -163706,6 +173460,71 @@ } ] }, + "Plane": { + "description": "A plane.", + "type": "object", + "required": [ + "__meta", + "id", + "origin", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the plane.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "PlaneType": { "description": "Type for a plane.", "oneOf": [ @@ -163748,6 +173567,160 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, + "Face": { + "description": "A face.", + "type": "object", + "required": [ + "__meta", + "id", + "solid", + "units", + "value", + "xAxis", + "yAxis", + "zAxis" + ], + "properties": { + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "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" + } + ] + }, + "zAxis": { + "description": "The z-axis (normal).", + "allOf": [ + { + "$ref": "#/components/schemas/Point3d" + } + ] + }, + "solid": { + "description": "The solid the face is on.", + "allOf": [ + { + "$ref": "#/components/schemas/Solid" + } + ] + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -163756,6 +173729,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -163803,6 +173777,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -163820,7 +173797,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -163858,6 +173836,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -163878,6 +173859,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -163930,6 +173912,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -163946,6 +173931,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -163999,6 +173985,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -164168,6 +174157,48 @@ } ] }, + "Helix": { + "description": "A helix.", + "type": "object", + "required": [ + "__meta", + "angleStart", + "ccw", + "revolutions", + "units", + "value" + ], + "properties": { + "value": { + "description": "The id of the helix.", + "type": "string", + "format": "uuid" + }, + "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" + }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, + "__meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metadata" + } + } + } + }, "ProgramMemory": { "type": "object", "required": [ @@ -165120,6 +175151,7 @@ } }, "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", @@ -165349,7 +175381,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -165387,6 +175420,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -166165,6 +176201,7 @@ } }, "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", @@ -166387,6 +176424,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -166439,6 +176477,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -166455,6 +176496,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -166508,6 +176550,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -166560,6 +176605,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -166568,6 +176701,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -166615,6 +176749,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -166632,7 +176769,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -166670,6 +176808,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -166831,6 +176972,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -166878,6 +177020,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -167105,6 +177250,7 @@ } }, "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", @@ -167122,7 +177268,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -167160,6 +177307,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -167742,6 +177892,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -167794,6 +177945,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -167810,6 +177964,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -167863,6 +178018,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -167915,6 +178073,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -167940,6 +178186,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -167987,6 +178234,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -168922,6 +179172,7 @@ } }, "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", @@ -169828,6 +180079,7 @@ } }, "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", @@ -170739,6 +180991,7 @@ } }, "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", @@ -171645,6 +181898,7 @@ } }, "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", @@ -172551,6 +182805,7 @@ } }, "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", @@ -173457,6 +183712,7 @@ } }, "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", @@ -174368,6 +184624,7 @@ } }, "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", @@ -175274,6 +185531,7 @@ } }, "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", @@ -176236,6 +186494,7 @@ } }, "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", @@ -176469,6 +186728,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -176522,6 +186782,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -177246,6 +187509,7 @@ } }, "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", @@ -177465,7 +187729,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -177503,6 +187768,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -177523,6 +187791,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -177575,6 +187844,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -177591,6 +187863,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -177644,6 +187917,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -177696,6 +187972,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Solid": { "description": "An solid is a collection of extrude surfaces.", "type": "object", @@ -177704,6 +188068,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -177751,6 +188116,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -177916,6 +188284,7 @@ "id", "sketch", "type", + "units", "value" ], "properties": { @@ -177969,6 +188338,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -178218,6 +188590,7 @@ } }, "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", @@ -178235,7 +188608,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -178273,6 +188647,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -178855,6 +189232,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -178907,6 +189285,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -178923,6 +189304,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -178976,6 +189358,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -179028,6 +189413,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -179053,6 +189526,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -179100,6 +189574,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -179443,6 +189920,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -179495,6 +189973,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -179511,6 +189992,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -179564,6 +190046,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -179616,6 +190101,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -179634,6 +190207,7 @@ } }, "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", @@ -179651,6 +190225,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -179698,6 +190273,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -179932,7 +190510,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -179970,6 +190549,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -180552,6 +191134,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -180604,6 +191187,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -180620,6 +191206,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -180673,6 +191260,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -180940,6 +191530,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -180958,6 +191636,7 @@ } }, "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", @@ -180975,6 +191654,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -181022,6 +191702,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -181256,7 +191939,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -181294,6 +191978,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -181876,6 +192563,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -181928,6 +192616,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -181944,6 +192635,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -181997,6 +192689,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -182223,7 +192918,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -182261,6 +192957,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -182865,6 +193564,7 @@ } }, "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", @@ -182885,6 +193585,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -182937,6 +193638,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -182953,6 +193657,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -183006,6 +193711,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -183058,6 +193766,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -183083,6 +193879,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -183130,6 +193927,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -183332,7 +194132,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -183370,6 +194171,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -183627,7 +194431,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -183665,6 +194470,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -184269,6 +195077,7 @@ } }, "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", @@ -184289,6 +195098,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -184341,6 +195151,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -184357,6 +195170,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -184410,6 +195224,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -184462,6 +195279,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -184487,6 +195392,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -184534,6 +195440,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -184736,7 +195645,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -184774,6 +195684,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -185148,6 +196061,7 @@ "__meta", "id", "origin", + "units", "value", "xAxis", "yAxis", @@ -185194,6 +196108,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -185222,6 +196139,94 @@ } ] }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -185240,6 +196245,7 @@ } }, "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", @@ -185257,6 +196263,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -185304,6 +196311,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -185538,7 +196548,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -185576,6 +196587,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -186158,6 +197172,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -186210,6 +197225,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -186226,6 +197244,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -186279,6 +197298,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -186633,6 +197655,7 @@ "__meta", "id", "origin", + "units", "value", "xAxis", "yAxis", @@ -186679,6 +197702,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -186707,6 +197733,94 @@ } ] }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -186725,6 +197839,7 @@ } }, "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", @@ -186742,6 +197857,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -186789,6 +197905,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -187023,7 +198142,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -187061,6 +198181,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -187643,6 +198766,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -187695,6 +198819,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -187711,6 +198838,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -187764,6 +198892,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -188027,6 +199158,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -188079,6 +199211,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -188095,6 +199230,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -188148,6 +199284,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -188200,6 +199339,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -188218,6 +199445,7 @@ } }, "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", @@ -188235,6 +199463,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -188282,6 +199511,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -188516,7 +199748,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -188554,6 +199787,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -189136,6 +200372,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -189188,6 +200425,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -189204,6 +200444,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -189257,6 +200498,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -189538,7 +200782,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -189576,6 +200821,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -190180,6 +201428,7 @@ } }, "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", @@ -190200,6 +201449,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -190252,6 +201502,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -190268,6 +201521,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -190321,6 +201575,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -190373,6 +201630,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -190398,6 +201743,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -190445,6 +201791,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -190844,6 +202193,7 @@ "angleStart", "ccw", "revolutions", + "units", "value" ], "properties": { @@ -190866,6 +202216,9 @@ "description": "Is the helix rotation counter clockwise?", "type": "boolean" }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -190892,7 +202245,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -190930,6 +202284,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -190958,7 +202315,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -190996,6 +202354,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -191600,6 +202961,7 @@ } }, "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", @@ -191620,6 +202982,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -191672,6 +203035,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -191688,6 +203054,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -191741,6 +203108,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -191793,6 +203163,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -191818,6 +203276,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -191865,6 +203324,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -192264,6 +203726,7 @@ "angleStart", "ccw", "revolutions", + "units", "value" ], "properties": { @@ -192286,6 +203749,9 @@ "description": "Is the helix rotation counter clockwise?", "type": "boolean" }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -192313,6 +203779,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -192360,6 +203827,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -192587,6 +204057,7 @@ } }, "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", @@ -192604,7 +204075,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -192642,6 +204114,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -193224,6 +204699,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -193276,6 +204752,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -193292,6 +204771,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -193345,6 +204825,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -193397,6 +204880,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -193422,6 +204993,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -193469,6 +205041,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -194398,6 +205973,7 @@ } }, "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", @@ -194689,7 +206265,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -194727,6 +206304,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -195331,6 +206911,7 @@ } }, "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", @@ -195351,6 +206932,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -195403,6 +206985,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -195419,6 +207004,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -195472,6 +207058,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -195524,6 +207113,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -195549,6 +207226,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -195596,6 +207274,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -195798,7 +207479,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -195836,6 +207518,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -196655,6 +208340,7 @@ } }, "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", @@ -196675,6 +208361,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -196727,6 +208414,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -196743,6 +208433,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -196796,6 +208487,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -196848,6 +208542,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -196873,6 +208655,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -196920,6 +208703,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -197122,7 +208908,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -197160,6 +208947,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -197385,7 +209175,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -197423,6 +209214,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -198027,6 +209821,7 @@ } }, "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", @@ -198047,6 +209842,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -198099,6 +209895,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -198115,6 +209914,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -198168,6 +209968,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -198220,6 +210023,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -198245,6 +210136,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -198292,6 +210184,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -198494,7 +210389,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -198532,6 +210428,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -198786,7 +210685,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -198824,6 +210724,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -199428,6 +211331,7 @@ } }, "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", @@ -199448,6 +211352,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -199500,6 +211405,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -199516,6 +211424,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -199569,6 +211478,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -199621,6 +211533,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -199646,6 +211646,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -199693,6 +211694,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -199895,7 +211899,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -199933,6 +211938,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -200752,6 +212760,7 @@ } }, "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", @@ -200772,6 +212781,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -200824,6 +212834,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -200840,6 +212853,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -200893,6 +212907,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -200945,6 +212962,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -200970,6 +213075,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -201017,6 +213123,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -201219,7 +213328,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -201257,6 +213367,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -201482,7 +213595,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -201520,6 +213634,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -202124,6 +214241,7 @@ } }, "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", @@ -202144,6 +214262,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -202196,6 +214315,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -202212,6 +214334,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -202265,6 +214388,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -202317,6 +214443,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -202342,6 +214556,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -202389,6 +214604,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -202591,7 +214809,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -202629,6 +214848,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -202883,7 +215105,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -202921,6 +215144,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -203525,6 +215751,7 @@ } }, "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", @@ -203545,6 +215772,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -203597,6 +215825,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -203613,6 +215844,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -203666,6 +215898,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -203718,6 +215953,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -203743,6 +216066,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -203790,6 +216114,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -203992,7 +216319,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -204030,6 +216358,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -204849,6 +217180,7 @@ } }, "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", @@ -204869,6 +217201,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -204921,6 +217254,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -204937,6 +217273,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -204990,6 +217327,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -205042,6 +217382,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -205067,6 +217495,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -205114,6 +217543,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -205316,7 +217748,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -205354,6 +217787,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -205579,7 +218015,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -205617,6 +218054,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -206221,6 +218661,7 @@ } }, "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", @@ -206241,6 +218682,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -206293,6 +218735,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -206309,6 +218754,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -206362,6 +218808,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -206414,6 +218863,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -206439,6 +218976,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -206486,6 +219024,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -206688,7 +219229,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -206726,6 +219268,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -207082,7 +219627,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -207120,6 +219666,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -207724,6 +220273,7 @@ } }, "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", @@ -207744,6 +220294,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -207796,6 +220347,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -207812,6 +220366,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -207865,6 +220420,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -207917,6 +220475,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -207942,6 +220588,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -207989,6 +220636,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -208191,7 +220841,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -208229,6 +220880,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -209048,6 +221702,7 @@ } }, "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", @@ -209068,6 +221723,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -209120,6 +221776,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -209136,6 +221795,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -209189,6 +221849,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -209241,6 +221904,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -209266,6 +222017,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -209313,6 +222065,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -209515,7 +222270,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -209553,6 +222309,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -209778,7 +222537,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -209816,6 +222576,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -210420,6 +223183,7 @@ } }, "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", @@ -210440,6 +223204,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -210492,6 +223257,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -210508,6 +223276,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -210561,6 +223330,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -210613,6 +223385,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -210638,6 +223498,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -210685,6 +223546,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -210887,7 +223751,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -210925,6 +223790,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -211174,7 +224042,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -211212,6 +224081,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -211816,6 +224688,7 @@ } }, "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", @@ -211836,6 +224709,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -211888,6 +224762,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -211904,6 +224781,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -211957,6 +224835,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -212009,6 +224890,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -212034,6 +225003,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -212081,6 +225051,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -212283,7 +225256,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -212321,6 +225295,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -213140,6 +226117,7 @@ } }, "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", @@ -213160,6 +226138,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -213212,6 +226191,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -213228,6 +226210,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -213281,6 +226264,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -213333,6 +226319,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -213358,6 +226432,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -213405,6 +226480,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -213607,7 +226685,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -213645,6 +226724,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -213870,7 +226952,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -213908,6 +226991,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -214512,6 +227598,7 @@ } }, "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", @@ -214532,6 +227619,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -214584,6 +227672,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -214600,6 +227691,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -214653,6 +227745,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -214705,6 +227800,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -214730,6 +227913,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -214777,6 +227961,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -214979,7 +228166,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -215017,6 +228205,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -215266,7 +228457,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -215304,6 +228496,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -215908,6 +229103,7 @@ } }, "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", @@ -215928,6 +229124,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -215980,6 +229177,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -215996,6 +229196,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -216049,6 +229250,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -216101,6 +229305,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -216126,6 +229418,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -216173,6 +229466,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -216375,7 +229671,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -216413,6 +229710,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -217232,6 +230532,7 @@ } }, "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", @@ -217252,6 +230553,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -217304,6 +230606,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -217320,6 +230625,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -217373,6 +230679,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -217425,6 +230734,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -217450,6 +230847,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -217497,6 +230895,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -217699,7 +231100,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -217737,6 +231139,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -217962,7 +231367,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -218000,6 +231406,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -218604,6 +232013,7 @@ } }, "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", @@ -218624,6 +232034,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -218676,6 +232087,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -218692,6 +232106,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -218745,6 +232160,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -218797,6 +232215,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -218822,6 +232328,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -218869,6 +232376,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -219071,7 +232581,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -219109,6 +232620,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -219358,7 +232872,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -219396,6 +232911,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -220000,6 +233518,7 @@ } }, "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", @@ -220020,6 +233539,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -220072,6 +233592,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -220088,6 +233611,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -220141,6 +233665,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -220193,6 +233720,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -220218,6 +233833,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -220265,6 +233881,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -220467,7 +234086,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -220505,6 +234125,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -221324,6 +234947,7 @@ } }, "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", @@ -221344,6 +234968,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -221396,6 +235021,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -221412,6 +235040,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -221465,6 +235094,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -221517,6 +235149,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -221542,6 +235262,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -221589,6 +235310,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -221791,7 +235515,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -221829,6 +235554,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -222054,7 +235782,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -222092,6 +235821,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -222696,6 +236428,7 @@ } }, "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", @@ -222716,6 +236449,7 @@ "id", "origin", "type", + "units", "value", "xAxis", "yAxis", @@ -222768,6 +236502,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -222784,6 +236521,7 @@ "id", "solid", "type", + "units", "value", "xAxis", "yAxis", @@ -222837,6 +236575,9 @@ } ] }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "type": "array", "items": { @@ -222889,6 +236630,94 @@ } } }, + "UnitLen": { + "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" + ] + } + } + } + ] + }, "Metadata": { "description": "Metadata.", "type": "object", @@ -222914,6 +236743,7 @@ "height", "id", "sketch", + "units", "value" ], "properties": { @@ -222961,6 +236791,9 @@ "$ref": "#/components/schemas/EdgeCut" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", @@ -223163,7 +236996,8 @@ "id", "on", "paths", - "start" + "start", + "units" ], "properties": { "id": { @@ -223201,6 +237035,9 @@ "$ref": "#/components/schemas/TagIdentifier" } }, + "units": { + "$ref": "#/components/schemas/UnitLen" + }, "__meta": { "description": "Metadata.", "type": "array", diff --git a/docs/kcl/types/Face.md b/docs/kcl/types/Face.md new file mode 100644 index 000000000..e82b8efb7 --- /dev/null +++ b/docs/kcl/types/Face.md @@ -0,0 +1,28 @@ +--- +title: "Face" +excerpt: "A face." +layout: manual +--- + +A face. + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `id` |`string`| The id of the face. | No | +| `value` |`string`| The tag of the face. | No | +| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s X axis be? | No | +| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s Y axis be? | No | +| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | +| `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A face. | No | +| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | + + diff --git a/docs/kcl/types/Helix.md b/docs/kcl/types/Helix.md index 89fc05e77..60dc3c3b7 100644 --- a/docs/kcl/types/Helix.md +++ b/docs/kcl/types/Helix.md @@ -20,6 +20,7 @@ A helix. | `revolutions` |`number`| Number of revolutions. | No | | `angleStart` |`number`| Start angle (in degrees). | No | | `ccw` |`boolean`| Is the helix rotation counter clockwise? | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A helix. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | diff --git a/docs/kcl/types/HelixValue.md b/docs/kcl/types/HelixValue.md index d9e857d0f..5b4acc877 100644 --- a/docs/kcl/types/HelixValue.md +++ b/docs/kcl/types/HelixValue.md @@ -20,6 +20,7 @@ A helix. | `revolutions` |`number`| Number of revolutions. | No | | `angleStart` |`number`| Start angle (in degrees). | No | | `ccw` |`boolean`| Is the helix rotation counter clockwise? | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A helix. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | diff --git a/docs/kcl/types/KclValue.md b/docs/kcl/types/KclValue.md index c958945ce..f9476dd41 100644 --- a/docs/kcl/types/KclValue.md +++ b/docs/kcl/types/KclValue.md @@ -168,7 +168,6 @@ Any KCL value. ---- -A plane. **Type:** `object` @@ -181,17 +180,10 @@ A plane. | Property | Type | Description | Required | |----------|------|-------------|----------| | `type` |enum: [`Plane`](/docs/kcl/types/Plane)| | No | -| `id` |`string`| The id of the plane. | No | -| `value` |[`PlaneType`](/docs/kcl/types/PlaneType)| Any KCL value. | No | -| `origin` |[`Point3d`](/docs/kcl/types/Point3d)| Origin of the plane. | No | -| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s X axis be? | No | -| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s Y axis be? | No | -| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | -| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | +| `value` |[`Plane`](/docs/kcl/types/Plane)| Any KCL value. | No | ---- -A face. **Type:** `object` @@ -203,14 +195,8 @@ A face. | Property | Type | Description | Required | |----------|------|-------------|----------| -| `type` |enum: `Face`| | No | -| `id` |`string`| The id of the face. | No | -| `value` |`string`| The tag of the face. | No | -| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s X axis be? | No | -| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s Y axis be? | No | -| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | -| `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No | -| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | +| `type` |enum: [`Face`](/docs/kcl/types/Face)| | No | +| `value` |[`Face`](/docs/kcl/types/Face)| Any KCL value. | No | ---- @@ -246,7 +232,6 @@ A face. ---- -An solid is a collection of extrude surfaces. **Type:** `object` @@ -259,14 +244,7 @@ An solid is a collection of extrude surfaces. | Property | Type | Description | Required | |----------|------|-------------|----------| | `type` |enum: [`Solid`](/docs/kcl/types/Solid)| | No | -| `id` |`string`| The id of the solid. | No | -| `value` |`[` [`ExtrudeSurface`](/docs/kcl/types/ExtrudeSurface) `]`| The extrude surfaces. | No | -| `sketch` |[`Sketch`](/docs/kcl/types/Sketch)| The sketch. | No | -| `height` |`number`| The height of the solid. | No | -| `startCapId` |`string`| The id of the extrusion start cap | No | -| `endCapId` |`string`| The id of the extrusion end cap | No | -| `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No | -| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No | +| `value` |[`Solid`](/docs/kcl/types/Solid)| Any KCL value. | No | ---- @@ -286,7 +264,6 @@ An solid is a collection of extrude surfaces. ---- -A helix. **Type:** `object` @@ -299,11 +276,7 @@ A helix. | Property | Type | Description | Required | |----------|------|-------------|----------| | `type` |enum: [`Helix`](/docs/kcl/types/Helix)| | No | -| `value` |`string`| The id of the helix. | No | -| `revolutions` |`number`| Number of revolutions. | No | -| `angleStart` |`number`| Start angle (in degrees). | No | -| `ccw` |`boolean`| Is the helix rotation counter clockwise? | No | -| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | +| `value` |[`Helix`](/docs/kcl/types/Helix)| Any KCL value. | No | ---- diff --git a/docs/kcl/types/Plane.md b/docs/kcl/types/Plane.md index f1aa17aba..0168b5137 100644 --- a/docs/kcl/types/Plane.md +++ b/docs/kcl/types/Plane.md @@ -22,6 +22,7 @@ A plane. | `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s X axis be? | No | | `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s Y axis be? | No | | `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A plane. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | diff --git a/docs/kcl/types/Sketch.md b/docs/kcl/types/Sketch.md index e5889c2ed..18d580cde 100644 --- a/docs/kcl/types/Sketch.md +++ b/docs/kcl/types/Sketch.md @@ -21,6 +21,7 @@ A sketch is a collection of paths. | `on` |[`SketchSurface`](/docs/kcl/types/SketchSurface)| What the sketch is on (can be a plane or a face). | No | | `start` |[`BasePath`](/docs/kcl/types/BasePath)| The starting path. | No | | `tags` |`object`| Tag identifiers that have been declared in this sketch. | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A sketch is a collection of paths. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No | diff --git a/docs/kcl/types/SketchSet.md b/docs/kcl/types/SketchSet.md index c5f47636e..197501963 100644 --- a/docs/kcl/types/SketchSet.md +++ b/docs/kcl/types/SketchSet.md @@ -30,6 +30,7 @@ A sketch is a collection of paths. | `on` |[`SketchSurface`](/docs/kcl/types/SketchSurface)| What the sketch is on (can be a plane or a face). | No | | `start` |[`BasePath`](/docs/kcl/types/BasePath)| The starting path. | No | | `tags` |`object`| Tag identifiers that have been declared in this sketch. | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A sketch or a group of sketches. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No | diff --git a/docs/kcl/types/SketchSurface.md b/docs/kcl/types/SketchSurface.md index bfe592657..483ee3fee 100644 --- a/docs/kcl/types/SketchSurface.md +++ b/docs/kcl/types/SketchSurface.md @@ -31,6 +31,7 @@ A plane. | `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s X axis be? | No | | `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s Y axis be? | No | | `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A sketch type. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | @@ -54,6 +55,7 @@ A face. | `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s Y axis be? | No | | `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No | | `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A sketch type. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No | diff --git a/docs/kcl/types/Solid.md b/docs/kcl/types/Solid.md index e85be8b15..0d442095f 100644 --- a/docs/kcl/types/Solid.md +++ b/docs/kcl/types/Solid.md @@ -23,6 +23,7 @@ An solid is a collection of extrude surfaces. | `startCapId` |`string`| The id of the extrusion start cap | No | | `endCapId` |`string`| The id of the extrusion end cap | No | | `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| An solid is a collection of extrude surfaces. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No | diff --git a/docs/kcl/types/SolidSet.md b/docs/kcl/types/SolidSet.md index 802a4affe..78767703b 100644 --- a/docs/kcl/types/SolidSet.md +++ b/docs/kcl/types/SolidSet.md @@ -32,6 +32,7 @@ An solid is a collection of extrude surfaces. | `startCapId` |`string`| The id of the extrusion start cap | No | | `endCapId` |`string`| The id of the extrusion end cap | No | | `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No | +| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A solid or a group of solids. | No | | `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No | diff --git a/docs/kcl/types/UnitLen.md b/docs/kcl/types/UnitLen.md new file mode 100644 index 000000000..b7dc89f9e --- /dev/null +++ b/docs/kcl/types/UnitLen.md @@ -0,0 +1,107 @@ +--- +title: "UnitLen" +excerpt: "" +layout: manual +--- + + + + + + +**This schema accepts exactly one of the following:** + + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Mm`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Cm`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `M`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Inches`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Feet`| | No | + + +---- + +**Type:** `object` + + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `Yards`| | No | + + +---- + + + + diff --git a/e2e/playwright/code-pane-and-errors.spec.ts b/e2e/playwright/code-pane-and-errors.spec.ts index 0e8706c8e..7f2ffc95c 100644 --- a/e2e/playwright/code-pane-and-errors.spec.ts +++ b/e2e/playwright/code-pane-and-errors.spec.ts @@ -280,7 +280,7 @@ test( await expect(page.getByRole('link', { name: 'bracket' })).toBeVisible() await expect(page.getByText('router-template-slate')).toBeVisible() - await expect(page.getByText('New Project')).toBeVisible() + await expect(page.getByText('Create project')).toBeVisible() }) await test.step('Opening the router-template project should load', async () => { diff --git a/e2e/playwright/debug-pane.spec.ts b/e2e/playwright/debug-pane.spec.ts index 3d7cf111a..1b1a2bec5 100644 --- a/e2e/playwright/debug-pane.spec.ts +++ b/e2e/playwright/debug-pane.spec.ts @@ -38,14 +38,14 @@ test.describe('Debug pane', () => { // Set the code in the code editor. await u.codeLocator.click() await page.keyboard.type(code, { delay: 0 }) - // Scroll to the feature tree. + // Scroll to the artifact graph. await tree.scrollIntoViewIfNeeded() - // Expand the feature tree. - await tree.getByText('Feature Tree').click() + // Expand the artifact graph. + await tree.getByText('Artifact Graph').click() // Just expanded the details, making the element taller, so scroll again. await tree.getByText('Plane').first().scrollIntoViewIfNeeded() }) - // Extract the artifact IDs from the debug feature tree. + // Extract the artifact IDs from the debug artifact graph. const initialSegmentIds = await segment.innerText({ timeout: 5_000 }) // The artifact ID should include a UUID. expect(initialSegmentIds).toMatch( diff --git a/e2e/playwright/fixtures/cmdBarFixture.ts b/e2e/playwright/fixtures/cmdBarFixture.ts index 693d106fe..c37f79dc6 100644 --- a/e2e/playwright/fixtures/cmdBarFixture.ts +++ b/e2e/playwright/fixtures/cmdBarFixture.ts @@ -135,4 +135,20 @@ export class CmdBarFixture { await promptEditCommand.first().click() } } + + get cmdSearchInput() { + return this.page.getByTestId('cmd-bar-search') + } + + get argumentInput() { + return this.page.getByTestId('cmd-bar-arg-value') + } + + get cmdOptions() { + return this.page.getByTestId('cmd-bar-option') + } + + chooseCommand = async (commandName: string) => { + await this.cmdOptions.getByText(commandName).click() + } } diff --git a/e2e/playwright/fixtures/homePageFixture.ts b/e2e/playwright/fixtures/homePageFixture.ts index 0c38bf426..63b5c5ff2 100644 --- a/e2e/playwright/fixtures/homePageFixture.ts +++ b/e2e/playwright/fixtures/homePageFixture.ts @@ -103,7 +103,7 @@ export class HomePageFixture { .toEqual(expectedState) } - createAndGoToProject = async (projectTitle: string) => { + createAndGoToProject = async (projectTitle = 'project-$nnn') => { await expect(this.projectSection).not.toHaveText('Loading your Projects...') await this.projectButtonNew.click() await this.projectTextName.click() diff --git a/e2e/playwright/fixtures/toolbarFixture.ts b/e2e/playwright/fixtures/toolbarFixture.ts index 753f42649..103d9ece2 100644 --- a/e2e/playwright/fixtures/toolbarFixture.ts +++ b/e2e/playwright/fixtures/toolbarFixture.ts @@ -63,6 +63,10 @@ export class ToolbarFixture { this.exeIndicator = page.getByTestId('model-state-indicator-execution-done') } + get logoLink() { + return this.page.getByTestId('app-logo') + } + startSketchPlaneSelection = async () => doAndWaitForImageDiff(this.page, () => this.startSketchBtn.click(), 500) diff --git a/e2e/playwright/point-click.spec.ts b/e2e/playwright/point-click.spec.ts index daf5d83a4..76fbc60c1 100644 --- a/e2e/playwright/point-click.spec.ts +++ b/e2e/playwright/point-click.spec.ts @@ -963,37 +963,31 @@ sketch002 = startSketchOn('XZ') await toolbar.sweepButton.click() await cmdBar.expectState({ commandName: 'Sweep', - currentArgKey: 'profile', + currentArgKey: 'target', currentArgValue: '', headerArguments: { - Path: '', - Profile: '', + Target: '', + Trajectory: '', }, - highlightedHeaderArg: 'profile', + highlightedHeaderArg: 'target', stage: 'arguments', }) await clickOnSketch1() await cmdBar.expectState({ commandName: 'Sweep', - currentArgKey: 'path', + currentArgKey: 'trajectory', currentArgValue: '', headerArguments: { - Path: '', - Profile: '1 face', + Target: '1 face', + Trajectory: '', }, - highlightedHeaderArg: 'path', + highlightedHeaderArg: 'trajectory', stage: 'arguments', }) await clickOnSketch2() - await cmdBar.expectState({ - commandName: 'Sweep', - headerArguments: { - Path: '1 face', - Profile: '1 face', - }, - stage: 'review', - }) + await page.waitForTimeout(500) await cmdBar.progressCmdBar() + await page.waitForTimeout(500) }) await test.step(`Confirm code is added to the editor, scene has changed`, async () => { @@ -1020,6 +1014,75 @@ sketch002 = startSketchOn('XZ') }) }) +test(`Sweep point-and-click failing validation`, async ({ + context, + page, + homePage, + scene, + toolbar, + cmdBar, +}) => { + const initialCode = `sketch001 = startSketchOn('YZ') + |> circle({ + center = [0, 0], + radius = 500 + }, %) +sketch002 = startSketchOn('XZ') + |> startProfileAt([0, 0], %) + |> xLine(-500, %) + |> lineTo([-2000, 500], %) +` + await context.addInitScript((initialCode) => { + localStorage.setItem('persistCode', initialCode) + }, initialCode) + await page.setBodyDimensions({ width: 1000, height: 500 }) + await homePage.goToModelingScene() + await scene.waitForExecutionDone() + + // One dumb hardcoded screen pixel value + const testPoint = { x: 700, y: 250 } + const [clickOnSketch1] = scene.makeMouseHelpers(testPoint.x, testPoint.y) + const [clickOnSketch2] = scene.makeMouseHelpers(testPoint.x - 50, testPoint.y) + + await test.step(`Look for sketch001`, async () => { + await toolbar.closePane('code') + await scene.expectPixelColor([53, 53, 53], testPoint, 15) + }) + + await test.step(`Go through the command bar flow and fail validation with a toast`, async () => { + await toolbar.sweepButton.click() + await cmdBar.expectState({ + commandName: 'Sweep', + currentArgKey: 'target', + currentArgValue: '', + headerArguments: { + Target: '', + Trajectory: '', + }, + highlightedHeaderArg: 'target', + stage: 'arguments', + }) + await clickOnSketch1() + await cmdBar.expectState({ + commandName: 'Sweep', + currentArgKey: 'trajectory', + currentArgValue: '', + headerArguments: { + Target: '1 face', + Trajectory: '', + }, + highlightedHeaderArg: 'trajectory', + stage: 'arguments', + }) + await clickOnSketch2() + await page.waitForTimeout(500) + await cmdBar.progressCmdBar() + await expect( + page.getByText('Unable to sweep with the provided selection') + ).toBeVisible() + }) +}) + test(`Fillet point-and-click`, async ({ context, page, @@ -1503,6 +1566,7 @@ shellPointAndClickCapCases.forEach(({ shouldPreselect }) => { await clickOnCap() await page.waitForTimeout(500) await cmdBar.progressCmdBar() + await page.waitForTimeout(500) await cmdBar.progressCmdBar() await cmdBar.expectState({ stage: 'review', @@ -1523,6 +1587,7 @@ shellPointAndClickCapCases.forEach(({ shouldPreselect }) => { await test.step(`Go through the command bar flow with a preselected face (cap)`, async () => { await toolbar.shellButton.click() await cmdBar.progressCmdBar() + await page.waitForTimeout(500) await cmdBar.progressCmdBar() await cmdBar.expectState({ stage: 'review', @@ -1604,6 +1669,7 @@ extrude001 = extrude(40, sketch001) await page.waitForTimeout(500) await page.keyboard.up('Shift') await cmdBar.progressCmdBar() + await page.waitForTimeout(500) await cmdBar.progressCmdBar() await cmdBar.expectState({ stage: 'review', @@ -1727,3 +1793,61 @@ shellSketchOnFacesCases.forEach((initialCode, index) => { }) }) }) + +test(`Shell dry-run validation rejects sweeps`, async ({ + context, + page, + homePage, + scene, + editor, + toolbar, + cmdBar, +}) => { + const initialCode = `sketch001 = startSketchOn('YZ') + |> circle({ + center = [0, 0], + radius = 500 + }, %) +sketch002 = startSketchOn('XZ') + |> startProfileAt([0, 0], %) + |> xLine(-2000, %) +sweep001 = sweep({ path = sketch002 }, sketch001) +` + await context.addInitScript((initialCode) => { + localStorage.setItem('persistCode', initialCode) + }, initialCode) + await page.setBodyDimensions({ width: 1000, height: 500 }) + await homePage.goToModelingScene() + await scene.waitForExecutionDone() + + // One dumb hardcoded screen pixel value + const testPoint = { x: 500, y: 250 } + const [clickOnSweep] = scene.makeMouseHelpers(testPoint.x, testPoint.y) + + await test.step(`Confirm sweep exists`, async () => { + await toolbar.closePane('code') + await scene.expectPixelColor([231, 231, 231], testPoint, 15) + }) + + await test.step(`Go through the Shell flow and fail validation with a toast`, async () => { + await toolbar.shellButton.click() + await cmdBar.expectState({ + stage: 'arguments', + currentArgKey: 'selection', + currentArgValue: '', + headerArguments: { + Selection: '', + Thickness: '', + }, + highlightedHeaderArg: 'selection', + commandName: 'Shell', + }) + await clickOnSweep() + await page.waitForTimeout(500) + await cmdBar.progressCmdBar() + await expect( + page.getByText('Unable to shell with the provided selection') + ).toBeVisible() + await page.waitForTimeout(1000) + }) +}) diff --git a/e2e/playwright/projects.spec.ts b/e2e/playwright/projects.spec.ts index 38b832473..c4fb3ce2e 100644 --- a/e2e/playwright/projects.spec.ts +++ b/e2e/playwright/projects.spec.ts @@ -172,7 +172,7 @@ test( await expect(page.getByRole('link', { name: 'bracket' })).toBeVisible() await expect(page.getByText('broken-code')).toBeVisible() await expect(page.getByText('bracket')).toBeVisible() - await expect(page.getByText('New Project')).toBeVisible() + await expect(page.getByText('Create project')).toBeVisible() }) await test.step('opening broken code project should clear the scene and show the error', async () => { // Go back home. @@ -253,7 +253,7 @@ test( await expect(page.getByRole('link', { name: 'bracket' })).toBeVisible() await expect(page.getByText('empty')).toBeVisible() await expect(page.getByText('bracket')).toBeVisible() - await expect(page.getByText('New Project')).toBeVisible() + await expect(page.getByText('Create project')).toBeVisible() }) await test.step('opening empty code project should clear the scene', async () => { // Go back home. @@ -985,6 +985,126 @@ test.describe(`Project management commands`, () => { }) } ) + test(`Create a new project with a colliding name`, async ({ + context, + homePage, + toolbar, + cmdBar, + }) => { + const projectName = 'test-project' + await test.step(`Setup`, async () => { + await context.folderSetupFn(async (dir) => { + const projectDir = path.join(dir, projectName) + await Promise.all([fsp.mkdir(projectDir, { recursive: true })]) + await Promise.all([ + fsp.copyFile( + executorInputPath('router-template-slate.kcl'), + path.join(projectDir, 'main.kcl') + ), + ]) + }) + await homePage.expectState({ + projectCards: [ + { + title: projectName, + fileCount: 1, + }, + ], + sortBy: 'last-modified-desc', + }) + }) + + await test.step('Create a new project with the same name', async () => { + await cmdBar.openCmdBar() + await cmdBar.chooseCommand('create project') + await cmdBar.expectState({ + stage: 'arguments', + commandName: 'Create project', + currentArgKey: 'name', + currentArgValue: '', + headerArguments: { + Name: '', + }, + highlightedHeaderArg: 'name', + }) + await cmdBar.argumentInput.fill(projectName) + await cmdBar.progressCmdBar() + }) + + await test.step(`Check the project was created with a non-colliding name`, async () => { + await toolbar.logoLink.click() + await homePage.expectState({ + projectCards: [ + { + title: projectName + '-1', + fileCount: 1, + }, + { + title: projectName, + fileCount: 1, + }, + ], + sortBy: 'last-modified-desc', + }) + }) + + await test.step('Create another project with the same name', async () => { + await cmdBar.openCmdBar() + await cmdBar.chooseCommand('create project') + await cmdBar.expectState({ + stage: 'arguments', + commandName: 'Create project', + currentArgKey: 'name', + currentArgValue: '', + headerArguments: { + Name: '', + }, + highlightedHeaderArg: 'name', + }) + await cmdBar.argumentInput.fill(projectName) + await cmdBar.progressCmdBar() + }) + + await test.step(`Check the second project was created with a non-colliding name`, async () => { + await toolbar.logoLink.click() + await homePage.expectState({ + projectCards: [ + { + title: projectName + '-2', + fileCount: 1, + }, + { + title: projectName + '-1', + fileCount: 1, + }, + { + title: projectName, + fileCount: 1, + }, + ], + sortBy: 'last-modified-desc', + }) + }) + }) +}) + +test(`Create a few projects using the default project name`, async ({ + homePage, + toolbar, +}) => { + for (let i = 0; i < 12; i++) { + await test.step(`Create project ${i}`, async () => { + await homePage.expectState({ + projectCards: Array.from({ length: i }, (_, i) => ({ + title: `project-${i.toString().padStart(3, '0')}`, + fileCount: 1, + })).toReversed(), + sortBy: 'last-modified-desc', + }) + await homePage.createAndGoToProject() + await toolbar.logoLink.click() + }) + } }) test( @@ -1391,7 +1511,7 @@ extrude001 = extrude(200, sketch001)`) await page.getByTestId('app-logo').click() await expect( - page.getByRole('button', { name: 'New project' }) + page.getByRole('button', { name: 'Create project' }) ).toBeVisible() for (let i = 1; i <= 10; i++) { @@ -1465,7 +1585,7 @@ test( await expect(page.getByRole('link', { name: 'bracket' })).toBeVisible() await expect(page.getByText('router-template-slate')).toBeVisible() - await expect(page.getByText('New Project')).toBeVisible() + await expect(page.getByText('Create project')).toBeVisible() }) await test.step('Opening the router-template project should load the stream', async () => { @@ -1494,7 +1614,7 @@ test( await expect(page.getByRole('link', { name: 'bracket' })).toBeVisible() await expect(page.getByText('router-template-slate')).toBeVisible() - await expect(page.getByText('New Project')).toBeVisible() + await expect(page.getByText('Create project')).toBeVisible() }) } ) diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-1-Google-Chrome-linux.png index fa6944cb7..00ad5661d 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Inch-scale-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-1-Google-Chrome-linux.png index 036ca2ab2..a3ac15813 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Client-side-scene-scale-should-match-engine-scale-Millimeter-scale-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-2-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-2-Google-Chrome-linux.png index 2b2da82cf..d3b72914f 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-2-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/Draft-segments-should-look-right-2-Google-Chrome-linux.png differ diff --git a/e2e/playwright/test-utils.ts b/e2e/playwright/test-utils.ts index 01164207b..f91f0dbc7 100644 --- a/e2e/playwright/test-utils.ts +++ b/e2e/playwright/test-utils.ts @@ -1078,7 +1078,7 @@ export async function createProject({ returnHome?: boolean }) { await test.step(`Create project and navigate to it`, async () => { - await page.getByRole('button', { name: 'New project' }).click() + await page.getByRole('button', { name: 'Create project' }).click() await page.getByRole('textbox', { name: 'Name' }).fill(name) await page.getByRole('button', { name: 'Continue' }).click() diff --git a/package.json b/package.json index 50f9070b9..3054523a3 100644 --- a/package.json +++ b/package.json @@ -113,9 +113,9 @@ "test:unit": "vitest run --mode development --exclude **/kclSamples.test.ts", "test:unit:kcl-samples": "vitest run --mode development ./src/lang/kclSamples.test.ts", "test:playwright:electron": "playwright test --config=playwright.electron.config.ts --grep-invert='@snapshot'", - "test:playwright:electron:windows": "playwright test --config=playwright.electron.config.ts --grep-invert=\"@skipWin|@snapshot\"", - "test:playwright:electron:macos": "playwright test --config=playwright.electron.config.ts --grep-invert='@skipMacos|@snapshot'", - "test:playwright:electron:ubuntu": "playwright test --config=playwright.electron.config.ts --grep-invert='@skipLinux|@snapshot'", + "test:playwright:electron:windows": "playwright test --config=playwright.electron.config.ts --grep-invert=\"@skipWin|@snapshot\" --quiet", + "test:playwright:electron:macos": "playwright test --config=playwright.electron.config.ts --grep-invert='@skipMacos|@snapshot' --quiet", + "test:playwright:electron:ubuntu": "playwright test --config=playwright.electron.config.ts --grep-invert='@skipLinux|@snapshot' --quiet", "test:playwright:electron:local": "yarn tron:package && NODE_ENV=development playwright test --config=playwright.electron.config.ts --grep-invert='@snapshot'", "test:playwright:electron:windows:local": "yarn tron:package && NODE_ENV=development playwright test --config=playwright.electron.config.ts --grep-invert=\"@skipWin|@snapshot\"", "test:playwright:electron:macos:local": "yarn tron:package && NODE_ENV=development playwright test --config=playwright.electron.config.ts --grep-invert='@skipMacos|@snapshot'", @@ -154,7 +154,6 @@ "@playwright/test": "^1.49.0", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^15.0.2", - "@types/d3-force": "^3.0.10", "@types/diff": "^6.0.0", "@types/electron": "^1.6.10", "@types/isomorphic-fetch": "^0.0.39", @@ -175,7 +174,6 @@ "@vitest/web-worker": "^1.5.0", "@xstate/cli": "^0.5.17", "autoprefixer": "^10.4.19", - "d3-force": "^3.0.0", "electron": "32.1.2", "electron-builder": "24.13.3", "electron-notarize": "1.2.2", @@ -203,7 +201,7 @@ "ts-node": "^10.0.0", "typescript": "^5.7.3", "typescript-eslint": "^8.19.1", - "vite": "^5.4.6", + "vite": "^5.4.12", "vite-plugin-package-version": "^1.1.0", "vite-tsconfig-paths": "^4.3.2", "vitest": "^1.6.0", diff --git a/src/Router.tsx b/src/Router.tsx index 82d42762e..cd8ba8c4c 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -31,7 +31,6 @@ import { settingsLoader, telemetryLoader, } from 'lib/routeLoaders' -import { CommandBarProvider } from 'components/CommandBar/CommandBarProvider' import SettingsAuthProvider from 'components/SettingsAuthProvider' import LspProvider from 'components/LspProvider' import { KclContextProvider } from 'lang/KclProvider' @@ -58,23 +57,21 @@ const router = createRouter([ /* Make sure auth is the outermost provider or else we will have * inefficient re-renders, use the react profiler to see. */ element: ( - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + ), errorElement: , children: [ diff --git a/src/Toolbar.tsx b/src/Toolbar.tsx index e6e680721..4e0e8385b 100644 --- a/src/Toolbar.tsx +++ b/src/Toolbar.tsx @@ -1,8 +1,7 @@ -import { useRef, useMemo, memo } from 'react' +import { useRef, useMemo, memo, useCallback, useState } from 'react' import { isCursorInSketchCommandRange } from 'lang/util' import { engineCommandManager, kclManager } from 'lib/singletons' import { useModelingContext } from 'hooks/useModelingContext' -import { useCommandsContext } from 'hooks/useCommandsContext' import { useNetworkContext } from 'hooks/useNetworkContext' import { NetworkHealthState } from 'hooks/useNetworkStatus' import { ActionButton } from 'components/ActionButton' @@ -22,20 +21,19 @@ import { } from 'lib/toolbar' import { isDesktop } from 'lib/isDesktop' import { openExternalBrowserIfDesktop } from 'lib/openWindow' +import { commandBarActor } from 'machines/commandBarMachine' export function Toolbar({ className = '', ...props }: React.HTMLAttributes) { const { state, send, context } = useModelingContext() - const { commandBarSend } = useCommandsContext() const iconClassName = 'group-disabled:text-chalkboard-50 !text-inherit dark:group-enabled:group-hover:!text-inherit' const bgClassName = '!bg-transparent' const buttonBgClassName = 'bg-chalkboard-transparent dark:bg-transparent disabled:bg-transparent dark:disabled:bg-transparent enabled:hover:bg-chalkboard-10 dark:enabled:hover:bg-chalkboard-100 pressed:!bg-primary pressed:enabled:hover:!text-chalkboard-10' - const buttonBorderClassName = - '!border-transparent hover:!border-chalkboard-20 dark:enabled:hover:!border-primary pressed:!border-primary ui-open:!border-primary' + const buttonBorderClassName = '!border-transparent' const sketchPathId = useMemo(() => { if (!isSingleCursorInPipe(context.selectionRanges, kclManager.ast)) @@ -50,6 +48,7 @@ export function Toolbar({ const { overallState } = useNetworkContext() const { isExecuting } = useKclContext() const { isStreamReady } = useAppState() + const [showRichContent, setShowRichContent] = useState(false) const disableAllButtons = (overallState !== NetworkHealthState.Ok && @@ -71,12 +70,45 @@ export function Toolbar({ () => ({ modelingState: state, modelingSend: send, - commandBarSend, sketchPathId, }), - [state, send, commandBarSend, sketchPathId] + [state, send, commandBarActor.send, sketchPathId] ) + const tooltipContentClassName = !showRichContent + ? '' + : '!text-left text-wrap !text-xs !p-0 !pb-2 flex gap-2 !max-w-none !w-72 flex-col items-stretch' + const richContentTimeout = useRef(null) + const richContentClearTimeout = useRef(null) + // On mouse enter, show rich content after a 1s delay + const handleMouseEnter = useCallback(() => { + // Cancel the clear timeout if it's already set + if (richContentClearTimeout.current) { + clearTimeout(richContentClearTimeout.current) + } + // Start our own timeout to show the rich content + richContentTimeout.current = window.setTimeout(() => { + setShowRichContent(true) + if (richContentClearTimeout.current) { + clearTimeout(richContentClearTimeout.current) + } + }, 1000) + }, [setShowRichContent]) + // On mouse leave, clear the timeout and hide rich content + const handleMouseLeave = useCallback(() => { + // Clear the timeout to show rich content + if (richContentTimeout.current) { + clearTimeout(richContentTimeout.current) + } + // Start a timeout to hide the rich content + richContentClearTimeout.current = window.setTimeout(() => { + setShowRichContent(false) + if (richContentClearTimeout.current) { + clearTimeout(richContentClearTimeout.current) + } + }, 500) + }, [setShowRichContent]) + /** * Resolve all the callbacks and values for the current mode, * so we don't need to worry about the other modes @@ -174,43 +206,64 @@ export function Toolbar({ status: itemConfig.status, }))} > - - maybeIconConfig[0].onClick(configCallbackProps) - } +
- + maybeIconConfig[0].onClick(configCallbackProps) + } > - {maybeIconConfig[0].title} - - - + + {maybeIconConfig[0].title} + + + {showRichContent ? ( + + ) : ( + + )} + + +
) } @@ -218,7 +271,13 @@ export function Toolbar({ // A single button return ( -
+
+ contentClassName={tooltipContentClassName} + > + {showRichContent ? ( + + ) : ( + + )} +
) })} @@ -269,6 +339,12 @@ export function Toolbar({ ) } +interface ToolbarItemContentsProps extends React.PropsWithChildren { + itemConfig: ToolbarItemResolved + configCallbackProps: ToolbarItemCallbackProps + wrapperClassName?: string + contentClassName?: string +} /** * The single button and dropdown button share content, so we extract it here * It contains a tooltip with the title, description, and links @@ -277,12 +353,10 @@ export function Toolbar({ const ToolbarItemTooltip = memo(function ToolbarItemContents({ itemConfig, configCallbackProps, -}: { - itemConfig: ToolbarItemResolved - configCallbackProps: ToolbarItemCallbackProps -}) { - const { state } = useModelingContext() - + wrapperClassName = '', + contentClassName = '', + children, +}: ToolbarItemContentsProps) { useHotkeys( itemConfig.hotkey || '', () => { @@ -305,11 +379,50 @@ const ToolbarItemTooltip = memo(function ToolbarItemContents({ ? ({ '-webkit-app-region': 'no-drag' } as React.CSSProperties) : {} } + hoverOnly position="bottom" - wrapperClassName="!p-4 !pointer-events-auto" - contentClassName="!text-left text-wrap !text-xs !p-0 !pb-2 flex gap-2 !max-w-none !w-72 flex-col items-stretch" + wrapperClassName={'!p-4 !pointer-events-auto ' + wrapperClassName} + contentClassName={contentClassName} + delay={0} > + {children} + + ) +}) + +const ToolbarItemTooltipShortContent = ({ + status, + title, + hotkey, +}: { + status: string + title: string + hotkey?: string | string[] +}) => ( + + {title} + {hotkey && ( + {hotkey} + )} + +) + +const ToolbarItemTooltipRichContent = ({ + itemConfig, +}: { + itemConfig: ToolbarItemResolved +}) => { + const { state } = useModelingContext() + return ( + <>
+ {itemConfig.icon && ( + + )} )} - + ) -}) +} diff --git a/src/clientSideScene/ClientSideSceneComp.tsx b/src/clientSideScene/ClientSideSceneComp.tsx index 6d2bfebd9..5132b431f 100644 --- a/src/clientSideScene/ClientSideSceneComp.tsx +++ b/src/clientSideScene/ClientSideSceneComp.tsx @@ -25,13 +25,13 @@ import { CallExpression, PathToNode, Program, - SourceRange, Expr, parse, recast, defaultSourceRange, resultIsOk, ProgramMemory, + topLevelRange, } from 'lang/wasm' import { CustomIcon, CustomIconName } from 'components/CustomIcon' import { ConstrainInfo } from 'lang/std/stdTypes' @@ -46,8 +46,8 @@ import { } from 'lang/modifyAst' import { ActionButton } from 'components/ActionButton' import { err, reportRejection, trap } from 'lib/trap' -import { useCommandsContext } from 'hooks/useCommandsContext' import { Node } from 'wasm-lib/kcl/bindings/Node' +import { commandBarActor } from 'machines/commandBarMachine' function useShouldHideScene(): { hideClient: boolean; hideServer: boolean } { const [isCamMoving, setIsCamMoving] = useState(false) @@ -510,7 +510,6 @@ const ConstraintSymbol = ({ constrainInfo: ConstrainInfo verticalPosition: 'top' | 'bottom' }) => { - const { commandBarSend } = useCommandsContext() const { context } = useModelingContext() const varNameMap: { [key in ConstrainInfo['type']]: { @@ -600,8 +599,8 @@ const ConstraintSymbol = ({ if (err(_node)) return const node = _node.node - const range: SourceRange = node - ? [node.start, node.end, true] + const range = node + ? topLevelRange(node.start, node.end) : defaultSourceRange() if (_type === 'intersectionTag') return null @@ -630,7 +629,7 @@ const ConstraintSymbol = ({ // disabled={implicitDesc} TODO why does this change styles that are hard to override? onClick={toSync(async () => { if (!isConstrained) { - commandBarSend({ + commandBarActor.send({ type: 'Find and select command', data: { name: 'Constrain with named value', @@ -756,7 +755,6 @@ export const CamDebugSettings = () => { sceneInfra.camControls.reactCameraProperties ) const [fov, setFov] = useState(12) - const { commandBarSend } = useCommandsContext() useEffect(() => { sceneInfra.camControls.setReactCameraPropertiesCallback(setCamSettings) @@ -775,7 +773,7 @@ export const CamDebugSettings = () => { type="checkbox" checked={camSettings.type === 'perspective'} onChange={() => - commandBarSend({ + commandBarActor.send({ type: 'Find and select command', data: { groupId: 'settings', diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index b5544f8a8..66cd0b594 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -59,6 +59,7 @@ import { sourceRangeFromRust, resultIsOk, SourceRange, + topLevelRange, } from 'lang/wasm' import { calculate_circle_from_3_points } from '../wasm-lib/pkg/wasm_lib' import { @@ -628,7 +629,7 @@ export class SceneEntities { const startRange = _node1.node.start const endRange = _node1.node.end - const sourceRange: SourceRange = [startRange, endRange, true] + const sourceRange = topLevelRange(startRange, endRange) const selection: Selections = computeSelectionFromSourceRangeAndAST( sourceRange, maybeModdedAst @@ -1397,23 +1398,23 @@ export class SceneEntities { const arg0 = arg(kclCircle3PointArgs[0]) if (!arg0) return kclManager.ast - arg0[0].value = points[0].x + arg0[0].value = { value: points[0].x, suffix: 'None' } arg0[0].raw = points[0].x.toString() - arg0[1].value = points[0].y + arg0[1].value = { value: points[0].y, suffix: 'None' } arg0[1].raw = points[0].y.toString() const arg1 = arg(kclCircle3PointArgs[1]) if (!arg1) return kclManager.ast - arg1[0].value = points[1].x + arg1[0].value = { value: points[1].x, suffix: 'None' } arg1[0].raw = points[1].x.toString() - arg1[1].value = points[1].y + arg1[1].value = { value: points[1].y, suffix: 'None' } arg1[1].raw = points[1].y.toString() const arg2 = arg(kclCircle3PointArgs[2]) if (!arg2) return kclManager.ast - arg2[0].value = points[2].x + arg2[0].value = { value: points[2].x, suffix: 'None' } arg2[0].raw = points[2].x.toString() - arg2[1].value = points[2].y + arg2[1].value = { value: points[2].y, suffix: 'None' } arg2[1].raw = points[2].y.toString() const astSnapshot = structuredClone(kclManager.ast) @@ -2012,7 +2013,7 @@ export class SceneEntities { kclManager.programMemory, { type: 'sourceRange', - sourceRange: [node.start, node.end, true], + sourceRange: topLevelRange(node.start, node.end), }, getChangeSketchInput() ) @@ -2050,8 +2051,8 @@ export class SceneEntities { ) if (!(sk instanceof Reason)) { sketch = sk - } else if ((maybeSketch as Solid).sketch) { - sketch = (maybeSketch as Solid).sketch + } else if (maybeSketch && (maybeSketch.value as Solid)?.sketch) { + sketch = (maybeSketch.value as Solid).sketch } if (!sketch) return @@ -2263,7 +2264,7 @@ export class SceneEntities { ) if (trap(_node, { suppress: true })) return const node = _node.node - editorManager.setHighlightRange([[node.start, node.end, true]]) + editorManager.setHighlightRange([topLevelRange(node.start, node.end)]) const yellow = 0xffff00 colorSegment(selected, yellow) const extraSegmentGroup = parent.getObjectByName(EXTRA_SEGMENT_HANDLE) @@ -2540,7 +2541,7 @@ export function sketchFromPathToNode({ const varDec = _varDec.node const result = programMemory.get(varDec?.id?.name || '') if (result?.type === 'Solid') { - return result.sketch + return result.value.sketch } const sg = sketchFromKclValue(result, varDec?.id?.name) if (err(sg)) { diff --git a/src/clientSideScene/segments.ts b/src/clientSideScene/segments.ts index 0a152a62b..dfb3b6802 100644 --- a/src/clientSideScene/segments.ts +++ b/src/clientSideScene/segments.ts @@ -61,6 +61,7 @@ import { SegmentInputs } from 'lang/std/stdTypes' import { err } from 'lib/trap' import { editorManager, sceneInfra } from 'lib/singletons' import { Selections } from 'lib/selections' +import { commandBarActor } from 'machines/commandBarMachine' interface CreateSegmentArgs { input: SegmentInputs @@ -847,7 +848,7 @@ function createLengthIndicator({ }) // Command Bar - editorManager.commandBarSend({ + commandBarActor.send({ type: 'Find and select command', data: { name: 'Constrain length', diff --git a/src/components/ActionButtonDropdown.tsx b/src/components/ActionButtonDropdown.tsx index 21ee82f91..18973fb51 100644 --- a/src/components/ActionButtonDropdown.tsx +++ b/src/components/ActionButtonDropdown.tsx @@ -1,9 +1,11 @@ import { Popover } from '@headlessui/react' import { ActionButtonProps } from './ActionButton' import { CustomIcon } from './CustomIcon' +import Tooltip from './Tooltip' type ActionButtonSplitProps = ActionButtonProps & { Element: 'button' } & { name?: string + dropdownTooltipText?: string splitMenuItems: { id: string label: string @@ -17,6 +19,7 @@ type ActionButtonSplitProps = ActionButtonProps & { Element: 'button' } & { export function ActionButtonDropdown({ splitMenuItems, className, + dropdownTooltipText = 'More tools', children, ...props }: ActionButtonSplitProps) { @@ -26,7 +29,14 @@ export function ActionButtonDropdown({ {({ close }) => ( <> {children} - + {props.name ? props.name + ': ' : ''}open menu + + {dropdownTooltipText} + { - editorManager.setHighlightRange([[obj?.start || 0, obj.end, true]]) + editorManager.setHighlightRange([ + topLevelRange(obj?.start || 0, obj.end), + ]) e.stopPropagation() }} onMouseMove={(e) => { e.stopPropagation() - editorManager.setHighlightRange([[obj?.start || 0, obj.end, true]]) + editorManager.setHighlightRange([ + topLevelRange(obj?.start || 0, obj.end), + ]) }} onClick={(e) => { - const range: [number, number, boolean] = [ - obj?.start || 0, - obj.end || 0, - true, - ] + const range = topLevelRange(obj?.start || 0, obj.end || 0) const idInfo = codeToIdSelections([ { codeRef: codeRefFromRange(range, kclManager.ast) }, ])[0] diff --git a/src/components/CommandBar/CommandArgOptionInput.tsx b/src/components/CommandBar/CommandArgOptionInput.tsx index 0391ae479..990a31162 100644 --- a/src/components/CommandBar/CommandArgOptionInput.tsx +++ b/src/components/CommandBar/CommandArgOptionInput.tsx @@ -1,8 +1,8 @@ import { Combobox } from '@headlessui/react' import { useSelector } from '@xstate/react' import Fuse from 'fuse.js' -import { useCommandsContext } from 'hooks/useCommandsContext' import { CommandArgument, CommandArgumentOption } from 'lib/commandTypes' +import { commandBarActor, useCommandBarState } from 'machines/commandBarMachine' import { useEffect, useMemo, useRef, useState } from 'react' import { AnyStateMachine, StateFrom } from 'xstate' @@ -23,7 +23,7 @@ function CommandArgOptionInput({ placeholder?: string }) { const actorContext = useSelector(arg.machineActor, contextSelector) - const { commandBarSend, commandBarState } = useCommandsContext() + const commandBarState = useCommandBarState() const resolvedOptions = useMemo( () => typeof arg.options === 'function' @@ -134,6 +134,7 @@ function CommandArgOptionInput({ !event.target.disabled && setQuery(event.target.value) @@ -141,7 +142,7 @@ function CommandArgOptionInput({ className="flex-grow px-2 py-1 border-b border-b-chalkboard-100 dark:border-b-chalkboard-80 !bg-transparent focus:outline-none" onKeyDown={(event) => { if (event.metaKey && event.key === 'k') - commandBarSend({ type: 'Close' }) + commandBarActor.send({ type: 'Close' }) if (event.key === 'Backspace' && !event.currentTarget.value) { stepBack() } diff --git a/src/components/CommandBar/CommandBar.tsx b/src/components/CommandBar/CommandBar.tsx index b2a30a8b9..c9c819737 100644 --- a/src/components/CommandBar/CommandBar.tsx +++ b/src/components/CommandBar/CommandBar.tsx @@ -1,6 +1,5 @@ import { Dialog, Popover, Transition } from '@headlessui/react' import { Fragment, useEffect } from 'react' -import { useCommandsContext } from 'hooks/useCommandsContext' import CommandBarArgument from './CommandBarArgument' import CommandComboBox from '../CommandComboBox' import CommandBarReview from './CommandBarReview' @@ -8,12 +7,13 @@ import { useLocation } from 'react-router-dom' import useHotkeyWrapper from 'lib/hotkeyWrapper' import { CustomIcon } from 'components/CustomIcon' import Tooltip from 'components/Tooltip' +import { commandBarActor, useCommandBarState } from 'machines/commandBarMachine' export const COMMAND_PALETTE_HOTKEY = 'mod+k' export const CommandBar = () => { const { pathname } = useLocation() - const { commandBarState, commandBarSend } = useCommandsContext() + const commandBarState = useCommandBarState() const { context: { selectedCommand, currentArgument, commands }, } = commandBarState @@ -23,16 +23,16 @@ export const CommandBar = () => { // Close the command bar when navigating useEffect(() => { if (commandBarState.matches('Closed')) return - commandBarSend({ type: 'Close' }) + commandBarActor.send({ type: 'Close' }) }, [pathname]) // Hook up keyboard shortcuts useHotkeyWrapper([COMMAND_PALETTE_HOTKEY], () => { if (commandBarState.context.commands.length === 0) return if (commandBarState.matches('Closed')) { - commandBarSend({ type: 'Open' }) + commandBarActor.send({ type: 'Open' }) } else { - commandBarSend({ type: 'Close' }) + commandBarActor.send({ type: 'Close' }) } }) @@ -52,14 +52,14 @@ export const CommandBar = () => { ...entries[entries.length - 1][1], } - commandBarSend({ + commandBarActor.send({ type: 'Edit argument', data: { arg: currentArg, }, }) } else { - commandBarSend({ type: 'Deselect command' }) + commandBarActor.send({ type: 'Deselect command' }) } } else { const entries = Object.entries(selectedCommand?.args || {}) @@ -68,9 +68,9 @@ export const CommandBar = () => { ) if (index === 0) { - commandBarSend({ type: 'Deselect command' }) + commandBarActor.send({ type: 'Deselect command' }) } else { - commandBarSend({ + commandBarActor.send({ type: 'Change current argument', data: { arg: { name: entries[index - 1][0], ...entries[index - 1][1] }, @@ -85,14 +85,14 @@ export const CommandBar = () => { show={!commandBarState.matches('Closed') || false} afterLeave={() => { if (selectedCommand?.onCancel) selectedCommand.onCancel() - commandBarSend({ type: 'Clear' }) + commandBarActor.send({ type: 'Clear' }) }} as={Fragment} > { - commandBarSend({ type: 'Close' }) + commandBarActor.send({ type: 'Close' }) }} className={ 'fixed inset-0 z-50 overflow-y-auto pb-4 pt-1 ' + @@ -122,7 +122,7 @@ export const CommandBar = () => { ) )}
diff --git a/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.module.css b/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.module.css index 00e01f105..7c23bade9 100644 --- a/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.module.css +++ b/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.module.css @@ -3,6 +3,7 @@ @apply font-mono !no-underline text-xs font-bold select-none text-chalkboard-90; @apply ui-active:bg-primary/10 ui-active:text-primary ui-active:text-inherit; @apply transition-colors ease-out; + @apply m-0; } :global(.dark) .button { diff --git a/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx b/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx index bda5c983f..ba462d5d4 100644 --- a/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx +++ b/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx @@ -9,12 +9,11 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { kclManager } from 'lib/singletons' import { openExternalBrowserIfDesktop } from 'lib/openWindow' import { reportRejection } from 'lib/trap' -import { useCommandsContext } from 'hooks/useCommandsContext' +import { commandBarActor } from 'machines/commandBarMachine' export const KclEditorMenu = ({ children }: PropsWithChildren) => { const { enable: convertToVarEnabled, handleClick: handleConvertToVarClick } = useConvertToVariable() - const { commandBarSend } = useCommandsContext() return ( @@ -85,7 +84,7 @@ export const KclEditorMenu = ({ children }: PropsWithChildren) => {