Merge remote-tracking branch 'origin/main' into jess/cleaned-imports

This commit is contained in:
Paul Tagliamonte
2025-04-08 10:27:30 -04:00
41 changed files with 3670 additions and 1701 deletions

View File

@ -1,3 +1,3 @@
[codespell] [codespell]
ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,atleast,ue,afterall,ser ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,atleast,ue,afterall,ser,fromM,FromM
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,./public/kcl-samples,./rust/kcl-lib/tests/kcl_samples,tsconfig.tsbuildinfo 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,./public/kcl-samples,./rust/kcl-lib/tests/kcl_samples,tsconfig.tsbuildinfo

45
docs/kcl/fromCm.md Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -65,11 +65,15 @@ layout: manual
* [`chamfer`](kcl/chamfer) * [`chamfer`](kcl/chamfer)
* [`circleThreePoint`](kcl/circleThreePoint) * [`circleThreePoint`](kcl/circleThreePoint)
* [`close`](kcl/close) * [`close`](kcl/close)
* [`cm`](kcl/cm)
* [`extrude`](kcl/extrude) * [`extrude`](kcl/extrude)
* [`fillet`](kcl/fillet) * [`fillet`](kcl/fillet)
* [`floor`](kcl/floor) * [`floor`](kcl/floor)
* [`ft`](kcl/ft) * [`fromCm`](kcl/fromCm)
* [`fromFt`](kcl/fromFt)
* [`fromInches`](kcl/fromInches)
* [`fromM`](kcl/fromM)
* [`fromMm`](kcl/fromMm)
* [`fromYd`](kcl/fromYd)
* [`getCommonEdge`](kcl/getCommonEdge) * [`getCommonEdge`](kcl/getCommonEdge)
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge) * [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
* [`getOppositeEdge`](kcl/getOppositeEdge) * [`getOppositeEdge`](kcl/getOppositeEdge)
@ -77,7 +81,6 @@ layout: manual
* [`helix`](kcl/std-helix) * [`helix`](kcl/std-helix)
* [`hole`](kcl/hole) * [`hole`](kcl/hole)
* [`hollow`](kcl/hollow) * [`hollow`](kcl/hollow)
* [`inch`](kcl/inch)
* [`lastSegX`](kcl/lastSegX) * [`lastSegX`](kcl/lastSegX)
* [`lastSegY`](kcl/lastSegY) * [`lastSegY`](kcl/lastSegY)
* [`legAngX`](kcl/legAngX) * [`legAngX`](kcl/legAngX)
@ -89,11 +92,9 @@ layout: manual
* [`log`](kcl/log) * [`log`](kcl/log)
* [`log10`](kcl/log10) * [`log10`](kcl/log10)
* [`log2`](kcl/log2) * [`log2`](kcl/log2)
* [`m`](kcl/m)
* [`map`](kcl/map) * [`map`](kcl/map)
* [`max`](kcl/max) * [`max`](kcl/max)
* [`min`](kcl/min) * [`min`](kcl/min)
* [`mm`](kcl/mm)
* [`offsetPlane`](kcl/offsetPlane) * [`offsetPlane`](kcl/offsetPlane)
* [`patternCircular2d`](kcl/patternCircular2d) * [`patternCircular2d`](kcl/patternCircular2d)
* [`patternCircular3d`](kcl/patternCircular3d) * [`patternCircular3d`](kcl/patternCircular3d)
@ -136,7 +137,6 @@ layout: manual
* [`translate`](kcl/translate) * [`translate`](kcl/translate)
* [`xLine`](kcl/xLine) * [`xLine`](kcl/xLine)
* [`yLine`](kcl/yLine) * [`yLine`](kcl/yLine)
* [`yd`](kcl/yd)
* **std::math** * **std::math**
* [`E`](kcl/consts/std-math-E) * [`E`](kcl/consts/std-math-E)
* [`PI`](kcl/consts/std-math-PI) * [`PI`](kcl/consts/std-math-PI)

View File

@ -79599,34 +79599,6 @@
"exampleSketch = startSketchOn(-XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 10)" "exampleSketch = startSketchOn(-XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 10)"
] ]
}, },
{
"name": "cm",
"summary": "Centimeters conversion factor for current projects units.",
"description": "No matter what units the current project uses, this function will always return the conversion factor to centimeters.\n\nFor example, if the current project uses inches, this function will return `0.393701`. If the current project uses millimeters, this function will return `10`. If the current project uses centimeters, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * cm()` is more readable that your intent is \"I want 10 centimeters\" than `10 * 10`, if the project settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = 10 * cm()"
]
},
{ {
"name": "e", "name": "e",
"summary": "Return the value of Eulers number `e`.", "summary": "Return the value of Eulers number `e`.",
@ -97490,14 +97462,28 @@
] ]
}, },
{ {
"name": "ft", "name": "fromCm",
"summary": "Feet conversion factor for current projects units.", "summary": "Converts a number from centimeters to the current default unit.",
"description": "No matter what units the current project uses, this function will always return the conversion factor to feet.\n\nFor example, if the current project uses inches, this function will return `12`. If the current project uses millimeters, this function will return `304.8`. If the current project uses feet, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * ft()` is more readable that your intent is \"I want 10 feet\" than `10 * 304.8`, if the project settings are in millimeters.", "description": "No matter what units the current file uses, this function will always return a number equivalent to the input in centimeters.\n\nFor example, if the current file uses inches, `fromCm(1)` will return `0.393701`. If the current file uses millimeters, `fromCm(1)` will return `10`. If the current file uses centimeters, `fromCm(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromCm(10)` is more readable that your intent is \"I want 10 centimeters\" than `10 * 10`, if the file settings are in millimeters.",
"tags": [ "tags": [
"units" "units"
], ],
"keywordArguments": false, "keywordArguments": false,
"args": [], "args": [
{
"name": "input",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
}
],
"returnValue": { "returnValue": {
"name": "", "name": "",
"type": "number", "type": "number",
@ -97514,7 +97500,217 @@
"unpublished": false, "unpublished": false,
"deprecated": false, "deprecated": false,
"examples": [ "examples": [
"totalWidth = 10 * ft()" "totalWidth = fromCm(10)"
]
},
{
"name": "fromFt",
"summary": "Converts a number from feet to the current default unit.",
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in feet.\n\nFor example, if the current file uses inches, `fromFt(1)` will return `12`. If the current file uses millimeters, `fromFt(1)` will return `304.8`. If the current file uses feet, `fromFt(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromFt(10)` is more readable that your intent is \"I want 10 feet\" than `10 * 304.8`, if the file settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [
{
"name": "input",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
}
],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = fromFt(10)"
]
},
{
"name": "fromInches",
"summary": "Converts a number from inches to the current default unit.",
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in inches.\n\nFor example, if the current file uses inches, `fromInches(1)` will return `1`. If the current file uses millimeters, `fromInches(1)` will return `25.4`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromInches(10)` is more readable that your intent is \"I want 10 inches\" than `10 * 25.4`, if the file settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [
{
"name": "input",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
}
],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = fromInches(10)"
]
},
{
"name": "fromM",
"summary": "Converts a number from meters to the current default unit.",
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in meters.\n\nFor example, if the current file uses inches, `fromM(1)` will return `39.3701`. If the current file uses millimeters, `fromM(1)` will return `1000`. If the current file uses meters, `fromM(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromM(10)` is more readable that your intent is \"I want 10 meters\" than `10 * 1000`, if the file settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [
{
"name": "input",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
}
],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = 10 * fromM(10)"
]
},
{
"name": "fromMm",
"summary": "Converts a number from mm to the current default unit.",
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in millimeters.\n\nFor example, if the current file uses inches, `fromMm(1)` will return `1/25.4`. If the current file uses millimeters, `fromMm(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromMm(10)` is more readable that your intent is \"I want 10 millimeters\" than `10 * (1/25.4)`, if the file settings are in inches.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [
{
"name": "input",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
}
],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = fromMm(10)"
]
},
{
"name": "fromYd",
"summary": "Converts a number from yards to the current default unit.",
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in yards.\n\nFor example, if the current file uses inches, `fromYd(1)` will return `36`. If the current file uses millimeters, `fromYd(1)` will return `914.4`. If the current file uses yards, `fromYd(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromYd(10)` is more readable that your intent is \"I want 10 yards\" than `10 * 914.4`, if the file settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [
{
"name": "input",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
}
],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = fromYd(10)"
] ]
}, },
{ {
@ -106369,34 +106565,6 @@
"import height, buildSketch from \"common.kcl\"\n\nplane = XZ\nmargin = 2\ns1 = buildSketch(plane, [0, 0])\ns2 = buildSketch(plane, [0, height() + margin])" "import height, buildSketch from \"common.kcl\"\n\nplane = XZ\nmargin = 2\ns1 = buildSketch(plane, [0, 0])\ns2 = buildSketch(plane, [0, height() + margin])"
] ]
}, },
{
"name": "inch",
"summary": "Inches conversion factor for current projects units.",
"description": "No matter what units the current project uses, this function will always return the conversion factor to inches.\n\nFor example, if the current project uses inches, this function will return `1`. If the current project uses millimeters, this function will return `25.4`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * inch()` is more readable that your intent is \"I want 10 inches\" than `10 * 25.4`, if the project settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = 10 * inch()"
]
},
{ {
"name": "int", "name": "int",
"summary": "Convert a number to an integer.", "summary": "Convert a number to an integer.",
@ -134361,34 +134529,6 @@
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log2(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log2(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
] ]
}, },
{
"name": "m",
"summary": "Meters conversion factor for current projects units.",
"description": "No matter what units the current project uses, this function will always return the conversion factor to meters.\n\nFor example, if the current project uses inches, this function will return `39.3701`. If the current project uses millimeters, this function will return `1000`. If the current project uses meters, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * m()` is more readable that your intent is \"I want 10 meters\" than `10 * 1000`, if the project settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = 10 * m()"
]
},
{ {
"name": "map", "name": "map",
"summary": "Apply a function to every element of a list.", "summary": "Apply a function to every element of a list.",
@ -141853,34 +141993,6 @@
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = min(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)" "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = min(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
] ]
}, },
{
"name": "mm",
"summary": "Millimeters conversion factor for current projects units.",
"description": "No matter what units the current project uses, this function will always return the conversion factor to millimeters.\n\nFor example, if the current project uses inches, this function will return `(1/25.4)`. If the current project uses millimeters, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * mm()` is more readable that your intent is \"I want 10 millimeters\" than `10 * (1/25.4)`, if the project settings are in inches.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = 10 * mm()"
]
},
{ {
"name": "offsetPlane", "name": "offsetPlane",
"summary": "Offset a plane by a distance along its normal.", "summary": "Offset a plane by a distance along its normal.",
@ -336111,33 +336223,5 @@
"examples": [ "examples": [
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> yLine(length = 15)\n |> angledLine({ angle = 30, length = 15 }, %)\n |> line(end = [8, -10])\n |> yLine(length = -5)\n |> close()\n\nexample = extrude(exampleSketch, length = 10)" "exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> yLine(length = 15)\n |> angledLine({ angle = 30, length = 15 }, %)\n |> line(end = [8, -10])\n |> yLine(length = -5)\n |> close()\n\nexample = extrude(exampleSketch, length = 10)"
] ]
},
{
"name": "yd",
"summary": "Yards conversion factor for current projects units.",
"description": "No matter what units the current project uses, this function will always return the conversion factor to yards.\n\nFor example, if the current project uses inches, this function will return `36`. If the current project uses millimeters, this function will return `914.4`. If the current project uses yards, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * yd()` is more readable that your intent is \"I want 10 yards\" than `10 * 914.4`, if the project settings are in millimeters.",
"tags": [
"units"
],
"keywordArguments": false,
"args": [],
"returnValue": {
"name": "",
"type": "number",
"schema": {
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
"title": "double",
"type": "number",
"format": "double"
},
"required": true,
"includeInSnippet": true,
"labelRequired": true
},
"unpublished": false,
"deprecated": false,
"examples": [
"totalWidth = 10 * yd()"
]
} }
] ]

View File

@ -59,7 +59,7 @@
"react-modal-promise": "^1.0.2", "react-modal-promise": "^1.0.2",
"react-router-dom": "^6.28.0", "react-router-dom": "^6.28.0",
"sketch-helpers": "^0.0.4", "sketch-helpers": "^0.0.4",
"three": "^0.174.0", "three": "^0.175.0",
"ua-parser-js": "^1.0.37", "ua-parser-js": "^1.0.37",
"uuid": "^11.1.0", "uuid": "^11.1.0",
"vscode-jsonrpc": "^8.2.1", "vscode-jsonrpc": "^8.2.1",
@ -173,9 +173,9 @@
"devDependencies": { "devDependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/preset-env": "^7.26.9", "@babel/preset-env": "^7.26.9",
"@electron-forge/cli": "^7.7.0", "@electron-forge/cli": "^7.8.0",
"@electron-forge/plugin-fuses": "^7.7.0", "@electron-forge/plugin-fuses": "^7.8.0",
"@electron-forge/plugin-vite": "^7.7.0", "@electron-forge/plugin-vite": "^7.8.0",
"@electron/fuses": "^1.8.0", "@electron/fuses": "^1.8.0",
"@electron/notarize": "^2.5.0", "@electron/notarize": "^2.5.0",
"@iarna/toml": "^2.2.5", "@iarna/toml": "^2.2.5",
@ -190,13 +190,13 @@
"@types/isomorphic-fetch": "^0.0.39", "@types/isomorphic-fetch": "^0.0.39",
"@types/minimist": "^1.2.5", "@types/minimist": "^1.2.5",
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",
"@types/node": "^22.13.14", "@types/node": "^22.14.0",
"@types/pixelmatch": "^5.2.6", "@types/pixelmatch": "^5.2.6",
"@types/pngjs": "^6.0.4", "@types/pngjs": "^6.0.4",
"@types/react": "^18.3.4", "@types/react": "^18.3.4",
"@types/react-dom": "^18.3.1", "@types/react-dom": "^18.3.1",
"@types/react-modal": "^3.16.3", "@types/react-modal": "^3.16.3",
"@types/three": "^0.174.0", "@types/three": "^0.175.0",
"@types/ua-parser-js": "^0.7.39", "@types/ua-parser-js": "^0.7.39",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"@types/wicg-file-system-access": "^2023.10.6", "@types/wicg-file-system-access": "^2023.10.6",
@ -233,7 +233,7 @@
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.17",
"ts-node": "^10.0.0", "ts-node": "^10.0.0",
"typescript": "^5.8.3", "typescript": "^5.8.3",
"typescript-eslint": "^8.26.1", "typescript-eslint": "^8.29.0",
"vite": "^5.4.17", "vite": "^5.4.17",
"vite-plugin-package-version": "^1.1.0", "vite-plugin-package-version": "^1.1.0",
"vite-plugin-top-level-await": "^1.5.0", "vite-plugin-top-level-await": "^1.5.0",

View File

@ -32,7 +32,7 @@ lugClearance = startSketchOn(lugExtrusion, 'END')
// Create the circular pattern for the lug holes // Create the circular pattern for the lug holes
lugHoles = startSketchOn(lugBase, 'END') lugHoles = startSketchOn(lugBase, 'END')
|> circle(center = [lugSpacing / 2, 0], radius = 16 * mm() / 2) |> circle(center = [lugSpacing / 2, 0], radius = fromMm(16) / 2)
|> patternCircular2d( |> patternCircular2d(
arcDegrees = 360, arcDegrees = 360,
center = [0, 0], center = [0, 0],

View File

@ -11,7 +11,7 @@ customPlane = {
plane = { plane = {
origin = { origin = {
x = lugSpacing / 2, x = lugSpacing / 2,
y = -30 * mm(), y = fromMm(-30),
z = 0 z = 0
}, },
xAxis = { x = 1, y = 0, z = 0 }, xAxis = { x = 1, y = 0, z = 0 },
@ -26,7 +26,7 @@ fn lug(plane, length, diameter) {
|> angledLineOfYLength({ angle = 70, length = lugHeadLength }, %) |> angledLineOfYLength({ angle = 70, length = lugHeadLength }, %)
|> xLine(endAbsolute = lugDiameter / 2) |> xLine(endAbsolute = lugDiameter / 2)
|> yLine(endAbsolute = lugLength) |> yLine(endAbsolute = lugLength)
|> tangentialArc({ offset = 90, radius = 3 * mm() }, %) |> tangentialArc({ offset = 90, radius = fromMm(3) }, %)
|> xLine(endAbsolute = 0 + .001, tag = $c1) |> xLine(endAbsolute = 0 + .001, tag = $c1)
|> yLine(endAbsolute = lugThreadDepth) |> yLine(endAbsolute = lugThreadDepth)
|> xLine(endAbsolute = lugThreadDiameter) |> xLine(endAbsolute = lugThreadDiameter)

View File

@ -5,8 +5,8 @@
// Car wheel // Car wheel
export lugCount = 5 export lugCount = 5
export lugSpacing = 114.3 * mm() export lugSpacing = fromMm(114.3)
export offset = -35 * mm() export offset = fromMm(-35)
export backSpacing = 6.38 export backSpacing = 6.38
export wheelWidth = 9.5 export wheelWidth = 9.5
export wheelDiameter = 19 export wheelDiameter = 19
@ -16,11 +16,11 @@ export spokeAngle = 0.02
export spokeThickness = 0.95 export spokeThickness = 0.95
// Lug Nut // Lug Nut
export lugDiameter = 24 * mm() export lugDiameter = fromMm(24)
export lugHeadLength = lugDiameter * .5 export lugHeadLength = lugDiameter * .5
export lugThreadDiameter = lugDiameter / 2 * .85 export lugThreadDiameter = lugDiameter / 2 * .85
export lugLength = 30 * mm() export lugLength = fromMm(30)
export lugThreadDepth = lugLength - (12.7 * mm()) export lugThreadDepth = lugLength - fromMm(12.7)
// Car rotor // Car rotor
export rotorDiameter = 12 export rotorDiameter = 12

View File

@ -5,7 +5,7 @@
@settings(defaultLengthUnit = in) @settings(defaultLengthUnit = in)
// Define parameters // Define parameters
beamLength = 6 * ft() beamLength = fromFt(6)
beamHeight = 4 beamHeight = 4
flangeWidth = 2.663 flangeWidth = 2.663
flangeThickness = 0.293 flangeThickness = 0.293

View File

@ -6,7 +6,7 @@
// Define parameters // Define parameters
routerDiameter = 12.7 routerDiameter = 12.7
templateDiameter = 11 / 16 * inch() templateDiameter = fromInches(11 / 16)
slateWidthHalf = 41.5 / 2 slateWidthHalf = 41.5 / 2
minClampingDistance = 50 + 30 minClampingDistance = 50 + 30
templateThickness = 10 templateThickness = 10

View File

@ -6,7 +6,7 @@
// Define parameters // Define parameters
routerDiameter = 12.7 routerDiameter = 12.7
templateDiameter = 11 / 16 * inch() templateDiameter = fromInches(11 / 16)
slateWidthHalf = 41.5 / 2 slateWidthHalf = 41.5 / 2
minClampingDistance = 50 + 30 minClampingDistance = 50 + 30
templateThickness = 10 templateThickness = 10

View File

@ -1706,8 +1706,8 @@ let shape = layer() |> patternTransform(instances = 10, transform = transform)
#[tokio::test(flavor = "multi_thread")] #[tokio::test(flavor = "multi_thread")]
async fn test_unit_default() { async fn test_unit_default() {
let ast = r#"const inMm = 25.4 * mm() let ast = r#"const inMm = fromMm(25.4)
const inInches = 1.0 * inch()"#; const inInches = fromInches(1)"#;
let result = parse_execute(ast).await.unwrap(); let result = parse_execute(ast).await.unwrap();
assert_eq!( assert_eq!(
25.4, 25.4,
@ -1726,8 +1726,8 @@ const inInches = 1.0 * inch()"#;
#[tokio::test(flavor = "multi_thread")] #[tokio::test(flavor = "multi_thread")]
async fn test_unit_overriden() { async fn test_unit_overriden() {
let ast = r#"@settings(defaultLengthUnit = inch) let ast = r#"@settings(defaultLengthUnit = inch)
const inMm = 25.4 * mm() const inMm = fromMm(25.4)
const inInches = 1.0 * inch()"#; const inInches = fromInches(1)"#;
let result = parse_execute(ast).await.unwrap(); let result = parse_execute(ast).await.unwrap();
assert_eq!( assert_eq!(
1.0, 1.0,
@ -1747,8 +1747,8 @@ const inInches = 1.0 * inch()"#;
#[tokio::test(flavor = "multi_thread")] #[tokio::test(flavor = "multi_thread")]
async fn test_unit_overriden_in() { async fn test_unit_overriden_in() {
let ast = r#"@settings(defaultLengthUnit = in) let ast = r#"@settings(defaultLengthUnit = in)
const inMm = 25.4 * mm() const inMm = fromMm(25.4)
const inInches = 2.0 * inch()"#; const inInches = fromInches(2)"#;
let result = parse_execute(ast).await.unwrap(); let result = parse_execute(ast).await.unwrap();
assert_eq!( assert_eq!(
1.0, 1.0,

View File

@ -138,12 +138,12 @@ lazy_static! {
Box::new(crate::std::math::Ln), Box::new(crate::std::math::Ln),
Box::new(crate::std::math::ToDegrees), Box::new(crate::std::math::ToDegrees),
Box::new(crate::std::math::ToRadians), Box::new(crate::std::math::ToRadians),
Box::new(crate::std::units::Mm), Box::new(crate::std::units::FromMm),
Box::new(crate::std::units::Inch), Box::new(crate::std::units::FromInches),
Box::new(crate::std::units::Ft), Box::new(crate::std::units::FromFt),
Box::new(crate::std::units::M), Box::new(crate::std::units::FromM),
Box::new(crate::std::units::Cm), Box::new(crate::std::units::FromCm),
Box::new(crate::std::units::Yd), Box::new(crate::std::units::FromYd),
Box::new(crate::std::assert::Assert), Box::new(crate::std::assert::Assert),
Box::new(crate::std::assert::AssertEqual), Box::new(crate::std::assert::AssertEqual),
Box::new(crate::std::assert::AssertLessThan), Box::new(crate::std::assert::AssertLessThan),

View File

@ -9,252 +9,258 @@ use crate::{
std::{args::TyF64, Args}, std::{args::TyF64, Args},
}; };
/// Millimeters conversion factor for current projects units. /// Millimeters conversion factor for current files units.
pub async fn mm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn from_mm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let result = inner_mm(exec_state)?; let input = args.get_number()?;
let result = inner_from_mm(input, exec_state)?;
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units()))) Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
} }
/// Millimeters conversion factor for current projects units. /// Converts a number from mm to the current default unit.
/// ///
/// No matter what units the current project uses, this function will always return the conversion /// No matter what units the current file uses, this function will always return a number equivalent
/// factor to millimeters. /// to the input in millimeters.
/// ///
/// For example, if the current project uses inches, this function will return `(1/25.4)`. /// For example, if the current file uses inches, `fromMm(1)` will return `1/25.4`.
/// If the current project uses millimeters, this function will return `1`. /// If the current file uses millimeters, `fromMm(1)` will return `1`.
/// ///
/// **Caution**: This function is only intended to be used when you absolutely MUST /// **Caution**: This function is only intended to be used when you absolutely MUST
/// have different units in your code than the project settings. Otherwise, it is /// have different units in your code than the file settings. Otherwise, it is
/// a bad pattern to use this function. /// a bad pattern to use this function.
/// ///
/// We merely provide these functions for convenience and readability, as /// We merely provide these functions for convenience and readability, as
/// `10 * mm()` is more readable that your intent is "I want 10 millimeters" than /// `fromMm(10)` is more readable that your intent is "I want 10 millimeters" than
/// `10 * (1/25.4)`, if the project settings are in inches. /// `10 * (1/25.4)`, if the file settings are in inches.
/// ///
/// ```no_run /// ```no_run
/// totalWidth = 10 * mm() /// totalWidth = fromMm(10)
/// ``` /// ```
#[stdlib { #[stdlib {
name = "mm", name = "fromMm",
tags = ["units"], tags = ["units"],
}] }]
fn inner_mm(exec_state: &ExecState) -> Result<f64, KclError> { fn inner_from_mm(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
match exec_state.length_unit() { Ok(match exec_state.length_unit() {
UnitLen::Mm => Ok(1.0), UnitLen::Mm => input,
UnitLen::Inches => Ok(measurements::Length::from_millimeters(1.0).as_inches()), UnitLen::Inches => measurements::Length::from_millimeters(input).as_inches(),
UnitLen::Feet => Ok(measurements::Length::from_millimeters(1.0).as_feet()), UnitLen::Feet => measurements::Length::from_millimeters(input).as_feet(),
UnitLen::M => Ok(measurements::Length::from_millimeters(1.0).as_meters()), UnitLen::M => measurements::Length::from_millimeters(input).as_meters(),
UnitLen::Cm => Ok(measurements::Length::from_millimeters(1.0).as_centimeters()), UnitLen::Cm => measurements::Length::from_millimeters(input).as_centimeters(),
UnitLen::Yards => Ok(measurements::Length::from_millimeters(1.0).as_yards()), UnitLen::Yards => measurements::Length::from_millimeters(input).as_yards(),
} })
} }
/// Inches conversion factor for current projects units. /// Inches conversion factor for current files units.
pub async fn inch(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn from_inches(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let result = inner_inch(exec_state)?; let input = args.get_number()?;
let result = inner_from_inches(input, exec_state)?;
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units()))) Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
} }
/// Inches conversion factor for current projects units. /// Converts a number from inches to the current default unit.
/// ///
/// No matter what units the current project uses, this function will always return the conversion /// No matter what units the current file uses, this function will always return a number equivalent
/// factor to inches. /// to the input in inches.
/// ///
/// For example, if the current project uses inches, this function will return `1`. /// For example, if the current file uses inches, `fromInches(1)` will return `1`.
/// If the current project uses millimeters, this function will return `25.4`. /// If the current file uses millimeters, `fromInches(1)` will return `25.4`.
/// ///
/// **Caution**: This function is only intended to be used when you absolutely MUST /// **Caution**: This function is only intended to be used when you absolutely MUST
/// have different units in your code than the project settings. Otherwise, it is /// have different units in your code than the file settings. Otherwise, it is
/// a bad pattern to use this function. /// a bad pattern to use this function.
/// ///
/// We merely provide these functions for convenience and readability, as /// We merely provide these functions for convenience and readability, as
/// `10 * inch()` is more readable that your intent is "I want 10 inches" than /// `fromInches(10)` is more readable that your intent is "I want 10 inches" than
/// `10 * 25.4`, if the project settings are in millimeters. /// `10 * 25.4`, if the file settings are in millimeters.
/// ///
/// ```no_run /// ```no_run
/// totalWidth = 10 * inch() /// totalWidth = fromInches(10)
/// ``` /// ```
#[stdlib { #[stdlib {
name = "inch", name = "fromInches",
tags = ["units"], tags = ["units"],
}] }]
fn inner_inch(exec_state: &ExecState) -> Result<f64, KclError> { fn inner_from_inches(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
match exec_state.length_unit() { match exec_state.length_unit() {
UnitLen::Mm => Ok(measurements::Length::from_inches(1.0).as_millimeters()), UnitLen::Mm => Ok(measurements::Length::from_inches(input).as_millimeters()),
UnitLen::Inches => Ok(1.0), UnitLen::Inches => Ok(input),
UnitLen::Feet => Ok(measurements::Length::from_inches(1.0).as_feet()), UnitLen::Feet => Ok(measurements::Length::from_inches(input).as_feet()),
UnitLen::M => Ok(measurements::Length::from_inches(1.0).as_meters()), UnitLen::M => Ok(measurements::Length::from_inches(input).as_meters()),
UnitLen::Cm => Ok(measurements::Length::from_inches(1.0).as_centimeters()), UnitLen::Cm => Ok(measurements::Length::from_inches(input).as_centimeters()),
UnitLen::Yards => Ok(measurements::Length::from_inches(1.0).as_yards()), UnitLen::Yards => Ok(measurements::Length::from_inches(input).as_yards()),
} }
} }
/// Feet conversion factor for current projects units. /// Feet conversion factor for current files units.
pub async fn ft(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn from_ft(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let result = inner_ft(exec_state)?; let input = args.get_number()?;
let result = inner_from_ft(input, exec_state)?;
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units()))) Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
} }
/// Feet conversion factor for current projects units. /// Converts a number from feet to the current default unit.
/// ///
/// No matter what units the current project uses, this function will always return the conversion /// No matter what units the current file uses, this function will always return a number equivalent
/// factor to feet. /// to the input in feet.
/// ///
/// For example, if the current project uses inches, this function will return `12`. /// For example, if the current file uses inches, `fromFt(1)` will return `12`.
/// If the current project uses millimeters, this function will return `304.8`. /// If the current file uses millimeters, `fromFt(1)` will return `304.8`.
/// If the current project uses feet, this function will return `1`. /// If the current file uses feet, `fromFt(1)` will return `1`.
/// ///
/// **Caution**: This function is only intended to be used when you absolutely MUST /// **Caution**: This function is only intended to be used when you absolutely MUST
/// have different units in your code than the project settings. Otherwise, it is /// have different units in your code than the file settings. Otherwise, it is
/// a bad pattern to use this function. /// a bad pattern to use this function.
/// ///
/// We merely provide these functions for convenience and readability, as /// We merely provide these functions for convenience and readability, as
/// `10 * ft()` is more readable that your intent is "I want 10 feet" than /// `fromFt(10)` is more readable that your intent is "I want 10 feet" than
/// `10 * 304.8`, if the project settings are in millimeters. /// `10 * 304.8`, if the file settings are in millimeters.
/// ///
/// ```no_run /// ```no_run
/// totalWidth = 10 * ft() /// totalWidth = fromFt(10)
/// ``` /// ```
#[stdlib { #[stdlib {
name = "ft", name = "fromFt",
tags = ["units"], tags = ["units"],
}] }]
fn inner_ft(exec_state: &ExecState) -> Result<f64, KclError> { fn inner_from_ft(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
match exec_state.length_unit() { match exec_state.length_unit() {
UnitLen::Mm => Ok(measurements::Length::from_feet(1.0).as_millimeters()), UnitLen::Mm => Ok(measurements::Length::from_feet(input).as_millimeters()),
UnitLen::Inches => Ok(measurements::Length::from_feet(1.0).as_inches()), UnitLen::Inches => Ok(measurements::Length::from_feet(input).as_inches()),
UnitLen::Feet => Ok(1.0), UnitLen::Feet => Ok(input),
UnitLen::M => Ok(measurements::Length::from_feet(1.0).as_meters()), UnitLen::M => Ok(measurements::Length::from_feet(input).as_meters()),
UnitLen::Cm => Ok(measurements::Length::from_feet(1.0).as_centimeters()), UnitLen::Cm => Ok(measurements::Length::from_feet(input).as_centimeters()),
UnitLen::Yards => Ok(measurements::Length::from_feet(1.0).as_yards()), UnitLen::Yards => Ok(measurements::Length::from_feet(input).as_yards()),
} }
} }
/// Meters conversion factor for current projects units. /// Meters conversion factor for current files units.
pub async fn m(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn from_m(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let result = inner_m(exec_state)?; let input = args.get_number()?;
let result = inner_from_m(input, exec_state)?;
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units()))) Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
} }
/// Meters conversion factor for current projects units. /// Converts a number from meters to the current default unit.
/// ///
/// No matter what units the current project uses, this function will always return the conversion /// No matter what units the current file uses, this function will always return a number equivalent
/// factor to meters. /// to the input in meters.
/// ///
/// For example, if the current project uses inches, this function will return `39.3701`. /// For example, if the current file uses inches, `fromM(1)` will return `39.3701`.
/// If the current project uses millimeters, this function will return `1000`. /// If the current file uses millimeters, `fromM(1)` will return `1000`.
/// If the current project uses meters, this function will return `1`. /// If the current file uses meters, `fromM(1)` will return `1`.
/// ///
/// **Caution**: This function is only intended to be used when you absolutely MUST /// **Caution**: This function is only intended to be used when you absolutely MUST
/// have different units in your code than the project settings. Otherwise, it is /// have different units in your code than the file settings. Otherwise, it is
/// a bad pattern to use this function. /// a bad pattern to use this function.
/// ///
/// We merely provide these functions for convenience and readability, as /// We merely provide these functions for convenience and readability, as
/// `10 * m()` is more readable that your intent is "I want 10 meters" than /// `fromM(10)` is more readable that your intent is "I want 10 meters" than
/// `10 * 1000`, if the project settings are in millimeters. /// `10 * 1000`, if the file settings are in millimeters.
/// ///
/// ```no_run /// ```no_run
/// totalWidth = 10 * m() /// totalWidth = 10 * fromM(10)
/// ``` /// ```
#[stdlib { #[stdlib {
name = "m", name = "fromM",
tags = ["units"], tags = ["units"],
}] }]
fn inner_m(exec_state: &ExecState) -> Result<f64, KclError> { fn inner_from_m(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
match exec_state.length_unit() { match exec_state.length_unit() {
UnitLen::Mm => Ok(measurements::Length::from_meters(1.0).as_millimeters()), UnitLen::Mm => Ok(measurements::Length::from_meters(input).as_millimeters()),
UnitLen::Inches => Ok(measurements::Length::from_meters(1.0).as_inches()), UnitLen::Inches => Ok(measurements::Length::from_meters(input).as_inches()),
UnitLen::Feet => Ok(measurements::Length::from_meters(1.0).as_feet()), UnitLen::Feet => Ok(measurements::Length::from_meters(input).as_feet()),
UnitLen::M => Ok(1.0), UnitLen::M => Ok(input),
UnitLen::Cm => Ok(measurements::Length::from_meters(1.0).as_centimeters()), UnitLen::Cm => Ok(measurements::Length::from_meters(input).as_centimeters()),
UnitLen::Yards => Ok(measurements::Length::from_meters(1.0).as_yards()), UnitLen::Yards => Ok(measurements::Length::from_meters(input).as_yards()),
} }
} }
/// Centimeters conversion factor for current projects units. /// Centimeters conversion factor for current files units.
pub async fn cm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn from_cm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let result = inner_cm(exec_state)?; let input = args.get_number()?;
let result = inner_from_cm(input, exec_state)?;
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units()))) Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
} }
/// Centimeters conversion factor for current projects units. /// Converts a number from centimeters to the current default unit.
/// ///
/// No matter what units the current project uses, this function will always return the conversion /// No matter what units the current file uses, this function will always return a number equivalent
/// factor to centimeters. /// to the input in centimeters.
/// ///
/// For example, if the current project uses inches, this function will return `0.393701`. /// For example, if the current file uses inches, `fromCm(1)` will return `0.393701`.
/// If the current project uses millimeters, this function will return `10`. /// If the current file uses millimeters, `fromCm(1)` will return `10`.
/// If the current project uses centimeters, this function will return `1`. /// If the current file uses centimeters, `fromCm(1)` will return `1`.
/// ///
/// **Caution**: This function is only intended to be used when you absolutely MUST /// **Caution**: This function is only intended to be used when you absolutely MUST
/// have different units in your code than the project settings. Otherwise, it is /// have different units in your code than the file settings. Otherwise, it is
/// a bad pattern to use this function. /// a bad pattern to use this function.
/// ///
/// We merely provide these functions for convenience and readability, as /// We merely provide these functions for convenience and readability, as
/// `10 * cm()` is more readable that your intent is "I want 10 centimeters" than /// `fromCm(10)` is more readable that your intent is "I want 10 centimeters" than
/// `10 * 10`, if the project settings are in millimeters. /// `10 * 10`, if the file settings are in millimeters.
/// ///
/// ```no_run /// ```no_run
/// totalWidth = 10 * cm() /// totalWidth = fromCm(10)
/// ``` /// ```
#[stdlib { #[stdlib {
name = "cm", name = "fromCm",
tags = ["units"], tags = ["units"],
}] }]
fn inner_cm(exec_state: &ExecState) -> Result<f64, KclError> { fn inner_from_cm(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
match exec_state.length_unit() { match exec_state.length_unit() {
UnitLen::Mm => Ok(measurements::Length::from_centimeters(1.0).as_millimeters()), UnitLen::Mm => Ok(measurements::Length::from_centimeters(input).as_millimeters()),
UnitLen::Inches => Ok(measurements::Length::from_centimeters(1.0).as_inches()), UnitLen::Inches => Ok(measurements::Length::from_centimeters(input).as_inches()),
UnitLen::Feet => Ok(measurements::Length::from_centimeters(1.0).as_feet()), UnitLen::Feet => Ok(measurements::Length::from_centimeters(input).as_feet()),
UnitLen::M => Ok(measurements::Length::from_centimeters(1.0).as_meters()), UnitLen::M => Ok(measurements::Length::from_centimeters(input).as_meters()),
UnitLen::Cm => Ok(1.0), UnitLen::Cm => Ok(input),
UnitLen::Yards => Ok(measurements::Length::from_centimeters(1.0).as_yards()), UnitLen::Yards => Ok(measurements::Length::from_centimeters(input).as_yards()),
} }
} }
/// Yards conversion factor for current projects units. /// Yards conversion factor for current files units.
pub async fn yd(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn from_yd(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let result = inner_yd(exec_state)?; let input = args.get_number()?;
let result = inner_from_yd(input, exec_state)?;
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units()))) Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
} }
/// Yards conversion factor for current projects units. /// Converts a number from yards to the current default unit.
/// ///
/// No matter what units the current project uses, this function will always return the conversion /// No matter what units the current file uses, this function will always return a number equivalent
/// factor to yards. /// to the input in yards.
/// ///
/// For example, if the current project uses inches, this function will return `36`. /// For example, if the current file uses inches, `fromYd(1)` will return `36`.
/// If the current project uses millimeters, this function will return `914.4`. /// If the current file uses millimeters, `fromYd(1)` will return `914.4`.
/// If the current project uses yards, this function will return `1`. /// If the current file uses yards, `fromYd(1)` will return `1`.
/// ///
/// **Caution**: This function is only intended to be used when you absolutely MUST /// **Caution**: This function is only intended to be used when you absolutely MUST
/// have different units in your code than the project settings. Otherwise, it is /// have different units in your code than the file settings. Otherwise, it is
/// a bad pattern to use this function. /// a bad pattern to use this function.
/// ///
/// We merely provide these functions for convenience and readability, as /// We merely provide these functions for convenience and readability, as
/// `10 * yd()` is more readable that your intent is "I want 10 yards" than /// `fromYd(10)` is more readable that your intent is "I want 10 yards" than
/// `10 * 914.4`, if the project settings are in millimeters. /// `10 * 914.4`, if the file settings are in millimeters.
/// ///
/// ```no_run /// ```no_run
/// totalWidth = 10 * yd() /// totalWidth = fromYd(10)
/// ``` /// ```
#[stdlib { #[stdlib {
name = "yd", name = "fromYd",
tags = ["units"], tags = ["units"],
}] }]
fn inner_yd(exec_state: &ExecState) -> Result<f64, KclError> { fn inner_from_yd(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
match exec_state.length_unit() { match exec_state.length_unit() {
UnitLen::Mm => Ok(measurements::Length::from_yards(1.0).as_millimeters()), UnitLen::Mm => Ok(measurements::Length::from_yards(input).as_millimeters()),
UnitLen::Inches => Ok(measurements::Length::from_yards(1.0).as_inches()), UnitLen::Inches => Ok(measurements::Length::from_yards(input).as_inches()),
UnitLen::Feet => Ok(measurements::Length::from_yards(1.0).as_feet()), UnitLen::Feet => Ok(measurements::Length::from_yards(input).as_feet()),
UnitLen::M => Ok(measurements::Length::from_yards(1.0).as_meters()), UnitLen::M => Ok(measurements::Length::from_yards(input).as_meters()),
UnitLen::Cm => Ok(measurements::Length::from_yards(1.0).as_centimeters()), UnitLen::Cm => Ok(measurements::Length::from_yards(input).as_centimeters()),
UnitLen::Yards => Ok(1.0), UnitLen::Yards => Ok(input),
} }
} }

View File

@ -10146,22 +10146,133 @@ description: Artifact commands car-wheel-assembly.kcl
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [], "range": [],
"command": { "command": {
"type": "set_object_transform", "type": "make_plane",
"object_id": "[uuid]", "origin": {
"transforms": [ "x": 2.25,
{ "y": -1.1811023622047243,
"translate": { "z": 0.0
"property": { },
"x": 0.0, "x_axis": {
"y": 0.5, "x": 1.0,
"z": 0.0 "y": 0.0,
}, "z": 0.0
"set": false, },
"is_local": true "y_axis": {
}, "x": 0.0,
"rotate_rpy": null, "y": -1.0,
"rotate_angle_axis": null, "z": 0.0
"scale": null },
"size": 60.0,
"clobber": false,
"hide": true
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "enable_sketch_mode",
"entity_id": "[uuid]",
"ortho": false,
"animated": false,
"adjust_camera": false,
"planar_normal": {
"x": 0.0,
"y": 0.0,
"z": 1.0
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "start_path"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "move_path_pen",
"path": "[uuid]",
"to": {
"x": 0.4724409448818898,
"y": 0.0,
"z": 0.0
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "sketch_mode_disable"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": 0.172,
"y": 0.4724,
"z": 0.0
},
"relative": true
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": 0.4724,
"y": 0.4724,
"z": 0.0
},
"relative": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "line",
"end": {
"x": 0.4724,
"y": 1.1811,
"z": 0.0
},
"relative": false
}
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "extend_path",
"path": "[uuid]",
"segment": {
"type": "tangential_arc",
"radius": 0.11811023622047245,
"offset": {
"unit": "degrees",
"value": 90.0
} }
] ]
} }

View File

@ -92,25 +92,112 @@ flowchart LR
198["Segment<br>[909, 963, 5]"] 198["Segment<br>[909, 963, 5]"]
199[Solid2d] 199[Solid2d]
end end
subgraph path216 [Path] subgraph path132 [Path]
216["Path<br>[1424, 1464, 7]"] 132["Path<br>[354, 410, 5]"]
217["Segment<br>[1424, 1464, 7]"] 133["Segment<br>[354, 410, 5]"]
134[Solid2d]
end
subgraph path135 [Path]
135["Path<br>[421, 477, 5]"]
136["Segment<br>[421, 477, 5]"]
137[Solid2d]
end
subgraph path144 [Path]
144["Path<br>[642, 698, 5]"]
145["Segment<br>[642, 698, 5]"]
146[Solid2d]
end
subgraph path147 [Path]
147["Path<br>[709, 765, 5]"]
148["Segment<br>[709, 765, 5]"]
149[Solid2d]
end
subgraph path156 [Path]
156["Path<br>[909, 963, 5]"]
157["Segment<br>[909, 963, 5]"]
158[Solid2d]
end
subgraph path167 [Path]
167["Path<br>[1241, 1302, 5]"]
168["Segment<br>[1241, 1302, 5]"]
169[Solid2d]
end
subgraph path179 [Path]
179["Path<br>[1660, 1706, 5]"]
180["Segment<br>[1712, 1764, 5]"]
181["Segment<br>[1770, 1875, 5]"]
182["Segment<br>[1881, 1903, 5]"]
183["Segment<br>[1909, 1965, 5]"]
184["Segment<br>[1971, 1978, 5]"]
185[Solid2d]
end
subgraph path195 [Path]
195["Path<br>[2110, 2156, 5]"]
196["Segment<br>[2162, 2214, 5]"]
197["Segment<br>[2220, 2327, 5]"]
198["Segment<br>[2333, 2370, 5]"]
199["Segment<br>[2376, 2432, 5]"]
200["Segment<br>[2438, 2445, 5]"]
201[Solid2d]
end
subgraph path212 [Path]
212["Path<br>[2954, 3001, 5]"]
213["Segment<br>[3009, 3349, 5]"]
214["Segment<br>[3357, 3389, 5]"]
215["Segment<br>[3397, 3741, 5]"]
216["Segment<br>[3749, 3805, 5]"]
217["Segment<br>[3813, 3820, 5]"]
218[Solid2d] 218[Solid2d]
end end
subgraph path222 [Path] subgraph path235 [Path]
222["Path<br>[1241, 1301, 5]"] 235["Path<br>[2954, 3001, 5]"]
223["Segment<br>[1241, 1301, 5]"] 236["Segment<br>[3009, 3349, 5]"]
224[Solid2d] 237["Segment<br>[3357, 3389, 5]"]
238["Segment<br>[3397, 3741, 5]"]
239["Segment<br>[3749, 3805, 5]"]
240["Segment<br>[3813, 3820, 5]"]
241[Solid2d]
end end
subgraph path227 [Path] subgraph path258 [Path]
227["Path<br>[1568, 1619, 7]"] 258["Path<br>[4348, 4443, 5]"]
228["Segment<br>[1568, 1619, 7]"] 259["Segment<br>[4449, 4482, 5]"]
229[Solid2d] 260["Segment<br>[4488, 4539, 5]"]
261["Segment<br>[4545, 4578, 5]"]
262["Segment<br>[4584, 4634, 5]"]
263["Segment<br>[4640, 4681, 5]"]
264["Segment<br>[4687, 4736, 5]"]
265["Segment<br>[4742, 4775, 5]"]
266["Segment<br>[4781, 4815, 5]"]
267["Segment<br>[4821, 4855, 5]"]
268["Segment<br>[4861, 4913, 5]"]
269["Segment<br>[4919, 4953, 5]"]
270["Segment<br>[4959, 5035, 5]"]
271["Segment<br>[5041, 5074, 5]"]
272["Segment<br>[5080, 5156, 5]"]
273["Segment<br>[5162, 5196, 5]"]
274["Segment<br>[5202, 5276, 5]"]
275["Segment<br>[5282, 5316, 5]"]
276["Segment<br>[5322, 5373, 5]"]
277["Segment<br>[5379, 5441, 5]"]
278["Segment<br>[5447, 5498, 5]"]
279["Segment<br>[5504, 5538, 5]"]
280["Segment<br>[5544, 5577, 5]"]
281["Segment<br>[5583, 5616, 5]"]
282["Segment<br>[5622, 5629, 5]"]
283[Solid2d]
end end
subgraph path238 [Path] subgraph path334 [Path]
238["Path<br>[1752, 1805, 7]"] 334["Path<br>[745, 785, 8]"]
239["Segment<br>[1752, 1805, 7]"] 335["Segment<br>[793, 855, 8]"]
240[Solid2d] 336["Segment<br>[863, 899, 8]"]
337["Segment<br>[907, 937, 8]"]
338["Segment<br>[945, 998, 8]"]
339["Segment<br>[1006, 1046, 8]"]
340["Segment<br>[1054, 1089, 8]"]
341["Segment<br>[1097, 1135, 8]"]
342["Segment<br>[1143, 1165, 8]"]
343["Segment<br>[1173, 1180, 8]"]
344[Solid2d]
end end
subgraph path255 [Path] subgraph path255 [Path]
255["Path<br>[1659, 1705, 5]"] 255["Path<br>[1659, 1705, 5]"]
@ -290,109 +377,91 @@ flowchart LR
153["SweepEdge Adjacent"] 153["SweepEdge Adjacent"]
154["SweepEdge Opposite"] 154["SweepEdge Opposite"]
155["SweepEdge Adjacent"] 155["SweepEdge Adjacent"]
156["SweepEdge Opposite"] 159["Sweep Extrusion<br>[1110, 1144, 5]"]
157["SweepEdge Adjacent"] 160[Wall]
158["SweepEdge Opposite"] 161["SweepEdge Opposite"]
159["SweepEdge Adjacent"] 162["SweepEdge Adjacent"]
160["SweepEdge Opposite"] 163["Sweep Extrusion<br>[1110, 1144, 5]"]
161["SweepEdge Adjacent"] 164["Sweep Extrusion<br>[1110, 1144, 5]"]
162["SweepEdge Opposite"] 165["Sweep Extrusion<br>[1110, 1144, 5]"]
163["SweepEdge Adjacent"] 166["Sweep Extrusion<br>[1110, 1144, 5]"]
164["SweepEdge Opposite"] 170["Sweep Extrusion<br>[1449, 1483, 5]"]
165["SweepEdge Adjacent"] 171[Wall]
166["SweepEdge Opposite"]
167["SweepEdge Adjacent"]
168["SweepEdge Opposite"]
169["SweepEdge Adjacent"]
170["SweepEdge Opposite"]
171["SweepEdge Adjacent"]
172["SweepEdge Opposite"] 172["SweepEdge Opposite"]
173["SweepEdge Adjacent"] 173["SweepEdge Adjacent"]
174["SweepEdge Opposite"] 174["Sweep Extrusion<br>[1449, 1483, 5]"]
175["SweepEdge Adjacent"] 175["Sweep Extrusion<br>[1449, 1483, 5]"]
176["SweepEdge Adjacent"] 176["Sweep Extrusion<br>[1449, 1483, 5]"]
177["SweepEdge Adjacent"] 177["Sweep Extrusion<br>[1449, 1483, 5]"]
178["SweepEdge Adjacent"] 178["Plane<br>[1637, 1654, 5]"]
179["SweepEdge Adjacent"] 186["Sweep Revolve<br>[1984, 2001, 5]"]
180["SweepEdge Adjacent"] 187[Wall]
181["SweepEdge Adjacent"] 188[Wall]
182["SweepEdge Adjacent"] 189[Wall]
183["SweepEdge Adjacent"] 190[Wall]
184["SweepEdge Adjacent"]
185["SweepEdge Adjacent"]
186["SweepEdge Adjacent"]
187["SweepEdge Adjacent"]
188["SweepEdge Adjacent"]
189["SweepEdge Adjacent"]
190["SweepEdge Opposite"]
191["SweepEdge Adjacent"] 191["SweepEdge Adjacent"]
195["SweepEdge Opposite"] 192["SweepEdge Adjacent"]
196["SweepEdge Adjacent"] 193["SweepEdge Adjacent"]
200["Sweep Extrusion<br>[1188, 1267, 7]"] 194["Plane<br>[2087, 2104, 5]"]
201[Wall] 202["Sweep Revolve<br>[2451, 2468, 5]"]
202["Sweep Extrusion<br>[1110, 1144, 5]"]
203[Wall] 203[Wall]
204["SweepEdge Opposite"] 204["SweepEdge Opposite"]
205["SweepEdge Adjacent"] 205["SweepEdge Adjacent"]
206["Sweep Extrusion<br>[1188, 1267, 7]"] 206["Sweep Extrusion<br>[1188, 1267, 7]"]
207["SweepEdge Opposite"] 207["SweepEdge Opposite"]
208["SweepEdge Adjacent"] 208["SweepEdge Adjacent"]
209["Sweep Extrusion<br>[1110, 1144, 5]"] 209["SweepEdge Adjacent"]
210["Sweep Extrusion<br>[1188, 1267, 7]"] 210["SweepEdge Adjacent"]
211["Sweep Extrusion<br>[1110, 1144, 5]"] 211["Plane<br>[2923, 2946, 5]"]
212["Sweep Extrusion<br>[1188, 1267, 7]"] 219["Sweep Extrusion<br>[3868, 3914, 5]"]
213["Sweep Extrusion<br>[1110, 1144, 5]"]
214["Sweep Extrusion<br>[1188, 1267, 7]"]
215["Sweep Extrusion<br>[1110, 1144, 5]"]
219["Sweep Extrusion<br>[1470, 1503, 7]"]
220[Wall] 220[Wall]
221["Cap End"] 221[Wall]
225["SweepEdge Opposite"] 222[Wall]
226["SweepEdge Adjacent"] 223[Wall]
230["Sweep Extrusion<br>[1634, 1699, 7]"] 224["Cap Start"]
231[Wall] 225["Cap End"]
232["Cap Start"] 226["SweepEdge Opposite"]
233["Cap End"] 227["SweepEdge Adjacent"]
234["Sweep Extrusion<br>[1448, 1482, 5]"] 228["SweepEdge Opposite"]
235[Wall] 229["SweepEdge Adjacent"]
236["SweepEdge Opposite"] 230["SweepEdge Opposite"]
237["SweepEdge Adjacent"] 231["SweepEdge Adjacent"]
241["SweepEdge Opposite"] 232["SweepEdge Opposite"]
242["SweepEdge Adjacent"] 233["SweepEdge Adjacent"]
243["Sweep Extrusion<br>[1448, 1482, 5]"] 234["Plane<br>[2923, 2946, 5]"]
244["Sweep Extrusion<br>[1952, 1996, 7]"] 242["Sweep Extrusion<br>[3868, 3914, 5]"]
243[Wall]
244[Wall]
245[Wall] 245[Wall]
246["Sweep Extrusion<br>[1448, 1482, 5]"] 246[Wall]
247["SweepEdge Opposite"] 247["Cap Start"]
248["SweepEdge Adjacent"] 248["Cap End"]
249["Sweep Extrusion<br>[1952, 1996, 7]"] 249["SweepEdge Opposite"]
250["Sweep Extrusion<br>[1448, 1482, 5]"] 250["SweepEdge Adjacent"]
251["Sweep Extrusion<br>[1952, 1996, 7]"] 251["SweepEdge Opposite"]
252["Sweep Extrusion<br>[1448, 1482, 5]"] 252["SweepEdge Adjacent"]
253["Sweep Extrusion<br>[1952, 1996, 7]"] 253["SweepEdge Opposite"]
254["Plane<br>[1636, 1653, 5]"] 254["SweepEdge Adjacent"]
262["Sweep Revolve<br>[1983, 2000, 5]"] 255["SweepEdge Opposite"]
263[Wall] 256["SweepEdge Adjacent"]
264[Wall] 257["Plane<br>[4325, 4342, 5]"]
265[Wall] 284["Sweep Revolve<br>[5635, 5652, 5]"]
266[Wall] 285[Wall]
267["Sweep Extrusion<br>[1952, 1996, 7]"] 286[Wall]
268["SweepEdge Adjacent"] 287[Wall]
269["SweepEdge Adjacent"] 288[Wall]
270["SweepEdge Adjacent"] 289[Wall]
271["SweepEdge Adjacent"] 290[Wall]
272["Plane<br>[2086, 2103, 5]"] 291[Wall]
280["Sweep Revolve<br>[2450, 2467, 5]"] 292[Wall]
281[Wall] 293[Wall]
282[Wall] 294[Wall]
283[Wall] 295[Wall]
284[Wall] 296[Wall]
288["SweepEdge Adjacent"] 297[Wall]
289["SweepEdge Adjacent"] 298[Wall]
290["SweepEdge Adjacent"] 299[Wall]
291["SweepEdge Adjacent"] 300[Wall]
292["Plane<br>[2922, 2945, 5]"]
300["Sweep Extrusion<br>[3867, 3913, 5]"]
301[Wall] 301[Wall]
302[Wall] 302[Wall]
303[Wall] 303[Wall]
@ -412,38 +481,41 @@ flowchart LR
317["SweepEdge Adjacent"] 317["SweepEdge Adjacent"]
318["SweepEdge Opposite"] 318["SweepEdge Opposite"]
319["SweepEdge Adjacent"] 319["SweepEdge Adjacent"]
320["Sweep Extrusion<br>[2275, 2319, 7]"] 320["SweepEdge Adjacent"]
321["Plane<br>[2922, 2945, 5]"] 321["SweepEdge Adjacent"]
329["Sweep Extrusion<br>[3867, 3913, 5]"] 322["SweepEdge Adjacent"]
330[Wall] 323["SweepEdge Adjacent"]
331[Wall] 324["SweepEdge Adjacent"]
332[Wall] 325["SweepEdge Adjacent"]
333[Wall] 326["SweepEdge Adjacent"]
334["Cap Start"] 327["SweepEdge Adjacent"]
335["Cap End"] 328["SweepEdge Adjacent"]
336["Sweep Extrusion<br>[2275, 2319, 7]"] 329["SweepEdge Adjacent"]
337["SweepEdge Opposite"] 330["SweepEdge Adjacent"]
338["SweepEdge Adjacent"] 331["SweepEdge Adjacent"]
339["SweepEdge Opposite"] 332["SweepEdge Adjacent"]
340["SweepEdge Adjacent"] 333["Plane<br>[711, 737, 8]"]
341["SweepEdge Opposite"] 345["Sweep Revolve<br>[1188, 1205, 8]"]
342["SweepEdge Adjacent"] 346[Wall]
343["SweepEdge Opposite"] 347[Wall]
344["SweepEdge Adjacent"] 348[Wall]
345["Sweep Extrusion<br>[2275, 2319, 7]"] 349[Wall]
346["Plane<br>[4324, 4341, 5]"] 350[Wall]
373["Sweep Revolve<br>[5634, 5651, 5]"] 351[Wall]
374[Wall] 352[Wall]
375[Wall] 353[Wall]
376[Wall] 354[Wall]
377[Wall] 355["SweepEdge Adjacent"]
378[Wall] 356["SweepEdge Adjacent"]
379[Wall] 357["SweepEdge Adjacent"]
380[Wall] 358["SweepEdge Adjacent"]
381[Wall] 359["SweepEdge Adjacent"]
382[Wall] 360["SweepEdge Adjacent"]
383[Wall] 361["SweepEdge Adjacent"]
384[Wall] 362["SweepEdge Adjacent"]
363["SweepEdge Adjacent"]
364["Plane<br>[488, 505, 7]"]
384["Sweep Revolve<br>[2247, 2297, 7]"]
385[Wall] 385[Wall]
386[Wall] 386[Wall]
387[Wall] 387[Wall]

File diff suppressed because it is too large Load Diff

View File

@ -267,7 +267,7 @@ description: Artifact commands i-beam.kcl
"command": { "command": {
"type": "extrude", "type": "extrude",
"target": "[uuid]", "target": "[uuid]",
"distance": 72.00000000000001, "distance": 72.0,
"faces": null "faces": null
} }
}, },

View File

@ -1,15 +1,15 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[462, 500, 0]"] 2["Path<br>[463, 501, 0]"]
3["Segment<br>[506, 537, 0]"] 3["Segment<br>[507, 538, 0]"]
4["Segment<br>[543, 575, 0]"] 4["Segment<br>[544, 576, 0]"]
5["Segment<br>[581, 631, 0]"] 5["Segment<br>[582, 632, 0]"]
6["Segment<br>[637, 691, 0]"] 6["Segment<br>[638, 692, 0]"]
7["Segment<br>[697, 719, 0]"] 7["Segment<br>[698, 720, 0]"]
end end
1["Plane<br>[438, 456, 0]"] 1["Plane<br>[439, 457, 0]"]
8["Sweep Extrusion<br>[773, 801, 0]"] 8["Sweep Extrusion<br>[774, 802, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4

View File

@ -18,47 +18,40 @@ description: Result of parsing i-beam.kcl
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"commentStart": 0, "arguments": [
"end": 0, {
"left": {
"commentStart": 0,
"end": 0,
"raw": "6",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 6.0,
"suffix": "None"
}
},
"operator": "*",
"right": {
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"name": { "raw": "6",
"commentStart": 0,
"end": 0,
"name": "ft",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0, "start": 0,
"type": "Name" "type": "Literal",
}, "type": "Literal",
"value": {
"value": 6.0,
"suffix": "None"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "fromFt",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0, "start": 0,
"type": "CallExpression", "type": "Name"
"type": "CallExpression"
}, },
"commentStart": 0,
"end": 0,
"start": 0, "start": 0,
"type": "BinaryExpression", "type": "CallExpression",
"type": "BinaryExpression" "type": "CallExpression"
}, },
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"

View File

@ -23,7 +23,7 @@ description: Operations executed i-beam.kcl
"length": { "length": {
"value": { "value": {
"type": "Number", "type": "Number",
"value": 72.00000000000001, "value": 72.0,
"ty": { "ty": {
"type": "Default", "type": "Default",
"len": { "len": {

View File

@ -220,7 +220,7 @@ description: Variables in memory after executing i-beam.kcl
"type": "Inches" "type": "Inches"
} }
}, },
"height": 72.00000000000001, "height": 72.0,
"startCapId": "[uuid]", "startCapId": "[uuid]",
"endCapId": "[uuid]", "endCapId": "[uuid]",
"units": { "units": {

View File

@ -1,59 +1,59 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[535, 578, 0]"] 2["Path<br>[538, 581, 0]"]
3["Segment<br>[584, 637, 0]"] 3["Segment<br>[587, 640, 0]"]
4["Segment<br>[643, 745, 0]"] 4["Segment<br>[646, 748, 0]"]
5["Segment<br>[751, 804, 0]"] 5["Segment<br>[754, 807, 0]"]
6["Segment<br>[810, 857, 0]"] 6["Segment<br>[813, 860, 0]"]
7["Segment<br>[863, 958, 0]"] 7["Segment<br>[866, 961, 0]"]
8["Segment<br>[964, 1035, 0]"] 8["Segment<br>[967, 1038, 0]"]
9["Segment<br>[1041, 1092, 0]"] 9["Segment<br>[1044, 1095, 0]"]
10["Segment<br>[1098, 1151, 0]"] 10["Segment<br>[1101, 1154, 0]"]
11["Segment<br>[1157, 1226, 0]"] 11["Segment<br>[1160, 1229, 0]"]
12["Segment<br>[1232, 1268, 0]"] 12["Segment<br>[1235, 1271, 0]"]
13["Segment<br>[1274, 1304, 0]"] 13["Segment<br>[1277, 1307, 0]"]
14["Segment<br>[1310, 1340, 0]"] 14["Segment<br>[1313, 1343, 0]"]
15["Segment<br>[1346, 1376, 0]"] 15["Segment<br>[1349, 1379, 0]"]
16["Segment<br>[1382, 1412, 0]"] 16["Segment<br>[1385, 1415, 0]"]
17["Segment<br>[1418, 1447, 0]"] 17["Segment<br>[1421, 1450, 0]"]
18["Segment<br>[1453, 1483, 0]"] 18["Segment<br>[1456, 1486, 0]"]
19["Segment<br>[1489, 1518, 0]"] 19["Segment<br>[1492, 1521, 0]"]
20["Segment<br>[1524, 1553, 0]"] 20["Segment<br>[1527, 1556, 0]"]
21["Segment<br>[1559, 1655, 0]"] 21["Segment<br>[1562, 1658, 0]"]
22["Segment<br>[1661, 1717, 0]"] 22["Segment<br>[1664, 1720, 0]"]
23["Segment<br>[1723, 1730, 0]"] 23["Segment<br>[1726, 1733, 0]"]
24[Solid2d] 24[Solid2d]
end end
subgraph path85 [Path] subgraph path85 [Path]
85["Path<br>[1885, 1929, 0]"] 85["Path<br>[1888, 1932, 0]"]
86["Segment<br>[1935, 1997, 0]"] 86["Segment<br>[1938, 2000, 0]"]
87["Segment<br>[2003, 2116, 0]"] 87["Segment<br>[2006, 2119, 0]"]
88["Segment<br>[2122, 2242, 0]"] 88["Segment<br>[2125, 2245, 0]"]
89["Segment<br>[2248, 2304, 0]"] 89["Segment<br>[2251, 2307, 0]"]
90["Segment<br>[2310, 2317, 0]"] 90["Segment<br>[2313, 2320, 0]"]
91[Solid2d] 91[Solid2d]
end end
subgraph path107 [Path] subgraph path107 [Path]
107["Path<br>[2473, 2518, 0]"] 107["Path<br>[2476, 2521, 0]"]
108["Segment<br>[2524, 2584, 0]"] 108["Segment<br>[2527, 2587, 0]"]
109["Segment<br>[2590, 2703, 0]"] 109["Segment<br>[2593, 2706, 0]"]
110["Segment<br>[2709, 2829, 0]"] 110["Segment<br>[2712, 2832, 0]"]
111["Segment<br>[2835, 2891, 0]"] 111["Segment<br>[2838, 2894, 0]"]
112["Segment<br>[2897, 2904, 0]"] 112["Segment<br>[2900, 2907, 0]"]
113[Solid2d] 113[Solid2d]
end end
subgraph path129 [Path] subgraph path129 [Path]
129["Path<br>[3058, 3103, 0]"] 129["Path<br>[3061, 3106, 0]"]
130["Segment<br>[3109, 3176, 0]"] 130["Segment<br>[3112, 3179, 0]"]
131["Segment<br>[3182, 3295, 0]"] 131["Segment<br>[3185, 3298, 0]"]
132["Segment<br>[3301, 3421, 0]"] 132["Segment<br>[3304, 3424, 0]"]
133["Segment<br>[3427, 3483, 0]"] 133["Segment<br>[3430, 3486, 0]"]
134["Segment<br>[3489, 3496, 0]"] 134["Segment<br>[3492, 3499, 0]"]
135[Solid2d] 135[Solid2d]
end end
1["Plane<br>[512, 529, 0]"] 1["Plane<br>[515, 532, 0]"]
25["Sweep Extrusion<br>[1773, 1803, 0]"] 25["Sweep Extrusion<br>[1776, 1806, 0]"]
26[Wall] 26[Wall]
27[Wall] 27[Wall]
28[Wall] 28[Wall]
@ -113,7 +113,7 @@ flowchart LR
82["SweepEdge Adjacent"] 82["SweepEdge Adjacent"]
83["SweepEdge Opposite"] 83["SweepEdge Opposite"]
84["SweepEdge Adjacent"] 84["SweepEdge Adjacent"]
92["Sweep Extrusion<br>[2361, 2392, 0]"] 92["Sweep Extrusion<br>[2364, 2395, 0]"]
93[Wall] 93[Wall]
94[Wall] 94[Wall]
95[Wall] 95[Wall]
@ -128,7 +128,7 @@ flowchart LR
104["SweepEdge Adjacent"] 104["SweepEdge Adjacent"]
105["SweepEdge Opposite"] 105["SweepEdge Opposite"]
106["SweepEdge Adjacent"] 106["SweepEdge Adjacent"]
114["Sweep Extrusion<br>[2947, 2978, 0]"] 114["Sweep Extrusion<br>[2950, 2981, 0]"]
115[Wall] 115[Wall]
116[Wall] 116[Wall]
117[Wall] 117[Wall]
@ -143,7 +143,7 @@ flowchart LR
126["SweepEdge Adjacent"] 126["SweepEdge Adjacent"]
127["SweepEdge Opposite"] 127["SweepEdge Opposite"]
128["SweepEdge Adjacent"] 128["SweepEdge Adjacent"]
136["Sweep Extrusion<br>[3540, 3570, 0]"] 136["Sweep Extrusion<br>[3543, 3573, 0]"]
137[Wall] 137[Wall]
138[Wall] 138[Wall]
139[Wall] 139[Wall]
@ -158,9 +158,9 @@ flowchart LR
148["SweepEdge Adjacent"] 148["SweepEdge Adjacent"]
149["SweepEdge Opposite"] 149["SweepEdge Opposite"]
150["SweepEdge Adjacent"] 150["SweepEdge Adjacent"]
151["StartSketchOnFace<br>[1845, 1879, 0]"] 151["StartSketchOnFace<br>[1848, 1882, 0]"]
152["StartSketchOnFace<br>[2433, 2467, 0]"] 152["StartSketchOnFace<br>[2436, 2470, 0]"]
153["StartSketchOnFace<br>[3020, 3052, 0]"] 153["StartSketchOnFace<br>[3023, 3055, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4

View File

@ -54,67 +54,60 @@ description: Result of parsing router-template-cross-bar.kcl
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"commentStart": 0, "arguments": [
"end": 0, {
"left": {
"commentStart": 0,
"end": 0,
"left": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "11", "left": {
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 11.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "16",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 16.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"name": "inch", "raw": "11",
"start": 0, "start": 0,
"type": "Identifier" "type": "Literal",
"type": "Literal",
"value": {
"value": 11.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "16",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 16.0,
"suffix": "None"
}
}, },
"path": [],
"start": 0, "start": 0,
"type": "Name" "type": "BinaryExpression",
}, "type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "fromInches",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0, "start": 0,
"type": "CallExpression", "type": "Name"
"type": "CallExpression"
}, },
"commentStart": 0,
"end": 0,
"start": 0, "start": 0,
"type": "BinaryExpression", "type": "CallExpression",
"type": "BinaryExpression" "type": "CallExpression"
}, },
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"

View File

@ -1,42 +1,42 @@
```mermaid ```mermaid
flowchart LR flowchart LR
subgraph path2 [Path] subgraph path2 [Path]
2["Path<br>[534, 577, 0]"] 2["Path<br>[537, 580, 0]"]
3["Segment<br>[583, 622, 0]"] 3["Segment<br>[586, 625, 0]"]
4["Segment<br>[628, 726, 0]"] 4["Segment<br>[631, 729, 0]"]
5["Segment<br>[732, 808, 0]"] 5["Segment<br>[735, 811, 0]"]
6["Segment<br>[814, 883, 0]"] 6["Segment<br>[817, 886, 0]"]
7["Segment<br>[889, 929, 0]"] 7["Segment<br>[892, 932, 0]"]
8["Segment<br>[935, 971, 0]"] 8["Segment<br>[938, 974, 0]"]
9["Segment<br>[1011, 1041, 0]"] 9["Segment<br>[1014, 1044, 0]"]
10["Segment<br>[1047, 1076, 0]"] 10["Segment<br>[1050, 1079, 0]"]
11["Segment<br>[1082, 1111, 0]"] 11["Segment<br>[1085, 1114, 0]"]
12["Segment<br>[1117, 1146, 0]"] 12["Segment<br>[1120, 1149, 0]"]
13["Segment<br>[1152, 1252, 0]"] 13["Segment<br>[1155, 1255, 0]"]
14["Segment<br>[1258, 1314, 0]"] 14["Segment<br>[1261, 1317, 0]"]
15["Segment<br>[1320, 1327, 0]"] 15["Segment<br>[1323, 1330, 0]"]
16[Solid2d] 16[Solid2d]
end end
subgraph path52 [Path] subgraph path52 [Path]
52["Path<br>[1482, 1582, 0]"] 52["Path<br>[1485, 1585, 0]"]
53["Segment<br>[1588, 1635, 0]"] 53["Segment<br>[1591, 1638, 0]"]
54["Segment<br>[1641, 1756, 0]"] 54["Segment<br>[1644, 1759, 0]"]
55["Segment<br>[1762, 1882, 0]"] 55["Segment<br>[1765, 1885, 0]"]
56["Segment<br>[1888, 1944, 0]"] 56["Segment<br>[1891, 1947, 0]"]
57["Segment<br>[1950, 1957, 0]"] 57["Segment<br>[1953, 1960, 0]"]
58[Solid2d] 58[Solid2d]
end end
subgraph path74 [Path] subgraph path74 [Path]
74["Path<br>[2114, 2213, 0]"] 74["Path<br>[2117, 2216, 0]"]
75["Segment<br>[2219, 2265, 0]"] 75["Segment<br>[2222, 2268, 0]"]
76["Segment<br>[2271, 2363, 0]"] 76["Segment<br>[2274, 2366, 0]"]
77["Segment<br>[2369, 2466, 0]"] 77["Segment<br>[2372, 2469, 0]"]
78["Segment<br>[2472, 2528, 0]"] 78["Segment<br>[2475, 2531, 0]"]
79["Segment<br>[2534, 2541, 0]"] 79["Segment<br>[2537, 2544, 0]"]
80[Solid2d] 80[Solid2d]
end end
1["Plane<br>[511, 528, 0]"] 1["Plane<br>[514, 531, 0]"]
17["Sweep Extrusion<br>[1370, 1400, 0]"] 17["Sweep Extrusion<br>[1373, 1403, 0]"]
18[Wall] 18[Wall]
19[Wall] 19[Wall]
20[Wall] 20[Wall]
@ -71,7 +71,7 @@ flowchart LR
49["SweepEdge Opposite"] 49["SweepEdge Opposite"]
50["SweepEdge Adjacent"] 50["SweepEdge Adjacent"]
51["SweepEdge Opposite"] 51["SweepEdge Opposite"]
59["Sweep Extrusion<br>[2001, 2033, 0]"] 59["Sweep Extrusion<br>[2004, 2036, 0]"]
60[Wall] 60[Wall]
61[Wall] 61[Wall]
62[Wall] 62[Wall]
@ -86,7 +86,7 @@ flowchart LR
71["SweepEdge Adjacent"] 71["SweepEdge Adjacent"]
72["SweepEdge Opposite"] 72["SweepEdge Opposite"]
73["SweepEdge Adjacent"] 73["SweepEdge Adjacent"]
81["Sweep Extrusion<br>[2584, 2616, 0]"] 81["Sweep Extrusion<br>[2587, 2619, 0]"]
82[Wall] 82[Wall]
83[Wall] 83[Wall]
84[Wall] 84[Wall]
@ -101,8 +101,8 @@ flowchart LR
93["SweepEdge Adjacent"] 93["SweepEdge Adjacent"]
94["SweepEdge Opposite"] 94["SweepEdge Opposite"]
95["SweepEdge Adjacent"] 95["SweepEdge Adjacent"]
96["StartSketchOnFace<br>[1442, 1476, 0]"] 96["StartSketchOnFace<br>[1445, 1479, 0]"]
97["StartSketchOnFace<br>[2074, 2108, 0]"] 97["StartSketchOnFace<br>[2077, 2111, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4

View File

@ -54,67 +54,60 @@ description: Result of parsing router-template-slate.kcl
"type": "Identifier" "type": "Identifier"
}, },
"init": { "init": {
"commentStart": 0, "arguments": [
"end": 0, {
"left": {
"commentStart": 0,
"end": 0,
"left": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "11", "left": {
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 11.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "16",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 16.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "*",
"right": {
"arguments": [],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"name": "inch", "raw": "11",
"start": 0, "start": 0,
"type": "Identifier" "type": "Literal",
"type": "Literal",
"value": {
"value": 11.0,
"suffix": "None"
}
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "16",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 16.0,
"suffix": "None"
}
}, },
"path": [],
"start": 0, "start": 0,
"type": "Name" "type": "BinaryExpression",
}, "type": "BinaryExpression"
}
],
"callee": {
"abs_path": false,
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "fromInches",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0, "start": 0,
"type": "CallExpression", "type": "Name"
"type": "CallExpression"
}, },
"commentStart": 0,
"end": 0,
"start": 0, "start": 0,
"type": "BinaryExpression", "type": "CallExpression",
"type": "BinaryExpression" "type": "CallExpression"
}, },
"start": 0, "start": 0,
"type": "VariableDeclarator" "type": "VariableDeclarator"

View File

@ -28,9 +28,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -48,9 +48,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -61,9 +61,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -74,9 +74,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -139,9 +139,9 @@ description: Variables in memory after executing router-template-slate.kcl
28.1188 28.1188
], ],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -189,9 +189,9 @@ description: Variables in memory after executing router-template-slate.kcl
20.0 20.0
], ],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -214,9 +214,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -239,9 +239,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -264,9 +264,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938 -122.4938
], ],
"tag": { "tag": {
"commentStart": 964, "commentStart": 967,
"end": 970, "end": 973,
"start": 964, "start": 967,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg02" "value": "seg02"
}, },
@ -514,9 +514,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 1613, "commentStart": 1616,
"end": 1634, "end": 1637,
"start": 1613, "start": 1616,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentA001" "value": "rectangleSegmentA001"
}, },
@ -527,9 +527,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 1734, "commentStart": 1737,
"end": 1755, "end": 1758,
"start": 1734, "start": 1737,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentB001" "value": "rectangleSegmentB001"
}, },
@ -540,9 +540,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 1860, "commentStart": 1863,
"end": 1881, "end": 1884,
"start": 1860, "start": 1863,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentC001" "value": "rectangleSegmentC001"
}, },
@ -570,9 +570,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 1613, "commentStart": 1616,
"end": 1634, "end": 1637,
"start": 1613, "start": 1616,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentA001" "value": "rectangleSegmentA001"
}, },
@ -595,9 +595,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 1734, "commentStart": 1737,
"end": 1755, "end": 1758,
"start": 1734, "start": 1737,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentB001" "value": "rectangleSegmentB001"
}, },
@ -620,9 +620,9 @@ description: Variables in memory after executing router-template-slate.kcl
-92.4938 -92.4938
], ],
"tag": { "tag": {
"commentStart": 1860, "commentStart": 1863,
"end": 1881, "end": 1884,
"start": 1860, "start": 1863,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentC001" "value": "rectangleSegmentC001"
}, },
@ -704,9 +704,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -724,9 +724,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -737,9 +737,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -750,9 +750,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -815,9 +815,9 @@ description: Variables in memory after executing router-template-slate.kcl
28.1188 28.1188
], ],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -865,9 +865,9 @@ description: Variables in memory after executing router-template-slate.kcl
20.0 20.0
], ],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -890,9 +890,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -915,9 +915,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -940,9 +940,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938 -122.4938
], ],
"tag": { "tag": {
"commentStart": 964, "commentStart": 967,
"end": 970, "end": 973,
"start": 964, "start": 967,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg02" "value": "seg02"
}, },
@ -1239,9 +1239,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 2243, "commentStart": 2246,
"end": 2264, "end": 2267,
"start": 2243, "start": 2246,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentA002" "value": "rectangleSegmentA002"
}, },
@ -1283,9 +1283,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 2243, "commentStart": 2246,
"end": 2264, "end": 2267,
"start": 2243, "start": 2246,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentA002" "value": "rectangleSegmentA002"
}, },
@ -1405,9 +1405,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -1425,9 +1425,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -1438,9 +1438,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -1451,9 +1451,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -1516,9 +1516,9 @@ description: Variables in memory after executing router-template-slate.kcl
28.1188 28.1188
], ],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -1566,9 +1566,9 @@ description: Variables in memory after executing router-template-slate.kcl
20.0 20.0
], ],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -1591,9 +1591,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -1616,9 +1616,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -1641,9 +1641,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938 -122.4938
], ],
"tag": { "tag": {
"commentStart": 964, "commentStart": 967,
"end": 970, "end": 973,
"start": 964, "start": 967,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg02" "value": "seg02"
}, },
@ -2041,9 +2041,9 @@ description: Variables in memory after executing router-template-slate.kcl
28.1188 28.1188
], ],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -2091,9 +2091,9 @@ description: Variables in memory after executing router-template-slate.kcl
20.0 20.0
], ],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -2116,9 +2116,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -2141,9 +2141,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -2166,9 +2166,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938 -122.4938
], ],
"tag": { "tag": {
"commentStart": 964, "commentStart": 967,
"end": 970, "end": 973,
"start": 964, "start": 967,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg02" "value": "seg02"
}, },
@ -2413,9 +2413,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 1613, "commentStart": 1616,
"end": 1634, "end": 1637,
"start": 1613, "start": 1616,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentA001" "value": "rectangleSegmentA001"
}, },
@ -2438,9 +2438,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 1734, "commentStart": 1737,
"end": 1755, "end": 1758,
"start": 1734, "start": 1737,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentB001" "value": "rectangleSegmentB001"
}, },
@ -2463,9 +2463,9 @@ description: Variables in memory after executing router-template-slate.kcl
-92.4938 -92.4938
], ],
"tag": { "tag": {
"commentStart": 1860, "commentStart": 1863,
"end": 1881, "end": 1884,
"start": 1860, "start": 1863,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentC001" "value": "rectangleSegmentC001"
}, },
@ -2547,9 +2547,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -2567,9 +2567,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -2580,9 +2580,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -2593,9 +2593,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -2658,9 +2658,9 @@ description: Variables in memory after executing router-template-slate.kcl
28.1188 28.1188
], ],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -2708,9 +2708,9 @@ description: Variables in memory after executing router-template-slate.kcl
20.0 20.0
], ],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -2733,9 +2733,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -2758,9 +2758,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -2783,9 +2783,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938 -122.4938
], ],
"tag": { "tag": {
"commentStart": 964, "commentStart": 967,
"end": 970, "end": 973,
"start": 964, "start": 967,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg02" "value": "seg02"
}, },
@ -3079,9 +3079,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 2243, "commentStart": 2246,
"end": 2264, "end": 2267,
"start": 2243, "start": 2246,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "rectangleSegmentA002" "value": "rectangleSegmentA002"
}, },
@ -3201,9 +3201,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -3221,9 +3221,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -3234,9 +3234,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -3247,9 +3247,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": [],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -3312,9 +3312,9 @@ description: Variables in memory after executing router-template-slate.kcl
28.1188 28.1188
], ],
"tag": { "tag": {
"commentStart": 615, "commentStart": 618,
"end": 621, "end": 624,
"start": 615, "start": 618,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg01" "value": "seg01"
}, },
@ -3362,9 +3362,9 @@ description: Variables in memory after executing router-template-slate.kcl
20.0 20.0
], ],
"tag": { "tag": {
"commentStart": 801, "commentStart": 804,
"end": 807, "end": 810,
"start": 801, "start": 804,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg05" "value": "seg05"
}, },
@ -3387,9 +3387,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 876, "commentStart": 879,
"end": 882, "end": 885,
"start": 876, "start": 879,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg04" "value": "seg04"
}, },
@ -3412,9 +3412,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937 -12.4937
], ],
"tag": { "tag": {
"commentStart": 922, "commentStart": 925,
"end": 928, "end": 931,
"start": 922, "start": 925,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg03" "value": "seg03"
}, },
@ -3437,9 +3437,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938 -122.4938
], ],
"tag": { "tag": {
"commentStart": 964, "commentStart": 967,
"end": 970, "end": 973,
"start": 964, "start": 967,
"type": "TagDeclarator", "type": "TagDeclarator",
"value": "seg02" "value": "seg02"
}, },

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

347
yarn.lock
View File

@ -1172,28 +1172,29 @@
ajv "^6.12.0" ajv "^6.12.0"
ajv-keywords "^3.4.1" ajv-keywords "^3.4.1"
"@electron-forge/cli@^7.7.0": "@electron-forge/cli@^7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/cli/-/cli-7.7.0.tgz#49403db97e20133bac71cd41e010568aa12a2c87" resolved "https://registry.yarnpkg.com/@electron-forge/cli/-/cli-7.8.0.tgz#871e6f5e491cf7c41b11847f3176369176c2e073"
integrity sha512-QfnjghmlHMb7dyArR5cbPA+MP9ff/ulWZi6R/a5MkHlKyhrysRfjzDtZDsmkEv9mGQgRwylssgXrZrKHGlxFkw== integrity sha512-XZ+Hg7pxeE9pgrahqcpMlND+VH0l0UTZLyO5wkI+YfanNyBQksB2mw24XeEtCA6x8F2IaEYdIGgijmPF6qpjzA==
dependencies: dependencies:
"@electron-forge/core" "7.7.0" "@electron-forge/core" "7.8.0"
"@electron-forge/core-utils" "7.7.0" "@electron-forge/core-utils" "7.8.0"
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron/get" "^3.0.0" "@electron/get" "^3.0.0"
chalk "^4.0.0" chalk "^4.0.0"
commander "^11.1.0" commander "^11.1.0"
debug "^4.3.1" debug "^4.3.1"
fs-extra "^10.0.0" fs-extra "^10.0.0"
listr2 "^7.0.2" listr2 "^7.0.2"
log-symbols "^4.0.0"
semver "^7.2.1" semver "^7.2.1"
"@electron-forge/core-utils@7.7.0": "@electron-forge/core-utils@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/core-utils/-/core-utils-7.7.0.tgz#3875151c4cb915132f86e5d086119f57deb44de2" resolved "https://registry.yarnpkg.com/@electron-forge/core-utils/-/core-utils-7.8.0.tgz#e38682c892ac260d9f60ac11c3f9f7c150e56fde"
integrity sha512-kgOkiLzqnySkcpt26rBg8AoZsI1ID3f6s/dQlzfRJisWZTKTu4ryiMcaC0F07DVjaYFnEl9SQ86IvkTcyS97mQ== integrity sha512-ZioRzqkXVOGuwkfvXN/FPZxcssJ9AkOZx6RvxomQn90F77G2KfEbw4ZwAxVTQ+jWNUzydTic5qavWle++Y5IeA==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron/rebuild" "^3.7.0" "@electron/rebuild" "^3.7.0"
"@malept/cross-spawn-promise" "^2.0.0" "@malept/cross-spawn-promise" "^2.0.0"
chalk "^4.0.0" chalk "^4.0.0"
@ -1203,22 +1204,22 @@
log-symbols "^4.0.0" log-symbols "^4.0.0"
semver "^7.2.1" semver "^7.2.1"
"@electron-forge/core@7.7.0": "@electron-forge/core@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/core/-/core-7.7.0.tgz#f97ca8c2bea3c212b951d29cec14f04a51b3d038" resolved "https://registry.yarnpkg.com/@electron-forge/core/-/core-7.8.0.tgz#45991916312c6ee76cb627653c565182a3dd189b"
integrity sha512-BWhg1Zw1bhpDuZowGH3lXDiL9zZBsYFNjtqyMqmkjcEm5xf9Dzs8mpRpNjtkpf3jit3LB4PNGMLj3c8ix0h4vQ== integrity sha512-7byf660ECZND+irOhGxvpmRXjk1bMrsTWh5J2AZMEvaXI8tub9OrZY9VSbi5fcDt0lpHPKmgVk7NRf/ZjJ+beQ==
dependencies: dependencies:
"@electron-forge/core-utils" "7.7.0" "@electron-forge/core-utils" "7.8.0"
"@electron-forge/maker-base" "7.7.0" "@electron-forge/maker-base" "7.8.0"
"@electron-forge/plugin-base" "7.7.0" "@electron-forge/plugin-base" "7.8.0"
"@electron-forge/publisher-base" "7.7.0" "@electron-forge/publisher-base" "7.8.0"
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/template-base" "7.7.0" "@electron-forge/template-base" "7.8.0"
"@electron-forge/template-vite" "7.7.0" "@electron-forge/template-vite" "7.8.0"
"@electron-forge/template-vite-typescript" "7.7.0" "@electron-forge/template-vite-typescript" "7.8.0"
"@electron-forge/template-webpack" "7.7.0" "@electron-forge/template-webpack" "7.8.0"
"@electron-forge/template-webpack-typescript" "7.7.0" "@electron-forge/template-webpack-typescript" "7.8.0"
"@electron-forge/tracer" "7.7.0" "@electron-forge/tracer" "7.8.0"
"@electron/get" "^3.0.0" "@electron/get" "^3.0.0"
"@electron/packager" "^18.3.5" "@electron/packager" "^18.3.5"
"@electron/rebuild" "^3.7.0" "@electron/rebuild" "^3.7.0"
@ -1242,120 +1243,120 @@
sudo-prompt "^9.1.1" sudo-prompt "^9.1.1"
username "^5.1.0" username "^5.1.0"
"@electron-forge/maker-base@7.7.0": "@electron-forge/maker-base@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/maker-base/-/maker-base-7.7.0.tgz#11882c4a3638a3031103a339459184430f6daa89" resolved "https://registry.yarnpkg.com/@electron-forge/maker-base/-/maker-base-7.8.0.tgz#4790a4cd477bd5952aba783e9ff433d15a56217c"
integrity sha512-9u+mmBLBAUHuH0+IGw94EGVTDD4CPKX05h5pp5/PIaijy16ss5dymK4vEp3s2XJMFlza2PsCgLLYBgDcAE2Dqg== integrity sha512-yGRvz70w+NnKO7PhzNFRgYM+x6kxYFgpbChJIQBs3WChd9bGjL+MZLrwYqmxOFLpWNwRAJ6PEi4E/8U5GgV6AQ==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
which "^2.0.2" which "^2.0.2"
"@electron-forge/plugin-base@7.7.0": "@electron-forge/plugin-base@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/plugin-base/-/plugin-base-7.7.0.tgz#4b8ccd3ecc34474c82ec1623058ef4c4824b5335" resolved "https://registry.yarnpkg.com/@electron-forge/plugin-base/-/plugin-base-7.8.0.tgz#bb617781c28b99d2b65d6f2e66679b245d388e78"
integrity sha512-6wisQ4ZKOWey48wFF+JHzih7AuQuVma5KauwNEju2Dh2ibwDMJmPy0FWVolMSg7XUIMbGKLADGilxX6XRv8qNQ== integrity sha512-rDeeChRWIp5rQVo3Uc1q0ncUvA+kWWURW7tMuQjPvy2qVSgX+jIf5krk+T1Dp06+D4YZzEIrkibRaamAaIcR1w==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/plugin-fuses@^7.7.0": "@electron-forge/plugin-fuses@^7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/plugin-fuses/-/plugin-fuses-7.7.0.tgz#3f922826f256012cdc86b8561595b80da2958455" resolved "https://registry.yarnpkg.com/@electron-forge/plugin-fuses/-/plugin-fuses-7.8.0.tgz#8c526146a8c5b14584b1844e81af13c26514498d"
integrity sha512-Mg6JoCZ0rZIwnAp/jyawAQytFQZG/1BVahBYsaoWMMv7TISYCbauXdRvl2ja8VPaHymle2zE7WsTwZvKy+sp2A== integrity sha512-ZxFtol3aHNY+oYrZWa7EDBLl4uk/+NlOCJmqC7C32R/3S/Kn2ebVRxpLwrFM12KtHeD+Z3gmZNBhwOe0TECgOA==
dependencies: dependencies:
"@electron-forge/plugin-base" "7.7.0" "@electron-forge/plugin-base" "7.8.0"
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/plugin-vite@^7.7.0": "@electron-forge/plugin-vite@^7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/plugin-vite/-/plugin-vite-7.7.0.tgz#241e10c3d0349fac421c42a3ae0b9b39f1e5e0e2" resolved "https://registry.yarnpkg.com/@electron-forge/plugin-vite/-/plugin-vite-7.8.0.tgz#da57830c604a183ef4ae9b3ca01ac458e501bab9"
integrity sha512-o/4Z+Rffg8sFwEePcrWIkRTGjMI+uu9Fd2agZlv7s0t2bmxdvSoc4RIAhsuqbI7h3zxi9l60Tofr0uCsPFz1Vg== integrity sha512-qopX6DU51mUD4bnGYklo5nr0U+hmwATKQavUpncg1i+R0pyYSUrYSVYu2HVFNj8F9QXDyXhf1I2AwwZe9STYug==
dependencies: dependencies:
"@electron-forge/core-utils" "7.7.0" "@electron-forge/core-utils" "7.8.0"
"@electron-forge/plugin-base" "7.7.0" "@electron-forge/plugin-base" "7.8.0"
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/web-multi-logger" "7.7.0" "@electron-forge/web-multi-logger" "7.8.0"
chalk "^4.0.0" chalk "^4.0.0"
debug "^4.3.1" debug "^4.3.1"
fs-extra "^10.0.0" fs-extra "^10.0.0"
listr2 "^7.0.2" listr2 "^7.0.2"
"@electron-forge/publisher-base@7.7.0": "@electron-forge/publisher-base@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/publisher-base/-/publisher-base-7.7.0.tgz#0fc5b70fbdef0cb643eb11945294b2d0c7adcd3c" resolved "https://registry.yarnpkg.com/@electron-forge/publisher-base/-/publisher-base-7.8.0.tgz#5b86f7dec28aecf19448a54b7f65371e18bcc9c7"
integrity sha512-jHKvUc1peBBSl2t5d1x6M3CNyCMyNB+NnTO9LmA1dWFQ3oRDFwromIH5KjRqPJj6l4AyH0/XJogdO7Nn4Eyn6Q== integrity sha512-wrZyptJ0Uqvlh2wYzDZfIu2HgCQ+kdGiBlcucmLY4W+GUqf043O8cbYso3D9NXQxOow55QC/1saCQkgLphprPA==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/shared-types@7.7.0": "@electron-forge/shared-types@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/shared-types/-/shared-types-7.7.0.tgz#936e6ded34e53a2bbd82583ce1e4c127e423f33d" resolved "https://registry.yarnpkg.com/@electron-forge/shared-types/-/shared-types-7.8.0.tgz#dbc9b20ecd547d0758d7abc90587983c7f2fd3e8"
integrity sha512-1zQsmudkAuHv0HnJtSJY3pvTeuN3fnSa9BR6cbeUlcpOfrnG4OTG03FqerHfyIWaBRVy7jGgif0NhKKE9azKyg== integrity sha512-Ul+7HPvAZiAirqpZm0vc9YvlkAE+2bcrI10p3t50mEtuxn5VO/mB72NXiEKfWzHm8F31JySIe9bUV6s1MHQcCw==
dependencies: dependencies:
"@electron-forge/tracer" "7.7.0" "@electron-forge/tracer" "7.8.0"
"@electron/packager" "^18.3.5" "@electron/packager" "^18.3.5"
"@electron/rebuild" "^3.7.0" "@electron/rebuild" "^3.7.0"
listr2 "^7.0.2" listr2 "^7.0.2"
"@electron-forge/template-base@7.7.0": "@electron-forge/template-base@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/template-base/-/template-base-7.7.0.tgz#fb7286068178d5bace64745ea0e409ef95ea0174" resolved "https://registry.yarnpkg.com/@electron-forge/template-base/-/template-base-7.8.0.tgz#9721d6c42120db094c83436404a458a2cb6e5412"
integrity sha512-jwnhEHNIyQfbwJ6R8SuZIJApHKBykDr/rSgUF3km9nr2qAUSoUUV7RaJa/uiQJMtvamXenuo5K84C2NzumzS3A== integrity sha512-hc8NwoDqEEmZFH/p0p3MK/7xygMmI+cm8Gavoj2Mr2xS7VUUu4r3b5PwIGKvkLfPG34uwsiVwtid2t1rWGF4UA==
dependencies: dependencies:
"@electron-forge/core-utils" "7.7.0" "@electron-forge/core-utils" "7.8.0"
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@malept/cross-spawn-promise" "^2.0.0" "@malept/cross-spawn-promise" "^2.0.0"
debug "^4.3.1" debug "^4.3.1"
fs-extra "^10.0.0" fs-extra "^10.0.0"
username "^5.1.0" username "^5.1.0"
"@electron-forge/template-vite-typescript@7.7.0": "@electron-forge/template-vite-typescript@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.7.0.tgz#e9d8e0212c6a8389e0eef0ee203a726a4e4c3413" resolved "https://registry.yarnpkg.com/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.8.0.tgz#106558f6e3af263629e730fd2a60e9eaffefb7cf"
integrity sha512-32C/+PF+hIloTdbRx7OutvqnTkkC7BHeQxNw4/zG2TfQ3cjl7JUD6A2UvTUHtv5KHkK2hDw6ZdahPwpJO41YSA== integrity sha512-kW3CaVxKHUYuVfY+rT3iepeZ69frBRGh3YZOngLY2buCvGIqNEx+VCgrFBRDDbOKGmwQtwO1E9wp2rtC8q6Ztg==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/template-base" "7.7.0" "@electron-forge/template-base" "7.8.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
"@electron-forge/template-vite@7.7.0": "@electron-forge/template-vite@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/template-vite/-/template-vite-7.7.0.tgz#c80717aea2799ee071f3dddd0297dcf5c8e69cb9" resolved "https://registry.yarnpkg.com/@electron-forge/template-vite/-/template-vite-7.8.0.tgz#8906aa82cb4c0efc3501da0141a9dd382715dd86"
integrity sha512-6p+U6FDWrmF7XgSLkrO07OOgJcrrrArbnExSckGJdBnupxmIDf1Y+exwfHHKdxX6/FfkA6JST5nRGjgA5CFqcw== integrity sha512-bf/jd8WzD0gU7Jet+WSi0Lm0SQmseb08WY27ZfJYEs2EVNMiwDfPicgQnOaqP++2yTrXhj1OY/rolZCP9CUyVw==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/template-base" "7.7.0" "@electron-forge/template-base" "7.8.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
"@electron-forge/template-webpack-typescript@7.7.0": "@electron-forge/template-webpack-typescript@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.7.0.tgz#e929235ffeb800a93970c1ff0b4b347264c186c6" resolved "https://registry.yarnpkg.com/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.8.0.tgz#26731829d8fa18196ae65bf3db46fb6659b1eac7"
integrity sha512-w1vRAjGy0MjjdEDYPpZcpkMo2e3z5uEwfJdwVOpBeha7p2WM/Y6go21K+7pSqGp8Xmq4zlE20hq5MEx8Bs8eZg== integrity sha512-Pl8l+gv3HzqCfFIMLxlEsoAkNd0VEWeZZ675SYyqs0/kBQUifn0bKNhVE4gUZwKGgQCcG1Gvb23KdVGD3H3XmA==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/template-base" "7.7.0" "@electron-forge/template-base" "7.8.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
"@electron-forge/template-webpack@7.7.0": "@electron-forge/template-webpack@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/template-webpack/-/template-webpack-7.7.0.tgz#3054b4befa5977e6d759859e2202a5d95cfeb931" resolved "https://registry.yarnpkg.com/@electron-forge/template-webpack/-/template-webpack-7.8.0.tgz#b85b2827193142c6c836ceec8a1776471fdd28c4"
integrity sha512-7Hb1wejKqtvPXqhelubUNAh39FtClB/4JDtWzyAsL2iC3XeB5qh6pITz8+nW/rF2qW/JAepc/lnreqKn34P2ig== integrity sha512-AdLGC6NVgrd7Q0SaaeiwJKmSBjN6C2EHxZgLMy1yxNSpazU9m3DtYQilDjXqmCWfxkeNzdke0NaeDvLgdJSw5A==
dependencies: dependencies:
"@electron-forge/shared-types" "7.7.0" "@electron-forge/shared-types" "7.8.0"
"@electron-forge/template-base" "7.7.0" "@electron-forge/template-base" "7.8.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
"@electron-forge/tracer@7.7.0": "@electron-forge/tracer@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/tracer/-/tracer-7.7.0.tgz#a90be0b2e4c797b6cd3f1a3abcb0649cd397cf6e" resolved "https://registry.yarnpkg.com/@electron-forge/tracer/-/tracer-7.8.0.tgz#19a9a8164efd2b7a9fa144d424d5e714f115cf77"
integrity sha512-R/JiGFzWhwfVyc6ioT4l5FFChRLS4Z2tWPeQfPcyoemdpzKpI1rvMHti42gzWXFW8GdzkhG0G3ZWfKiF3y3x/Q== integrity sha512-t4fIATZEX6/7PJNfyh6tLzKEsNMpO01Nz/rgHWBxeRvjCw5UNul9OOxoM7b43vfFAO9Jv++34oI3VJ09LeVQ2Q==
dependencies: dependencies:
chrome-trace-event "^1.0.3" chrome-trace-event "^1.0.3"
"@electron-forge/web-multi-logger@7.7.0": "@electron-forge/web-multi-logger@7.8.0":
version "7.7.0" version "7.8.0"
resolved "https://registry.yarnpkg.com/@electron-forge/web-multi-logger/-/web-multi-logger-7.7.0.tgz#e42d9aba62bf169c22d57e87891c02448d59da47" resolved "https://registry.yarnpkg.com/@electron-forge/web-multi-logger/-/web-multi-logger-7.8.0.tgz#634bcc98e841d67f252a8e9a52821bddf0821dca"
integrity sha512-ZuS/3knF/tDmisMMQpePTVUIV2DEoegV9RHYlOkzf4JVm91XKH6D/wIzQFGVlup9zkG2u0KYb5I8v56oY1p94g== integrity sha512-2nUP7O9auXDsoa185AsZPlIbpargj1lNFweNH1Lch1MCwLlJOI9ZJHiCTAB4qviS4usRs00WeebWg/uN/zOWvA==
dependencies: dependencies:
express "^4.17.1" express "^4.17.1"
express-ws "^5.0.2" express-ws "^5.0.2"
@ -2480,12 +2481,12 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433"
integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==
"@types/node@*", "@types/node@^22.13.14": "@types/node@*", "@types/node@^22.14.0":
version "22.13.14" version "22.14.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.14.tgz#70d84ec91013dcd2ba2de35532a5a14c2b4cc912" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.0.tgz#d3bfa3936fef0dbacd79ea3eb17d521c628bb47e"
integrity sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w== integrity sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==
dependencies: dependencies:
undici-types "~6.20.0" undici-types "~6.21.0"
"@types/node@^20.9.0": "@types/node@^20.9.0":
version "20.14.13" version "20.14.13"
@ -2567,10 +2568,10 @@
dependencies: dependencies:
"@types/jest" "*" "@types/jest" "*"
"@types/three@^0.174.0": "@types/three@^0.175.0":
version "0.174.0" version "0.175.0"
resolved "https://registry.yarnpkg.com/@types/three/-/three-0.174.0.tgz#994787330a9f6502d37c8783578d2180d89bc406" resolved "https://registry.yarnpkg.com/@types/three/-/three-0.175.0.tgz#dfb15b3e2d09a16c6e2fd8caeaf5c35f7b6d7e6a"
integrity sha512-De/+vZnfg2aVWNiuy1Ldu+n2ydgw1osinmiZTAn0necE++eOfsygL8JpZgFjR2uHmAPo89MkxBj3JJ+2BMe+Uw== integrity sha512-ldMSBgtZOZ3g9kJ3kOZSEtZIEITmJOzu8eKVpkhf036GuNkM4mt0NXecrjCn5tMm1OblOF7dZehlaDypBfNokw==
dependencies: dependencies:
"@tweenjs/tween.js" "~23.1.3" "@tweenjs/tween.js" "~23.1.3"
"@types/stats.js" "*" "@types/stats.js" "*"
@ -2630,39 +2631,39 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@typescript-eslint/eslint-plugin@8.26.1": "@typescript-eslint/eslint-plugin@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz#3e48eb847924161843b092c87a9b65176b53782f" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz#151c4878700a5ad229ce6713d2674d58b626b3d9"
integrity sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA== integrity sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==
dependencies: dependencies:
"@eslint-community/regexpp" "^4.10.0" "@eslint-community/regexpp" "^4.10.0"
"@typescript-eslint/scope-manager" "8.26.1" "@typescript-eslint/scope-manager" "8.29.0"
"@typescript-eslint/type-utils" "8.26.1" "@typescript-eslint/type-utils" "8.29.0"
"@typescript-eslint/utils" "8.26.1" "@typescript-eslint/utils" "8.29.0"
"@typescript-eslint/visitor-keys" "8.26.1" "@typescript-eslint/visitor-keys" "8.29.0"
graphemer "^1.4.0" graphemer "^1.4.0"
ignore "^5.3.1" ignore "^5.3.1"
natural-compare "^1.4.0" natural-compare "^1.4.0"
ts-api-utils "^2.0.1" ts-api-utils "^2.0.1"
"@typescript-eslint/parser@8.26.1": "@typescript-eslint/parser@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.26.1.tgz#0e2f915a497519fc43f52cf2ecbfa607ff56f72e" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.0.tgz#b98841e0a8099728cb8583da92326fcb7f5be1d2"
integrity sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ== integrity sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==
dependencies: dependencies:
"@typescript-eslint/scope-manager" "8.26.1" "@typescript-eslint/scope-manager" "8.29.0"
"@typescript-eslint/types" "8.26.1" "@typescript-eslint/types" "8.29.0"
"@typescript-eslint/typescript-estree" "8.26.1" "@typescript-eslint/typescript-estree" "8.29.0"
"@typescript-eslint/visitor-keys" "8.26.1" "@typescript-eslint/visitor-keys" "8.29.0"
debug "^4.3.4" debug "^4.3.4"
"@typescript-eslint/scope-manager@8.26.1": "@typescript-eslint/scope-manager@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz#5e6ad0ac258ccf79462e91c3f43a3f1f7f31a6cc" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz#8fd9872823aef65ff71d3f6d1ec9316ace0b6bf3"
integrity sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg== integrity sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==
dependencies: dependencies:
"@typescript-eslint/types" "8.26.1" "@typescript-eslint/types" "8.29.0"
"@typescript-eslint/visitor-keys" "8.26.1" "@typescript-eslint/visitor-keys" "8.29.0"
"@typescript-eslint/scope-manager@^8.15.0": "@typescript-eslint/scope-manager@^8.15.0":
version "8.19.1" version "8.19.1"
@ -2672,13 +2673,13 @@
"@typescript-eslint/types" "8.19.1" "@typescript-eslint/types" "8.19.1"
"@typescript-eslint/visitor-keys" "8.19.1" "@typescript-eslint/visitor-keys" "8.19.1"
"@typescript-eslint/type-utils@8.26.1": "@typescript-eslint/type-utils@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz#462f0bae09de72ac6e8e1af2ebe588c23224d7f8" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz#98dcfd1193cb4e2b2d0294a8656ce5eb58c443a9"
integrity sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg== integrity sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==
dependencies: dependencies:
"@typescript-eslint/typescript-estree" "8.26.1" "@typescript-eslint/typescript-estree" "8.29.0"
"@typescript-eslint/utils" "8.26.1" "@typescript-eslint/utils" "8.29.0"
debug "^4.3.4" debug "^4.3.4"
ts-api-utils "^2.0.1" ts-api-utils "^2.0.1"
@ -2687,18 +2688,18 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.1.tgz#015a991281754ed986f2e549263a1188d6ed0a8c" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.1.tgz#015a991281754ed986f2e549263a1188d6ed0a8c"
integrity sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA== integrity sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==
"@typescript-eslint/types@8.26.1": "@typescript-eslint/types@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.26.1.tgz#d5978721670cff263348d5062773389231a64132" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33"
integrity sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ== integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==
"@typescript-eslint/typescript-estree@8.26.1": "@typescript-eslint/typescript-estree@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz#eb0e4ce31753683d83be53441a409fd5f0b34afd" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz#d201a4f115327ec90496307c9958262285065b00"
integrity sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA== integrity sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==
dependencies: dependencies:
"@typescript-eslint/types" "8.26.1" "@typescript-eslint/types" "8.29.0"
"@typescript-eslint/visitor-keys" "8.26.1" "@typescript-eslint/visitor-keys" "8.29.0"
debug "^4.3.4" debug "^4.3.4"
fast-glob "^3.3.2" fast-glob "^3.3.2"
is-glob "^4.0.3" is-glob "^4.0.3"
@ -2706,15 +2707,15 @@
semver "^7.6.0" semver "^7.6.0"
ts-api-utils "^2.0.1" ts-api-utils "^2.0.1"
"@typescript-eslint/utils@8.26.1", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/utils@^8.15.0": "@typescript-eslint/utils@8.29.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/utils@^8.15.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.26.1.tgz#54cc58469955f25577f659753b71a0e117a0539f" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.0.tgz#d6d22b19c8c4812a874f00341f686b45b9fe895f"
integrity sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg== integrity sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==
dependencies: dependencies:
"@eslint-community/eslint-utils" "^4.4.0" "@eslint-community/eslint-utils" "^4.4.0"
"@typescript-eslint/scope-manager" "8.26.1" "@typescript-eslint/scope-manager" "8.29.0"
"@typescript-eslint/types" "8.26.1" "@typescript-eslint/types" "8.29.0"
"@typescript-eslint/typescript-estree" "8.26.1" "@typescript-eslint/typescript-estree" "8.29.0"
"@typescript-eslint/visitor-keys@8.19.1": "@typescript-eslint/visitor-keys@8.19.1":
version "8.19.1" version "8.19.1"
@ -2724,12 +2725,12 @@
"@typescript-eslint/types" "8.19.1" "@typescript-eslint/types" "8.19.1"
eslint-visitor-keys "^4.2.0" eslint-visitor-keys "^4.2.0"
"@typescript-eslint/visitor-keys@8.26.1": "@typescript-eslint/visitor-keys@8.29.0":
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz#c5267fcc82795cf10280363023837deacad2647c" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz#2356336c9efdc3597ffcd2aa1ce95432852b743d"
integrity sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg== integrity sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==
dependencies: dependencies:
"@typescript-eslint/types" "8.26.1" "@typescript-eslint/types" "8.29.0"
eslint-visitor-keys "^4.2.0" eslint-visitor-keys "^4.2.0"
"@ungap/structured-clone@^1.2.0": "@ungap/structured-clone@^1.2.0":
@ -8986,10 +8987,10 @@ thenify-all@^1.0.0:
dependencies: dependencies:
any-promise "^1.0.0" any-promise "^1.0.0"
three@^0.174.0: three@^0.175.0:
version "0.174.0" version "0.175.0"
resolved "https://registry.yarnpkg.com/three/-/three-0.174.0.tgz#53f46d6fd27515231b2af321f798f1e0ecf3f905" resolved "https://registry.yarnpkg.com/three/-/three-0.175.0.tgz#67b357b0b1ee8ef0445b9a768f59363ab1fa7921"
integrity sha512-p+WG3W6Ov74alh3geCMkGK9NWuT62ee21cV3jEnun201zodVF4tCE5aZa2U122/mkLRmhJJUQmLLW1BH00uQJQ== integrity sha512-nNE3pnTHxXN/Phw768u0Grr7W4+rumGg/H6PgeseNJojkJtmeHJfZWi41Gp2mpXl1pg1pf1zjwR4McM1jTqkpg==
through@2: through@2:
version "2.3.8" version "2.3.8"
@ -9254,14 +9255,14 @@ typed-array-length@^1.0.7:
possible-typed-array-names "^1.0.0" possible-typed-array-names "^1.0.0"
reflect.getprototypeof "^1.0.6" reflect.getprototypeof "^1.0.6"
typescript-eslint@^8.26.1: typescript-eslint@^8.29.0:
version "8.26.1" version "8.29.0"
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.26.1.tgz#d17a638a7543bc535157b83cdf5876513c71493b" resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.29.0.tgz#fc059b4c840889e5180dd822594eb46fa4619093"
integrity sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg== integrity sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==
dependencies: dependencies:
"@typescript-eslint/eslint-plugin" "8.26.1" "@typescript-eslint/eslint-plugin" "8.29.0"
"@typescript-eslint/parser" "8.26.1" "@typescript-eslint/parser" "8.29.0"
"@typescript-eslint/utils" "8.26.1" "@typescript-eslint/utils" "8.29.0"
typescript@^5.2.2, typescript@^5.4.3, typescript@^5.8.3: typescript@^5.2.2, typescript@^5.4.3, typescript@^5.8.3:
version "5.8.3" version "5.8.3"
@ -9303,10 +9304,10 @@ undici-types@~5.26.4:
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
undici-types@~6.20.0: undici-types@~6.21.0:
version "6.20.0" version "6.21.0"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb"
integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
unicode-canonical-property-names-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript@^2.0.0:
version "2.0.0" version "2.0.0"