Remove start sketch at (#5586)
* remove start sketch at Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
		@ -1,7 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands cube.kcl
 | 
			
		||||
snapshot_kind: text
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
@ -314,8 +313,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      185,
 | 
			
		||||
      202,
 | 
			
		||||
      210,
 | 
			
		||||
      231,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -334,8 +333,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      185,
 | 
			
		||||
      202,
 | 
			
		||||
      210,
 | 
			
		||||
      231,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -345,8 +344,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      185,
 | 
			
		||||
      202,
 | 
			
		||||
      210,
 | 
			
		||||
      231,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -362,8 +361,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      210,
 | 
			
		||||
      232,
 | 
			
		||||
      239,
 | 
			
		||||
      261,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -383,8 +382,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      240,
 | 
			
		||||
      262,
 | 
			
		||||
      269,
 | 
			
		||||
      291,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -404,8 +403,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      270,
 | 
			
		||||
      292,
 | 
			
		||||
      299,
 | 
			
		||||
      321,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -425,8 +424,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      300,
 | 
			
		||||
      322,
 | 
			
		||||
      329,
 | 
			
		||||
      351,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -446,8 +445,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      330,
 | 
			
		||||
      337,
 | 
			
		||||
      359,
 | 
			
		||||
      366,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -458,8 +457,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      330,
 | 
			
		||||
      337,
 | 
			
		||||
      359,
 | 
			
		||||
      366,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -469,8 +468,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -489,8 +488,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -503,8 +502,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -514,8 +513,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -526,8 +525,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -539,8 +538,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -553,8 +552,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -567,8 +566,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -581,8 +580,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -595,8 +594,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -609,8 +608,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -623,8 +622,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -637,8 +636,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart cube.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,16 +1,16 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[185, 202, 0]"]
 | 
			
		||||
    3["Segment<br>[210, 232, 0]"]
 | 
			
		||||
    4["Segment<br>[240, 262, 0]"]
 | 
			
		||||
    5["Segment<br>[270, 292, 0]"]
 | 
			
		||||
    6["Segment<br>[300, 322, 0]"]
 | 
			
		||||
    7["Segment<br>[330, 337, 0]"]
 | 
			
		||||
    2["Path<br>[210, 231, 0]"]
 | 
			
		||||
    3["Segment<br>[239, 261, 0]"]
 | 
			
		||||
    4["Segment<br>[269, 291, 0]"]
 | 
			
		||||
    5["Segment<br>[299, 321, 0]"]
 | 
			
		||||
    6["Segment<br>[329, 351, 0]"]
 | 
			
		||||
    7["Segment<br>[359, 366, 0]"]
 | 
			
		||||
    8[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[185, 202, 0]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[345, 373, 0]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[374, 402, 0]"]
 | 
			
		||||
  10[Wall]
 | 
			
		||||
  11[Wall]
 | 
			
		||||
  12[Wall]
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing cube.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -7,7 +7,7 @@ description: Result of parsing cube.kcl
 | 
			
		||||
    "body": [
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 375,
 | 
			
		||||
          "end": 404,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 7,
 | 
			
		||||
            "name": "cube",
 | 
			
		||||
@ -453,7 +453,7 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 201,
 | 
			
		||||
                            "name": "p0",
 | 
			
		||||
                            "name": "XY",
 | 
			
		||||
                            "start": 199,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
@ -461,7 +461,7 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 198,
 | 
			
		||||
                          "name": "startSketchAt",
 | 
			
		||||
                          "name": "startSketchOn",
 | 
			
		||||
                          "start": 185,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
@ -470,6 +470,33 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 227,
 | 
			
		||||
                            "name": "p0",
 | 
			
		||||
                            "start": 225,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 230,
 | 
			
		||||
                            "start": 229,
 | 
			
		||||
                            "type": "PipeSubstitution",
 | 
			
		||||
                            "type": "PipeSubstitution"
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 224,
 | 
			
		||||
                          "name": "startProfileAt",
 | 
			
		||||
                          "start": 210,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 231,
 | 
			
		||||
                        "start": 210,
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
@ -479,22 +506,22 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 231,
 | 
			
		||||
                              "end": 260,
 | 
			
		||||
                              "name": "p1",
 | 
			
		||||
                              "start": 229,
 | 
			
		||||
                              "start": 258,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 214,
 | 
			
		||||
                          "end": 243,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 210,
 | 
			
		||||
                          "start": 239,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 232,
 | 
			
		||||
                        "start": 210,
 | 
			
		||||
                        "end": 261,
 | 
			
		||||
                        "start": 239,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -508,22 +535,22 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 261,
 | 
			
		||||
                              "end": 290,
 | 
			
		||||
                              "name": "p2",
 | 
			
		||||
                              "start": 259,
 | 
			
		||||
                              "start": 288,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 244,
 | 
			
		||||
                          "end": 273,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 240,
 | 
			
		||||
                          "start": 269,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 262,
 | 
			
		||||
                        "start": 240,
 | 
			
		||||
                        "end": 291,
 | 
			
		||||
                        "start": 269,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -537,22 +564,22 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 291,
 | 
			
		||||
                              "end": 320,
 | 
			
		||||
                              "name": "p3",
 | 
			
		||||
                              "start": 289,
 | 
			
		||||
                              "start": 318,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 274,
 | 
			
		||||
                          "end": 303,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 270,
 | 
			
		||||
                          "start": 299,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 292,
 | 
			
		||||
                        "start": 270,
 | 
			
		||||
                        "end": 321,
 | 
			
		||||
                        "start": 299,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -566,22 +593,22 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 321,
 | 
			
		||||
                              "end": 350,
 | 
			
		||||
                              "name": "p0",
 | 
			
		||||
                              "start": 319,
 | 
			
		||||
                              "start": 348,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 304,
 | 
			
		||||
                          "end": 333,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 300,
 | 
			
		||||
                          "start": 329,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 322,
 | 
			
		||||
                        "start": 300,
 | 
			
		||||
                        "end": 351,
 | 
			
		||||
                        "start": 329,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -589,13 +616,13 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 335,
 | 
			
		||||
                          "end": 364,
 | 
			
		||||
                          "name": "close",
 | 
			
		||||
                          "start": 330,
 | 
			
		||||
                          "start": 359,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 337,
 | 
			
		||||
                        "start": 330,
 | 
			
		||||
                        "end": 366,
 | 
			
		||||
                        "start": 359,
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
@ -608,39 +635,39 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                              "name": "length"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 372,
 | 
			
		||||
                              "end": 401,
 | 
			
		||||
                              "name": "sideLength",
 | 
			
		||||
                              "start": 362,
 | 
			
		||||
                              "start": 391,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 352,
 | 
			
		||||
                          "end": 381,
 | 
			
		||||
                          "name": "extrude",
 | 
			
		||||
                          "start": 345,
 | 
			
		||||
                          "start": 374,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 373,
 | 
			
		||||
                        "start": 345,
 | 
			
		||||
                        "end": 402,
 | 
			
		||||
                        "start": 374,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "end": 373,
 | 
			
		||||
                    "end": 402,
 | 
			
		||||
                    "start": 185,
 | 
			
		||||
                    "type": "PipeExpression",
 | 
			
		||||
                    "type": "PipeExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  "end": 373,
 | 
			
		||||
                  "end": 402,
 | 
			
		||||
                  "start": 178,
 | 
			
		||||
                  "type": "ReturnStatement",
 | 
			
		||||
                  "type": "ReturnStatement"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "end": 375,
 | 
			
		||||
              "end": 404,
 | 
			
		||||
              "nonCodeMeta": {
 | 
			
		||||
                "nonCodeNodes": {
 | 
			
		||||
                  "6": [
 | 
			
		||||
@ -658,7 +685,7 @@ description: Result of parsing cube.kcl
 | 
			
		||||
              },
 | 
			
		||||
              "start": 28
 | 
			
		||||
            },
 | 
			
		||||
            "end": 375,
 | 
			
		||||
            "end": 404,
 | 
			
		||||
            "params": [
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Parameter",
 | 
			
		||||
@ -686,7 +713,7 @@ description: Result of parsing cube.kcl
 | 
			
		||||
          "start": 3,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 375,
 | 
			
		||||
        "end": 404,
 | 
			
		||||
        "kind": "fn",
 | 
			
		||||
        "start": 0,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
@ -694,11 +721,11 @@ description: Result of parsing cube.kcl
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 424,
 | 
			
		||||
          "end": 453,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 383,
 | 
			
		||||
            "end": 412,
 | 
			
		||||
            "name": "myCube",
 | 
			
		||||
            "start": 377,
 | 
			
		||||
            "start": 406,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
@ -710,9 +737,9 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                  "name": "sideLength"
 | 
			
		||||
                },
 | 
			
		||||
                "arg": {
 | 
			
		||||
                  "end": 406,
 | 
			
		||||
                  "end": 435,
 | 
			
		||||
                  "raw": "40",
 | 
			
		||||
                  "start": 404,
 | 
			
		||||
                  "start": 433,
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "value": {
 | 
			
		||||
@ -730,9 +757,9 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                "arg": {
 | 
			
		||||
                  "elements": [
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 419,
 | 
			
		||||
                      "end": 448,
 | 
			
		||||
                      "raw": "0",
 | 
			
		||||
                      "start": 418,
 | 
			
		||||
                      "start": 447,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": {
 | 
			
		||||
@ -741,9 +768,9 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                      }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 422,
 | 
			
		||||
                      "end": 451,
 | 
			
		||||
                      "raw": "0",
 | 
			
		||||
                      "start": 421,
 | 
			
		||||
                      "start": 450,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": {
 | 
			
		||||
@ -752,42 +779,42 @@ description: Result of parsing cube.kcl
 | 
			
		||||
                      }
 | 
			
		||||
                    }
 | 
			
		||||
                  ],
 | 
			
		||||
                  "end": 423,
 | 
			
		||||
                  "start": 417,
 | 
			
		||||
                  "end": 452,
 | 
			
		||||
                  "start": 446,
 | 
			
		||||
                  "type": "ArrayExpression",
 | 
			
		||||
                  "type": "ArrayExpression"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            ],
 | 
			
		||||
            "callee": {
 | 
			
		||||
              "end": 390,
 | 
			
		||||
              "end": 419,
 | 
			
		||||
              "name": "cube",
 | 
			
		||||
              "start": 386,
 | 
			
		||||
              "start": 415,
 | 
			
		||||
              "type": "Identifier"
 | 
			
		||||
            },
 | 
			
		||||
            "end": 424,
 | 
			
		||||
            "start": 386,
 | 
			
		||||
            "end": 453,
 | 
			
		||||
            "start": 415,
 | 
			
		||||
            "type": "CallExpressionKw",
 | 
			
		||||
            "type": "CallExpressionKw",
 | 
			
		||||
            "unlabeled": null
 | 
			
		||||
          },
 | 
			
		||||
          "start": 377,
 | 
			
		||||
          "start": 406,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 424,
 | 
			
		||||
        "end": 453,
 | 
			
		||||
        "kind": "const",
 | 
			
		||||
        "start": 377,
 | 
			
		||||
        "start": 406,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 425,
 | 
			
		||||
    "end": 454,
 | 
			
		||||
    "nonCodeMeta": {
 | 
			
		||||
      "nonCodeNodes": {
 | 
			
		||||
        "0": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 377,
 | 
			
		||||
            "start": 375,
 | 
			
		||||
            "end": 406,
 | 
			
		||||
            "start": 404,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLine"
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,8 @@ fn cube(sideLength, center) {
 | 
			
		||||
  p2 = [l + x, l + y]
 | 
			
		||||
  p3 = [l + x, -l + y]
 | 
			
		||||
 | 
			
		||||
  return startSketchAt(p0)
 | 
			
		||||
  return startSketchOn(XY)
 | 
			
		||||
    |> startProfileAt(p0, %)
 | 
			
		||||
    |> line(endAbsolute = p1)
 | 
			
		||||
    |> line(endAbsolute = p2)
 | 
			
		||||
    |> line(endAbsolute = p3)
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed cube.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
@ -8,7 +8,7 @@ description: Operations executed cube.kcl
 | 
			
		||||
    "name": "cube",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      7,
 | 
			
		||||
      375,
 | 
			
		||||
      404,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
@ -46,8 +46,8 @@ description: Operations executed cube.kcl
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          417,
 | 
			
		||||
          423,
 | 
			
		||||
          446,
 | 
			
		||||
          452,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -66,18 +66,41 @@ description: Operations executed cube.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          404,
 | 
			
		||||
          406,
 | 
			
		||||
          433,
 | 
			
		||||
          435,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      386,
 | 
			
		||||
      424,
 | 
			
		||||
      415,
 | 
			
		||||
      453,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          199,
 | 
			
		||||
          201,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      185,
 | 
			
		||||
      202,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
@ -95,16 +118,16 @@ description: Operations executed cube.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          362,
 | 
			
		||||
          372,
 | 
			
		||||
          391,
 | 
			
		||||
          401,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      345,
 | 
			
		||||
      373,
 | 
			
		||||
      374,
 | 
			
		||||
      402,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing cube.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -9,7 +9,7 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          7,
 | 
			
		||||
          375,
 | 
			
		||||
          404,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -26,8 +26,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            210,
 | 
			
		||||
            232,
 | 
			
		||||
            239,
 | 
			
		||||
            261,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -37,8 +37,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            240,
 | 
			
		||||
            262,
 | 
			
		||||
            269,
 | 
			
		||||
            291,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -48,8 +48,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            270,
 | 
			
		||||
            292,
 | 
			
		||||
            299,
 | 
			
		||||
            321,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -59,8 +59,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            300,
 | 
			
		||||
            322,
 | 
			
		||||
            329,
 | 
			
		||||
            351,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -75,8 +75,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                210,
 | 
			
		||||
                232,
 | 
			
		||||
                239,
 | 
			
		||||
                261,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -98,8 +98,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                240,
 | 
			
		||||
                262,
 | 
			
		||||
                269,
 | 
			
		||||
                291,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -121,8 +121,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                270,
 | 
			
		||||
                292,
 | 
			
		||||
                299,
 | 
			
		||||
                321,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -144,8 +144,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                300,
 | 
			
		||||
                322,
 | 
			
		||||
                329,
 | 
			
		||||
                351,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -167,8 +167,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                330,
 | 
			
		||||
                337,
 | 
			
		||||
                359,
 | 
			
		||||
                366,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -233,8 +233,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              185,
 | 
			
		||||
              202,
 | 
			
		||||
              210,
 | 
			
		||||
              231,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -247,8 +247,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
        "__meta": [
 | 
			
		||||
          {
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              185,
 | 
			
		||||
              202,
 | 
			
		||||
              210,
 | 
			
		||||
              231,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -263,8 +263,8 @@ description: Variables in memory after executing cube.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            185,
 | 
			
		||||
            202,
 | 
			
		||||
            210,
 | 
			
		||||
            231,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands cube_with_error.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
@ -313,8 +313,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      202,
 | 
			
		||||
      223,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -333,8 +333,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      202,
 | 
			
		||||
      223,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -344,8 +344,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      202,
 | 
			
		||||
      223,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -361,8 +361,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      202,
 | 
			
		||||
      224,
 | 
			
		||||
      231,
 | 
			
		||||
      253,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -382,8 +382,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      232,
 | 
			
		||||
      254,
 | 
			
		||||
      261,
 | 
			
		||||
      283,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -403,8 +403,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      262,
 | 
			
		||||
      284,
 | 
			
		||||
      291,
 | 
			
		||||
      313,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -424,8 +424,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      292,
 | 
			
		||||
      314,
 | 
			
		||||
      321,
 | 
			
		||||
      343,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -445,8 +445,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      322,
 | 
			
		||||
      329,
 | 
			
		||||
      351,
 | 
			
		||||
      358,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -457,8 +457,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      322,
 | 
			
		||||
      329,
 | 
			
		||||
      351,
 | 
			
		||||
      358,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -468,8 +468,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      337,
 | 
			
		||||
      361,
 | 
			
		||||
      366,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -488,8 +488,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      337,
 | 
			
		||||
      361,
 | 
			
		||||
      366,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -502,8 +502,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      337,
 | 
			
		||||
      361,
 | 
			
		||||
      366,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -513,8 +513,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      337,
 | 
			
		||||
      361,
 | 
			
		||||
      366,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -525,8 +525,8 @@ description: Artifact commands cube_with_error.kcl
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      337,
 | 
			
		||||
      361,
 | 
			
		||||
      366,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart cube_with_error.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,16 +1,16 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[177, 194, 0]"]
 | 
			
		||||
    3["Segment<br>[202, 224, 0]"]
 | 
			
		||||
    4["Segment<br>[232, 254, 0]"]
 | 
			
		||||
    5["Segment<br>[262, 284, 0]"]
 | 
			
		||||
    6["Segment<br>[292, 314, 0]"]
 | 
			
		||||
    7["Segment<br>[322, 329, 0]"]
 | 
			
		||||
    2["Path<br>[202, 223, 0]"]
 | 
			
		||||
    3["Segment<br>[231, 253, 0]"]
 | 
			
		||||
    4["Segment<br>[261, 283, 0]"]
 | 
			
		||||
    5["Segment<br>[291, 313, 0]"]
 | 
			
		||||
    6["Segment<br>[321, 343, 0]"]
 | 
			
		||||
    7["Segment<br>[351, 358, 0]"]
 | 
			
		||||
    8[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[177, 194, 0]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[337, 361, 0]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[366, 390, 0]"]
 | 
			
		||||
  10[Wall]
 | 
			
		||||
  11[Wall]
 | 
			
		||||
  12[Wall]
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing cube_with_error.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -7,7 +7,7 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
    "body": [
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 363,
 | 
			
		||||
          "end": 392,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 7,
 | 
			
		||||
            "name": "cube",
 | 
			
		||||
@ -453,7 +453,7 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 193,
 | 
			
		||||
                            "name": "p0",
 | 
			
		||||
                            "name": "XY",
 | 
			
		||||
                            "start": 191,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
@ -461,7 +461,7 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 190,
 | 
			
		||||
                          "name": "startSketchAt",
 | 
			
		||||
                          "name": "startSketchOn",
 | 
			
		||||
                          "start": 177,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
@ -470,6 +470,33 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 219,
 | 
			
		||||
                            "name": "p0",
 | 
			
		||||
                            "start": 217,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 222,
 | 
			
		||||
                            "start": 221,
 | 
			
		||||
                            "type": "PipeSubstitution",
 | 
			
		||||
                            "type": "PipeSubstitution"
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 216,
 | 
			
		||||
                          "name": "startProfileAt",
 | 
			
		||||
                          "start": 202,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 223,
 | 
			
		||||
                        "start": 202,
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
@ -479,22 +506,22 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 223,
 | 
			
		||||
                              "end": 252,
 | 
			
		||||
                              "name": "p1",
 | 
			
		||||
                              "start": 221,
 | 
			
		||||
                              "start": 250,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 206,
 | 
			
		||||
                          "end": 235,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 202,
 | 
			
		||||
                          "start": 231,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 224,
 | 
			
		||||
                        "start": 202,
 | 
			
		||||
                        "end": 253,
 | 
			
		||||
                        "start": 231,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -508,22 +535,22 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 253,
 | 
			
		||||
                              "end": 282,
 | 
			
		||||
                              "name": "p2",
 | 
			
		||||
                              "start": 251,
 | 
			
		||||
                              "start": 280,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 236,
 | 
			
		||||
                          "end": 265,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 232,
 | 
			
		||||
                          "start": 261,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 254,
 | 
			
		||||
                        "start": 232,
 | 
			
		||||
                        "end": 283,
 | 
			
		||||
                        "start": 261,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -537,22 +564,22 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 283,
 | 
			
		||||
                              "end": 312,
 | 
			
		||||
                              "name": "p3",
 | 
			
		||||
                              "start": 281,
 | 
			
		||||
                              "start": 310,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 266,
 | 
			
		||||
                          "end": 295,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 262,
 | 
			
		||||
                          "start": 291,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 284,
 | 
			
		||||
                        "start": 262,
 | 
			
		||||
                        "end": 313,
 | 
			
		||||
                        "start": 291,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -566,22 +593,22 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 313,
 | 
			
		||||
                              "end": 342,
 | 
			
		||||
                              "name": "p0",
 | 
			
		||||
                              "start": 311,
 | 
			
		||||
                              "start": 340,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 296,
 | 
			
		||||
                          "end": 325,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 292,
 | 
			
		||||
                          "start": 321,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 314,
 | 
			
		||||
                        "start": 292,
 | 
			
		||||
                        "end": 343,
 | 
			
		||||
                        "start": 321,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -589,13 +616,13 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 327,
 | 
			
		||||
                          "end": 356,
 | 
			
		||||
                          "name": "close",
 | 
			
		||||
                          "start": 322,
 | 
			
		||||
                          "start": 351,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 329,
 | 
			
		||||
                        "start": 322,
 | 
			
		||||
                        "end": 358,
 | 
			
		||||
                        "start": 351,
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
@ -608,39 +635,39 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                              "name": "length"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 360,
 | 
			
		||||
                              "end": 389,
 | 
			
		||||
                              "name": "length",
 | 
			
		||||
                              "start": 354,
 | 
			
		||||
                              "start": 383,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 344,
 | 
			
		||||
                          "end": 373,
 | 
			
		||||
                          "name": "extrude",
 | 
			
		||||
                          "start": 337,
 | 
			
		||||
                          "start": 366,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 361,
 | 
			
		||||
                        "start": 337,
 | 
			
		||||
                        "end": 390,
 | 
			
		||||
                        "start": 366,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "end": 361,
 | 
			
		||||
                    "end": 390,
 | 
			
		||||
                    "start": 177,
 | 
			
		||||
                    "type": "PipeExpression",
 | 
			
		||||
                    "type": "PipeExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  "end": 361,
 | 
			
		||||
                  "end": 390,
 | 
			
		||||
                  "start": 170,
 | 
			
		||||
                  "type": "ReturnStatement",
 | 
			
		||||
                  "type": "ReturnStatement"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "end": 363,
 | 
			
		||||
              "end": 392,
 | 
			
		||||
              "nonCodeMeta": {
 | 
			
		||||
                "nonCodeNodes": {
 | 
			
		||||
                  "6": [
 | 
			
		||||
@ -658,7 +685,7 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
              },
 | 
			
		||||
              "start": 24
 | 
			
		||||
            },
 | 
			
		||||
            "end": 363,
 | 
			
		||||
            "end": 392,
 | 
			
		||||
            "params": [
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Parameter",
 | 
			
		||||
@ -686,7 +713,7 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
          "start": 3,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 363,
 | 
			
		||||
        "end": 392,
 | 
			
		||||
        "kind": "fn",
 | 
			
		||||
        "start": 0,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
@ -694,19 +721,19 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 390,
 | 
			
		||||
          "end": 419,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 371,
 | 
			
		||||
            "end": 400,
 | 
			
		||||
            "name": "myCube",
 | 
			
		||||
            "start": 365,
 | 
			
		||||
            "start": 394,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
            "arguments": [
 | 
			
		||||
              {
 | 
			
		||||
                "end": 381,
 | 
			
		||||
                "end": 410,
 | 
			
		||||
                "raw": "40",
 | 
			
		||||
                "start": 379,
 | 
			
		||||
                "start": 408,
 | 
			
		||||
                "type": "Literal",
 | 
			
		||||
                "type": "Literal",
 | 
			
		||||
                "value": {
 | 
			
		||||
@ -717,9 +744,9 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
              {
 | 
			
		||||
                "elements": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 385,
 | 
			
		||||
                    "end": 414,
 | 
			
		||||
                    "raw": "0",
 | 
			
		||||
                    "start": 384,
 | 
			
		||||
                    "start": 413,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
@ -728,9 +755,9 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                    }
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 388,
 | 
			
		||||
                    "end": 417,
 | 
			
		||||
                    "raw": "0",
 | 
			
		||||
                    "start": 387,
 | 
			
		||||
                    "start": 416,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
@ -739,53 +766,53 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "end": 389,
 | 
			
		||||
                "start": 383,
 | 
			
		||||
                "end": 418,
 | 
			
		||||
                "start": 412,
 | 
			
		||||
                "type": "ArrayExpression",
 | 
			
		||||
                "type": "ArrayExpression"
 | 
			
		||||
              }
 | 
			
		||||
            ],
 | 
			
		||||
            "callee": {
 | 
			
		||||
              "end": 378,
 | 
			
		||||
              "end": 407,
 | 
			
		||||
              "name": "cube",
 | 
			
		||||
              "start": 374,
 | 
			
		||||
              "start": 403,
 | 
			
		||||
              "type": "Identifier"
 | 
			
		||||
            },
 | 
			
		||||
            "end": 390,
 | 
			
		||||
            "start": 374,
 | 
			
		||||
            "end": 419,
 | 
			
		||||
            "start": 403,
 | 
			
		||||
            "type": "CallExpression",
 | 
			
		||||
            "type": "CallExpression"
 | 
			
		||||
          },
 | 
			
		||||
          "start": 365,
 | 
			
		||||
          "start": 394,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 390,
 | 
			
		||||
        "end": 419,
 | 
			
		||||
        "kind": "const",
 | 
			
		||||
        "start": 365,
 | 
			
		||||
        "start": 394,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "end": 439,
 | 
			
		||||
        "end": 468,
 | 
			
		||||
        "expression": {
 | 
			
		||||
          "end": 439,
 | 
			
		||||
          "end": 468,
 | 
			
		||||
          "name": "foo",
 | 
			
		||||
          "start": 436,
 | 
			
		||||
          "start": 465,
 | 
			
		||||
          "type": "Identifier",
 | 
			
		||||
          "type": "Identifier"
 | 
			
		||||
        },
 | 
			
		||||
        "start": 436,
 | 
			
		||||
        "start": 465,
 | 
			
		||||
        "type": "ExpressionStatement",
 | 
			
		||||
        "type": "ExpressionStatement"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 440,
 | 
			
		||||
    "end": 469,
 | 
			
		||||
    "nonCodeMeta": {
 | 
			
		||||
      "nonCodeNodes": {
 | 
			
		||||
        "0": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 365,
 | 
			
		||||
            "start": 363,
 | 
			
		||||
            "end": 394,
 | 
			
		||||
            "start": 392,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLine"
 | 
			
		||||
@ -794,8 +821,8 @@ description: Result of parsing cube_with_error.kcl
 | 
			
		||||
        ],
 | 
			
		||||
        "1": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 435,
 | 
			
		||||
            "start": 390,
 | 
			
		||||
            "end": 464,
 | 
			
		||||
            "start": 419,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLineBlockComment",
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,13 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Error from executing cube_with_error.kcl
 | 
			
		||||
---
 | 
			
		||||
KCL UndefinedValue error
 | 
			
		||||
 | 
			
		||||
  × undefined value: memory item key `foo` is not defined
 | 
			
		||||
    ╭─[22:1]
 | 
			
		||||
 21 │ // Error, after creating meaningful output.
 | 
			
		||||
 22 │ foo
 | 
			
		||||
    ╭─[23:1]
 | 
			
		||||
 22 │ // Error, after creating meaningful output.
 | 
			
		||||
 23 │ foo
 | 
			
		||||
    · ─┬─
 | 
			
		||||
    ·  ╰── tests/cube_with_error/input.kcl
 | 
			
		||||
    ╰────
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,8 @@ fn cube(length, center) {
 | 
			
		||||
  p2 = [l + x, l + y]
 | 
			
		||||
  p3 = [l + x, -l + y]
 | 
			
		||||
 | 
			
		||||
  return startSketchAt(p0)
 | 
			
		||||
  return startSketchOn(XY)
 | 
			
		||||
    |> startProfileAt(p0, %)
 | 
			
		||||
    |> line(endAbsolute = p1)
 | 
			
		||||
    |> line(endAbsolute = p2)
 | 
			
		||||
    |> line(endAbsolute = p3)
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed cube_with_error.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
@ -8,17 +8,40 @@ description: Operations executed cube_with_error.kcl
 | 
			
		||||
    "name": "cube",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      7,
 | 
			
		||||
      363,
 | 
			
		||||
      392,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      374,
 | 
			
		||||
      390,
 | 
			
		||||
      403,
 | 
			
		||||
      419,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          191,
 | 
			
		||||
          193,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
@ -36,16 +59,16 @@ description: Operations executed cube_with_error.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          354,
 | 
			
		||||
          360,
 | 
			
		||||
          383,
 | 
			
		||||
          389,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      337,
 | 
			
		||||
      361,
 | 
			
		||||
      366,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart fillet-and-shell.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,76 +1,76 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[373, 461, 0]"]
 | 
			
		||||
    3["Segment<br>[467, 558, 0]"]
 | 
			
		||||
    4["Segment<br>[564, 655, 0]"]
 | 
			
		||||
    5["Segment<br>[661, 754, 0]"]
 | 
			
		||||
    6["Segment<br>[760, 768, 0]"]
 | 
			
		||||
    2["Path<br>[396, 488, 0]"]
 | 
			
		||||
    3["Segment<br>[494, 585, 0]"]
 | 
			
		||||
    4["Segment<br>[591, 682, 0]"]
 | 
			
		||||
    5["Segment<br>[688, 781, 0]"]
 | 
			
		||||
    6["Segment<br>[787, 795, 0]"]
 | 
			
		||||
    7[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path9 [Path]
 | 
			
		||||
    9["Path<br>[802, 827, 0]"]
 | 
			
		||||
    10["Segment<br>[833, 881, 0]"]
 | 
			
		||||
    11["Segment<br>[887, 944, 0]"]
 | 
			
		||||
    12["Segment<br>[950, 999, 0]"]
 | 
			
		||||
    13["Segment<br>[1005, 1024, 0]"]
 | 
			
		||||
    9["Path<br>[829, 854, 0]"]
 | 
			
		||||
    10["Segment<br>[860, 908, 0]"]
 | 
			
		||||
    11["Segment<br>[914, 971, 0]"]
 | 
			
		||||
    12["Segment<br>[977, 1026, 0]"]
 | 
			
		||||
    13["Segment<br>[1032, 1051, 0]"]
 | 
			
		||||
    14[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path31 [Path]
 | 
			
		||||
    31["Path<br>[1337, 1362, 0]"]
 | 
			
		||||
    31["Path<br>[1364, 1389, 0]"]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path32 [Path]
 | 
			
		||||
    32["Path<br>[1370, 1407, 0]"]
 | 
			
		||||
    33["Segment<br>[1370, 1407, 0]"]
 | 
			
		||||
    32["Path<br>[1397, 1434, 0]"]
 | 
			
		||||
    33["Segment<br>[1397, 1434, 0]"]
 | 
			
		||||
    34[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path35 [Path]
 | 
			
		||||
    35["Path<br>[1420, 1458, 0]"]
 | 
			
		||||
    36["Segment<br>[1420, 1458, 0]"]
 | 
			
		||||
    35["Path<br>[1447, 1485, 0]"]
 | 
			
		||||
    36["Segment<br>[1447, 1485, 0]"]
 | 
			
		||||
    37[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path45 [Path]
 | 
			
		||||
    45["Path<br>[1337, 1362, 0]"]
 | 
			
		||||
    45["Path<br>[1364, 1389, 0]"]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path46 [Path]
 | 
			
		||||
    46["Path<br>[1370, 1407, 0]"]
 | 
			
		||||
    47["Segment<br>[1370, 1407, 0]"]
 | 
			
		||||
    46["Path<br>[1397, 1434, 0]"]
 | 
			
		||||
    47["Segment<br>[1397, 1434, 0]"]
 | 
			
		||||
    48[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path49 [Path]
 | 
			
		||||
    49["Path<br>[1420, 1458, 0]"]
 | 
			
		||||
    50["Segment<br>[1420, 1458, 0]"]
 | 
			
		||||
    49["Path<br>[1447, 1485, 0]"]
 | 
			
		||||
    50["Segment<br>[1447, 1485, 0]"]
 | 
			
		||||
    51[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path59 [Path]
 | 
			
		||||
    59["Path<br>[1337, 1362, 0]"]
 | 
			
		||||
    59["Path<br>[1364, 1389, 0]"]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path60 [Path]
 | 
			
		||||
    60["Path<br>[1370, 1407, 0]"]
 | 
			
		||||
    61["Segment<br>[1370, 1407, 0]"]
 | 
			
		||||
    60["Path<br>[1397, 1434, 0]"]
 | 
			
		||||
    61["Segment<br>[1397, 1434, 0]"]
 | 
			
		||||
    62[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path63 [Path]
 | 
			
		||||
    63["Path<br>[1420, 1458, 0]"]
 | 
			
		||||
    64["Segment<br>[1420, 1458, 0]"]
 | 
			
		||||
    63["Path<br>[1447, 1485, 0]"]
 | 
			
		||||
    64["Segment<br>[1447, 1485, 0]"]
 | 
			
		||||
    65[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path73 [Path]
 | 
			
		||||
    73["Path<br>[1337, 1362, 0]"]
 | 
			
		||||
    73["Path<br>[1364, 1389, 0]"]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path74 [Path]
 | 
			
		||||
    74["Path<br>[1370, 1407, 0]"]
 | 
			
		||||
    75["Segment<br>[1370, 1407, 0]"]
 | 
			
		||||
    74["Path<br>[1397, 1434, 0]"]
 | 
			
		||||
    75["Segment<br>[1397, 1434, 0]"]
 | 
			
		||||
    76[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path77 [Path]
 | 
			
		||||
    77["Path<br>[1420, 1458, 0]"]
 | 
			
		||||
    78["Segment<br>[1420, 1458, 0]"]
 | 
			
		||||
    77["Path<br>[1447, 1485, 0]"]
 | 
			
		||||
    78["Segment<br>[1447, 1485, 0]"]
 | 
			
		||||
    79[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[373, 461, 0]"]
 | 
			
		||||
  8["Plane<br>[777, 796, 0]"]
 | 
			
		||||
  15["Sweep Extrusion<br>[1030, 1058, 0]"]
 | 
			
		||||
  1["Plane<br>[373, 390, 0]"]
 | 
			
		||||
  8["Plane<br>[804, 823, 0]"]
 | 
			
		||||
  15["Sweep Extrusion<br>[1057, 1085, 0]"]
 | 
			
		||||
  16[Wall]
 | 
			
		||||
  17[Wall]
 | 
			
		||||
  18[Wall]
 | 
			
		||||
@ -85,38 +85,38 @@ flowchart LR
 | 
			
		||||
  27["SweepEdge Adjacent"]
 | 
			
		||||
  28["SweepEdge Opposite"]
 | 
			
		||||
  29["SweepEdge Adjacent"]
 | 
			
		||||
  30["Plane<br>[1310, 1329, 0]"]
 | 
			
		||||
  38["Sweep Extrusion<br>[1470, 1494, 0]"]
 | 
			
		||||
  30["Plane<br>[1337, 1356, 0]"]
 | 
			
		||||
  38["Sweep Extrusion<br>[1497, 1521, 0]"]
 | 
			
		||||
  39[Wall]
 | 
			
		||||
  40["Cap Start"]
 | 
			
		||||
  41["Cap End"]
 | 
			
		||||
  42["SweepEdge Opposite"]
 | 
			
		||||
  43["SweepEdge Adjacent"]
 | 
			
		||||
  44["Plane<br>[1310, 1329, 0]"]
 | 
			
		||||
  52["Sweep Extrusion<br>[1470, 1494, 0]"]
 | 
			
		||||
  44["Plane<br>[1337, 1356, 0]"]
 | 
			
		||||
  52["Sweep Extrusion<br>[1497, 1521, 0]"]
 | 
			
		||||
  53[Wall]
 | 
			
		||||
  54["Cap Start"]
 | 
			
		||||
  55["Cap End"]
 | 
			
		||||
  56["SweepEdge Opposite"]
 | 
			
		||||
  57["SweepEdge Adjacent"]
 | 
			
		||||
  58["Plane<br>[1310, 1329, 0]"]
 | 
			
		||||
  66["Sweep Extrusion<br>[1470, 1494, 0]"]
 | 
			
		||||
  58["Plane<br>[1337, 1356, 0]"]
 | 
			
		||||
  66["Sweep Extrusion<br>[1497, 1521, 0]"]
 | 
			
		||||
  67[Wall]
 | 
			
		||||
  68["Cap Start"]
 | 
			
		||||
  69["Cap End"]
 | 
			
		||||
  70["SweepEdge Opposite"]
 | 
			
		||||
  71["SweepEdge Adjacent"]
 | 
			
		||||
  72["Plane<br>[1310, 1329, 0]"]
 | 
			
		||||
  80["Sweep Extrusion<br>[1470, 1494, 0]"]
 | 
			
		||||
  72["Plane<br>[1337, 1356, 0]"]
 | 
			
		||||
  80["Sweep Extrusion<br>[1497, 1521, 0]"]
 | 
			
		||||
  81[Wall]
 | 
			
		||||
  82["Cap Start"]
 | 
			
		||||
  83["Cap End"]
 | 
			
		||||
  84["SweepEdge Opposite"]
 | 
			
		||||
  85["SweepEdge Adjacent"]
 | 
			
		||||
  86["EdgeCut Fillet<br>[1064, 1270, 0]"]
 | 
			
		||||
  87["EdgeCut Fillet<br>[1064, 1270, 0]"]
 | 
			
		||||
  88["EdgeCut Fillet<br>[1064, 1270, 0]"]
 | 
			
		||||
  89["EdgeCut Fillet<br>[1064, 1270, 0]"]
 | 
			
		||||
  86["EdgeCut Fillet<br>[1091, 1297, 0]"]
 | 
			
		||||
  87["EdgeCut Fillet<br>[1091, 1297, 0]"]
 | 
			
		||||
  88["EdgeCut Fillet<br>[1091, 1297, 0]"]
 | 
			
		||||
  89["EdgeCut Fillet<br>[1091, 1297, 0]"]
 | 
			
		||||
  1 --- 2
 | 
			
		||||
  2 --- 3
 | 
			
		||||
  2 --- 4
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -22,10 +22,11 @@ miniHdmiWidth = 11.2
 | 
			
		||||
microUsbWidth = 7.4
 | 
			
		||||
connectorPadding = 4
 | 
			
		||||
 | 
			
		||||
miniHdmiHole = startSketchAt([
 | 
			
		||||
miniHdmiHole = startSketchOn(XY)
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       0,
 | 
			
		||||
       border + miniHdmiDistance - (miniHdmiWidth / 2)
 | 
			
		||||
     ])
 | 
			
		||||
     ], %)
 | 
			
		||||
  |> line(endAbsolute = [
 | 
			
		||||
       0,
 | 
			
		||||
       border + miniHdmiDistance + miniHdmiWidth / 2
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,31 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          387,
 | 
			
		||||
          389,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      373,
 | 
			
		||||
      390,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
@ -11,16 +34,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          791,
 | 
			
		||||
          795,
 | 
			
		||||
          818,
 | 
			
		||||
          822,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      777,
 | 
			
		||||
      796,
 | 
			
		||||
      804,
 | 
			
		||||
      823,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -43,16 +66,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1047,
 | 
			
		||||
          1057,
 | 
			
		||||
          1074,
 | 
			
		||||
          1084,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1030,
 | 
			
		||||
      1058,
 | 
			
		||||
      1057,
 | 
			
		||||
      1085,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -87,8 +110,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1088,
 | 
			
		||||
          1089,
 | 
			
		||||
          1115,
 | 
			
		||||
          1116,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -115,16 +138,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1105,
 | 
			
		||||
          1262,
 | 
			
		||||
          1132,
 | 
			
		||||
          1289,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "fillet",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1064,
 | 
			
		||||
      1270,
 | 
			
		||||
      1091,
 | 
			
		||||
      1297,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -146,15 +169,15 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
    "type": "UserDefinedFunctionCall",
 | 
			
		||||
    "name": "m25Screw",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      1283,
 | 
			
		||||
      1511,
 | 
			
		||||
      1310,
 | 
			
		||||
      1538,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1513,
 | 
			
		||||
      1642,
 | 
			
		||||
      1540,
 | 
			
		||||
      1669,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
@ -166,16 +189,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1324,
 | 
			
		||||
          1328,
 | 
			
		||||
          1351,
 | 
			
		||||
          1355,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1310,
 | 
			
		||||
      1329,
 | 
			
		||||
      1337,
 | 
			
		||||
      1356,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -191,8 +214,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1420,
 | 
			
		||||
          1458,
 | 
			
		||||
          1447,
 | 
			
		||||
          1485,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -204,16 +227,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1460,
 | 
			
		||||
          1461,
 | 
			
		||||
          1487,
 | 
			
		||||
          1488,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "hole",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1415,
 | 
			
		||||
      1462,
 | 
			
		||||
      1442,
 | 
			
		||||
      1489,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -236,16 +259,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1487,
 | 
			
		||||
          1493,
 | 
			
		||||
          1514,
 | 
			
		||||
          1520,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1470,
 | 
			
		||||
      1494,
 | 
			
		||||
      1497,
 | 
			
		||||
      1521,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -270,15 +293,15 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
    "type": "UserDefinedFunctionCall",
 | 
			
		||||
    "name": "m25Screw",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      1283,
 | 
			
		||||
      1511,
 | 
			
		||||
      1310,
 | 
			
		||||
      1538,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1644,
 | 
			
		||||
      1771,
 | 
			
		||||
      1671,
 | 
			
		||||
      1798,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
@ -290,16 +313,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1324,
 | 
			
		||||
          1328,
 | 
			
		||||
          1351,
 | 
			
		||||
          1355,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1310,
 | 
			
		||||
      1329,
 | 
			
		||||
      1337,
 | 
			
		||||
      1356,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -315,8 +338,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1420,
 | 
			
		||||
          1458,
 | 
			
		||||
          1447,
 | 
			
		||||
          1485,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -328,16 +351,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1460,
 | 
			
		||||
          1461,
 | 
			
		||||
          1487,
 | 
			
		||||
          1488,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "hole",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1415,
 | 
			
		||||
      1462,
 | 
			
		||||
      1442,
 | 
			
		||||
      1489,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -360,16 +383,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1487,
 | 
			
		||||
          1493,
 | 
			
		||||
          1514,
 | 
			
		||||
          1520,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1470,
 | 
			
		||||
      1494,
 | 
			
		||||
      1497,
 | 
			
		||||
      1521,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -394,15 +417,15 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
    "type": "UserDefinedFunctionCall",
 | 
			
		||||
    "name": "m25Screw",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      1283,
 | 
			
		||||
      1511,
 | 
			
		||||
      1310,
 | 
			
		||||
      1538,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1773,
 | 
			
		||||
      1898,
 | 
			
		||||
      1800,
 | 
			
		||||
      1925,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
@ -414,16 +437,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1324,
 | 
			
		||||
          1328,
 | 
			
		||||
          1351,
 | 
			
		||||
          1355,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1310,
 | 
			
		||||
      1329,
 | 
			
		||||
      1337,
 | 
			
		||||
      1356,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -439,8 +462,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1420,
 | 
			
		||||
          1458,
 | 
			
		||||
          1447,
 | 
			
		||||
          1485,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -452,16 +475,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1460,
 | 
			
		||||
          1461,
 | 
			
		||||
          1487,
 | 
			
		||||
          1488,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "hole",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1415,
 | 
			
		||||
      1462,
 | 
			
		||||
      1442,
 | 
			
		||||
      1489,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -484,16 +507,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1487,
 | 
			
		||||
          1493,
 | 
			
		||||
          1514,
 | 
			
		||||
          1520,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1470,
 | 
			
		||||
      1494,
 | 
			
		||||
      1497,
 | 
			
		||||
      1521,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -518,15 +541,15 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
    "type": "UserDefinedFunctionCall",
 | 
			
		||||
    "name": "m25Screw",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      1283,
 | 
			
		||||
      1511,
 | 
			
		||||
      1310,
 | 
			
		||||
      1538,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1900,
 | 
			
		||||
      2027,
 | 
			
		||||
      1927,
 | 
			
		||||
      2054,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
@ -538,16 +561,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          "value": "XY"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1324,
 | 
			
		||||
          1328,
 | 
			
		||||
          1351,
 | 
			
		||||
          1355,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1310,
 | 
			
		||||
      1329,
 | 
			
		||||
      1337,
 | 
			
		||||
      1356,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -563,8 +586,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1420,
 | 
			
		||||
          1458,
 | 
			
		||||
          1447,
 | 
			
		||||
          1485,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -576,16 +599,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1460,
 | 
			
		||||
          1461,
 | 
			
		||||
          1487,
 | 
			
		||||
          1488,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "hole",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1415,
 | 
			
		||||
      1462,
 | 
			
		||||
      1442,
 | 
			
		||||
      1489,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -608,16 +631,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1487,
 | 
			
		||||
          1493,
 | 
			
		||||
          1514,
 | 
			
		||||
          1520,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1470,
 | 
			
		||||
      1494,
 | 
			
		||||
      1497,
 | 
			
		||||
      1521,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -651,8 +674,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          2049,
 | 
			
		||||
          2056,
 | 
			
		||||
          2076,
 | 
			
		||||
          2083,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -671,16 +694,16 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          2070,
 | 
			
		||||
          2083,
 | 
			
		||||
          2097,
 | 
			
		||||
          2110,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      2029,
 | 
			
		||||
      2084,
 | 
			
		||||
      2056,
 | 
			
		||||
      2111,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -692,8 +715,8 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": [
 | 
			
		||||
        2035,
 | 
			
		||||
        2039,
 | 
			
		||||
        2062,
 | 
			
		||||
        2066,
 | 
			
		||||
        0
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -36,13 +36,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            833,
 | 
			
		||||
            881,
 | 
			
		||||
            860,
 | 
			
		||||
            908,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "end": 880,
 | 
			
		||||
            "start": 874,
 | 
			
		||||
            "end": 907,
 | 
			
		||||
            "start": 901,
 | 
			
		||||
            "type": "TagDeclarator",
 | 
			
		||||
            "value": "edge1"
 | 
			
		||||
          },
 | 
			
		||||
@ -52,13 +52,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            887,
 | 
			
		||||
            944,
 | 
			
		||||
            914,
 | 
			
		||||
            971,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "end": 943,
 | 
			
		||||
            "start": 937,
 | 
			
		||||
            "end": 970,
 | 
			
		||||
            "start": 964,
 | 
			
		||||
            "type": "TagDeclarator",
 | 
			
		||||
            "value": "edge2"
 | 
			
		||||
          },
 | 
			
		||||
@ -68,13 +68,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            950,
 | 
			
		||||
            999,
 | 
			
		||||
            977,
 | 
			
		||||
            1026,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "end": 998,
 | 
			
		||||
            "start": 992,
 | 
			
		||||
            "end": 1025,
 | 
			
		||||
            "start": 1019,
 | 
			
		||||
            "type": "TagDeclarator",
 | 
			
		||||
            "value": "edge3"
 | 
			
		||||
          },
 | 
			
		||||
@ -84,13 +84,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1005,
 | 
			
		||||
            1024,
 | 
			
		||||
            1032,
 | 
			
		||||
            1051,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "end": 1023,
 | 
			
		||||
            "start": 1017,
 | 
			
		||||
            "end": 1050,
 | 
			
		||||
            "start": 1044,
 | 
			
		||||
            "type": "TagDeclarator",
 | 
			
		||||
            "value": "edge4"
 | 
			
		||||
          },
 | 
			
		||||
@ -105,8 +105,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                833,
 | 
			
		||||
                881,
 | 
			
		||||
                860,
 | 
			
		||||
                908,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -115,8 +115,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "end": 880,
 | 
			
		||||
              "start": 874,
 | 
			
		||||
              "end": 907,
 | 
			
		||||
              "start": 901,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "edge1"
 | 
			
		||||
            },
 | 
			
		||||
@ -133,8 +133,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                887,
 | 
			
		||||
                944,
 | 
			
		||||
                914,
 | 
			
		||||
                971,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -143,8 +143,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "end": 943,
 | 
			
		||||
              "start": 937,
 | 
			
		||||
              "end": 970,
 | 
			
		||||
              "start": 964,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "edge2"
 | 
			
		||||
            },
 | 
			
		||||
@ -161,8 +161,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                950,
 | 
			
		||||
                999,
 | 
			
		||||
                977,
 | 
			
		||||
                1026,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -171,8 +171,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
              73.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "end": 998,
 | 
			
		||||
              "start": 992,
 | 
			
		||||
              "end": 1025,
 | 
			
		||||
              "start": 1019,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "edge3"
 | 
			
		||||
            },
 | 
			
		||||
@ -189,8 +189,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1005,
 | 
			
		||||
                1024,
 | 
			
		||||
                1032,
 | 
			
		||||
                1051,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -199,8 +199,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
              73.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "end": 1023,
 | 
			
		||||
              "start": 1017,
 | 
			
		||||
              "end": 1050,
 | 
			
		||||
              "start": 1044,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "edge4"
 | 
			
		||||
            },
 | 
			
		||||
@ -260,8 +260,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              802,
 | 
			
		||||
              827,
 | 
			
		||||
              829,
 | 
			
		||||
              854,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -278,8 +278,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "__geoMeta": {
 | 
			
		||||
                  "id": "[uuid]",
 | 
			
		||||
                  "sourceRange": [
 | 
			
		||||
                    833,
 | 
			
		||||
                    881,
 | 
			
		||||
                    860,
 | 
			
		||||
                    908,
 | 
			
		||||
                    0
 | 
			
		||||
                  ]
 | 
			
		||||
                },
 | 
			
		||||
@ -288,8 +288,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                  0.0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 880,
 | 
			
		||||
                  "start": 874,
 | 
			
		||||
                  "end": 907,
 | 
			
		||||
                  "start": 901,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge1"
 | 
			
		||||
                },
 | 
			
		||||
@ -306,13 +306,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "faceId": "[uuid]",
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  833,
 | 
			
		||||
                  881,
 | 
			
		||||
                  860,
 | 
			
		||||
                  908,
 | 
			
		||||
                  0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 880,
 | 
			
		||||
                  "start": 874,
 | 
			
		||||
                  "end": 907,
 | 
			
		||||
                  "start": 901,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge1"
 | 
			
		||||
                },
 | 
			
		||||
@ -322,8 +322,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__meta": [
 | 
			
		||||
              {
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  874,
 | 
			
		||||
                  880,
 | 
			
		||||
                  901,
 | 
			
		||||
                  907,
 | 
			
		||||
                  0
 | 
			
		||||
                ]
 | 
			
		||||
              }
 | 
			
		||||
@ -340,8 +340,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "__geoMeta": {
 | 
			
		||||
                  "id": "[uuid]",
 | 
			
		||||
                  "sourceRange": [
 | 
			
		||||
                    887,
 | 
			
		||||
                    944,
 | 
			
		||||
                    914,
 | 
			
		||||
                    971,
 | 
			
		||||
                    0
 | 
			
		||||
                  ]
 | 
			
		||||
                },
 | 
			
		||||
@ -350,8 +350,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                  0.0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 943,
 | 
			
		||||
                  "start": 937,
 | 
			
		||||
                  "end": 970,
 | 
			
		||||
                  "start": 964,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge2"
 | 
			
		||||
                },
 | 
			
		||||
@ -368,13 +368,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "faceId": "[uuid]",
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  887,
 | 
			
		||||
                  944,
 | 
			
		||||
                  914,
 | 
			
		||||
                  971,
 | 
			
		||||
                  0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 943,
 | 
			
		||||
                  "start": 937,
 | 
			
		||||
                  "end": 970,
 | 
			
		||||
                  "start": 964,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge2"
 | 
			
		||||
                },
 | 
			
		||||
@ -384,8 +384,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__meta": [
 | 
			
		||||
              {
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  937,
 | 
			
		||||
                  943,
 | 
			
		||||
                  964,
 | 
			
		||||
                  970,
 | 
			
		||||
                  0
 | 
			
		||||
                ]
 | 
			
		||||
              }
 | 
			
		||||
@ -402,8 +402,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "__geoMeta": {
 | 
			
		||||
                  "id": "[uuid]",
 | 
			
		||||
                  "sourceRange": [
 | 
			
		||||
                    950,
 | 
			
		||||
                    999,
 | 
			
		||||
                    977,
 | 
			
		||||
                    1026,
 | 
			
		||||
                    0
 | 
			
		||||
                  ]
 | 
			
		||||
                },
 | 
			
		||||
@ -412,8 +412,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                  73.0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 998,
 | 
			
		||||
                  "start": 992,
 | 
			
		||||
                  "end": 1025,
 | 
			
		||||
                  "start": 1019,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge3"
 | 
			
		||||
                },
 | 
			
		||||
@ -430,13 +430,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "faceId": "[uuid]",
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  950,
 | 
			
		||||
                  999,
 | 
			
		||||
                  977,
 | 
			
		||||
                  1026,
 | 
			
		||||
                  0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 998,
 | 
			
		||||
                  "start": 992,
 | 
			
		||||
                  "end": 1025,
 | 
			
		||||
                  "start": 1019,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge3"
 | 
			
		||||
                },
 | 
			
		||||
@ -446,8 +446,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__meta": [
 | 
			
		||||
              {
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  992,
 | 
			
		||||
                  998,
 | 
			
		||||
                  1019,
 | 
			
		||||
                  1025,
 | 
			
		||||
                  0
 | 
			
		||||
                ]
 | 
			
		||||
              }
 | 
			
		||||
@ -464,8 +464,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "__geoMeta": {
 | 
			
		||||
                  "id": "[uuid]",
 | 
			
		||||
                  "sourceRange": [
 | 
			
		||||
                    1005,
 | 
			
		||||
                    1024,
 | 
			
		||||
                    1032,
 | 
			
		||||
                    1051,
 | 
			
		||||
                    0
 | 
			
		||||
                  ]
 | 
			
		||||
                },
 | 
			
		||||
@ -474,8 +474,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                  73.0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 1023,
 | 
			
		||||
                  "start": 1017,
 | 
			
		||||
                  "end": 1050,
 | 
			
		||||
                  "start": 1044,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge4"
 | 
			
		||||
                },
 | 
			
		||||
@ -492,13 +492,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
                "faceId": "[uuid]",
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  1005,
 | 
			
		||||
                  1024,
 | 
			
		||||
                  1032,
 | 
			
		||||
                  1051,
 | 
			
		||||
                  0
 | 
			
		||||
                ],
 | 
			
		||||
                "tag": {
 | 
			
		||||
                  "end": 1023,
 | 
			
		||||
                  "start": 1017,
 | 
			
		||||
                  "end": 1050,
 | 
			
		||||
                  "start": 1044,
 | 
			
		||||
                  "type": "TagDeclarator",
 | 
			
		||||
                  "value": "edge4"
 | 
			
		||||
                },
 | 
			
		||||
@ -508,8 +508,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
            "__meta": [
 | 
			
		||||
              {
 | 
			
		||||
                "sourceRange": [
 | 
			
		||||
                  1017,
 | 
			
		||||
                  1023,
 | 
			
		||||
                  1044,
 | 
			
		||||
                  1050,
 | 
			
		||||
                  0
 | 
			
		||||
                ]
 | 
			
		||||
              }
 | 
			
		||||
@ -524,8 +524,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "__meta": [
 | 
			
		||||
          {
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              802,
 | 
			
		||||
              827,
 | 
			
		||||
              829,
 | 
			
		||||
              854,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -570,8 +570,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            802,
 | 
			
		||||
            827,
 | 
			
		||||
            829,
 | 
			
		||||
            854,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -716,8 +716,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            833,
 | 
			
		||||
            881,
 | 
			
		||||
            860,
 | 
			
		||||
            908,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
@ -726,8 +726,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          0.0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 880,
 | 
			
		||||
          "start": 874,
 | 
			
		||||
          "end": 907,
 | 
			
		||||
          "start": 901,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge1"
 | 
			
		||||
        },
 | 
			
		||||
@ -744,13 +744,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "faceId": "[uuid]",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          833,
 | 
			
		||||
          881,
 | 
			
		||||
          860,
 | 
			
		||||
          908,
 | 
			
		||||
          0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 880,
 | 
			
		||||
          "start": 874,
 | 
			
		||||
          "end": 907,
 | 
			
		||||
          "start": 901,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge1"
 | 
			
		||||
        },
 | 
			
		||||
@ -760,8 +760,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          874,
 | 
			
		||||
          880,
 | 
			
		||||
          901,
 | 
			
		||||
          907,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -779,8 +779,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            887,
 | 
			
		||||
            944,
 | 
			
		||||
            914,
 | 
			
		||||
            971,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
@ -789,8 +789,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          0.0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 943,
 | 
			
		||||
          "start": 937,
 | 
			
		||||
          "end": 970,
 | 
			
		||||
          "start": 964,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge2"
 | 
			
		||||
        },
 | 
			
		||||
@ -807,13 +807,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "faceId": "[uuid]",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          887,
 | 
			
		||||
          944,
 | 
			
		||||
          914,
 | 
			
		||||
          971,
 | 
			
		||||
          0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 943,
 | 
			
		||||
          "start": 937,
 | 
			
		||||
          "end": 970,
 | 
			
		||||
          "start": 964,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge2"
 | 
			
		||||
        },
 | 
			
		||||
@ -823,8 +823,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          937,
 | 
			
		||||
          943,
 | 
			
		||||
          964,
 | 
			
		||||
          970,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -842,8 +842,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            950,
 | 
			
		||||
            999,
 | 
			
		||||
            977,
 | 
			
		||||
            1026,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
@ -852,8 +852,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          73.0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 998,
 | 
			
		||||
          "start": 992,
 | 
			
		||||
          "end": 1025,
 | 
			
		||||
          "start": 1019,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge3"
 | 
			
		||||
        },
 | 
			
		||||
@ -870,13 +870,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "faceId": "[uuid]",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          950,
 | 
			
		||||
          999,
 | 
			
		||||
          977,
 | 
			
		||||
          1026,
 | 
			
		||||
          0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 998,
 | 
			
		||||
          "start": 992,
 | 
			
		||||
          "end": 1025,
 | 
			
		||||
          "start": 1019,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge3"
 | 
			
		||||
        },
 | 
			
		||||
@ -886,8 +886,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          992,
 | 
			
		||||
          998,
 | 
			
		||||
          1019,
 | 
			
		||||
          1025,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -905,8 +905,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1005,
 | 
			
		||||
            1024,
 | 
			
		||||
            1032,
 | 
			
		||||
            1051,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        },
 | 
			
		||||
@ -915,8 +915,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          73.0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 1023,
 | 
			
		||||
          "start": 1017,
 | 
			
		||||
          "end": 1050,
 | 
			
		||||
          "start": 1044,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge4"
 | 
			
		||||
        },
 | 
			
		||||
@ -933,13 +933,13 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "faceId": "[uuid]",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1005,
 | 
			
		||||
          1024,
 | 
			
		||||
          1032,
 | 
			
		||||
          1051,
 | 
			
		||||
          0
 | 
			
		||||
        ],
 | 
			
		||||
        "tag": {
 | 
			
		||||
          "end": 1023,
 | 
			
		||||
          "start": 1017,
 | 
			
		||||
          "end": 1050,
 | 
			
		||||
          "start": 1044,
 | 
			
		||||
          "type": "TagDeclarator",
 | 
			
		||||
          "value": "edge4"
 | 
			
		||||
        },
 | 
			
		||||
@ -949,8 +949,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1017,
 | 
			
		||||
          1023,
 | 
			
		||||
          1044,
 | 
			
		||||
          1050,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -984,8 +984,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1283,
 | 
			
		||||
          1511,
 | 
			
		||||
          1310,
 | 
			
		||||
          1538,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -1089,8 +1089,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              467,
 | 
			
		||||
              558,
 | 
			
		||||
              494,
 | 
			
		||||
              585,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1112,8 +1112,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              564,
 | 
			
		||||
              655,
 | 
			
		||||
              591,
 | 
			
		||||
              682,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1135,8 +1135,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              661,
 | 
			
		||||
              754,
 | 
			
		||||
              688,
 | 
			
		||||
              781,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1158,8 +1158,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              760,
 | 
			
		||||
              768,
 | 
			
		||||
              787,
 | 
			
		||||
              795,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1224,8 +1224,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            373,
 | 
			
		||||
            461,
 | 
			
		||||
            396,
 | 
			
		||||
            488,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -1238,8 +1238,8 @@ description: Variables in memory after executing fillet-and-shell.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            373,
 | 
			
		||||
            461,
 | 
			
		||||
            396,
 | 
			
		||||
            488,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart i_shape.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,50 +1,50 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[399, 432, 0]"]
 | 
			
		||||
    3["Segment<br>[438, 478, 0]"]
 | 
			
		||||
    4["Segment<br>[484, 542, 0]"]
 | 
			
		||||
    5["Segment<br>[548, 578, 0]"]
 | 
			
		||||
    6["Segment<br>[584, 643, 0]"]
 | 
			
		||||
    7["Segment<br>[649, 708, 0]"]
 | 
			
		||||
    8["Segment<br>[714, 773, 0]"]
 | 
			
		||||
    9["Segment<br>[779, 831, 0]"]
 | 
			
		||||
    10["Segment<br>[837, 895, 0]"]
 | 
			
		||||
    11["Segment<br>[901, 937, 0]"]
 | 
			
		||||
    12["Segment<br>[943, 1001, 0]"]
 | 
			
		||||
    13["Segment<br>[1007, 1037, 0]"]
 | 
			
		||||
    14["Segment<br>[1043, 1102, 0]"]
 | 
			
		||||
    15["Segment<br>[1108, 1171, 0]"]
 | 
			
		||||
    16["Segment<br>[1177, 1237, 0]"]
 | 
			
		||||
    17["Segment<br>[1243, 1276, 0]"]
 | 
			
		||||
    18["Segment<br>[1282, 1341, 0]"]
 | 
			
		||||
    19["Segment<br>[1347, 1383, 0]"]
 | 
			
		||||
    20["Segment<br>[1389, 1448, 0]"]
 | 
			
		||||
    21["Segment<br>[1454, 1509, 0]"]
 | 
			
		||||
    22["Segment<br>[1515, 1575, 0]"]
 | 
			
		||||
    23["Segment<br>[1581, 1705, 0]"]
 | 
			
		||||
    24["Segment<br>[1711, 1771, 0]"]
 | 
			
		||||
    25["Segment<br>[1777, 1810, 0]"]
 | 
			
		||||
    26["Segment<br>[1816, 1875, 0]"]
 | 
			
		||||
    27["Segment<br>[1881, 1889, 0]"]
 | 
			
		||||
    2["Path<br>[422, 459, 0]"]
 | 
			
		||||
    3["Segment<br>[465, 505, 0]"]
 | 
			
		||||
    4["Segment<br>[511, 569, 0]"]
 | 
			
		||||
    5["Segment<br>[575, 605, 0]"]
 | 
			
		||||
    6["Segment<br>[611, 670, 0]"]
 | 
			
		||||
    7["Segment<br>[676, 735, 0]"]
 | 
			
		||||
    8["Segment<br>[741, 800, 0]"]
 | 
			
		||||
    9["Segment<br>[806, 858, 0]"]
 | 
			
		||||
    10["Segment<br>[864, 922, 0]"]
 | 
			
		||||
    11["Segment<br>[928, 964, 0]"]
 | 
			
		||||
    12["Segment<br>[970, 1028, 0]"]
 | 
			
		||||
    13["Segment<br>[1034, 1064, 0]"]
 | 
			
		||||
    14["Segment<br>[1070, 1129, 0]"]
 | 
			
		||||
    15["Segment<br>[1135, 1198, 0]"]
 | 
			
		||||
    16["Segment<br>[1204, 1264, 0]"]
 | 
			
		||||
    17["Segment<br>[1270, 1303, 0]"]
 | 
			
		||||
    18["Segment<br>[1309, 1368, 0]"]
 | 
			
		||||
    19["Segment<br>[1374, 1410, 0]"]
 | 
			
		||||
    20["Segment<br>[1416, 1475, 0]"]
 | 
			
		||||
    21["Segment<br>[1481, 1536, 0]"]
 | 
			
		||||
    22["Segment<br>[1542, 1602, 0]"]
 | 
			
		||||
    23["Segment<br>[1608, 1732, 0]"]
 | 
			
		||||
    24["Segment<br>[1738, 1798, 0]"]
 | 
			
		||||
    25["Segment<br>[1804, 1837, 0]"]
 | 
			
		||||
    26["Segment<br>[1843, 1902, 0]"]
 | 
			
		||||
    27["Segment<br>[1908, 1916, 0]"]
 | 
			
		||||
    28[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  subgraph path30 [Path]
 | 
			
		||||
    30["Path<br>[1899, 1920, 0]"]
 | 
			
		||||
    31["Segment<br>[1926, 1939, 0]"]
 | 
			
		||||
    32["Segment<br>[1945, 2003, 0]"]
 | 
			
		||||
    33["Segment<br>[2009, 2045, 0]"]
 | 
			
		||||
    34["Segment<br>[2051, 2110, 0]"]
 | 
			
		||||
    35["Segment<br>[2116, 2130, 0]"]
 | 
			
		||||
    36["Segment<br>[2136, 2196, 0]"]
 | 
			
		||||
    37["Segment<br>[2202, 2241, 0]"]
 | 
			
		||||
    38["Segment<br>[2247, 2306, 0]"]
 | 
			
		||||
    39["Segment<br>[2312, 2320, 0]"]
 | 
			
		||||
    30["Path<br>[1949, 1974, 0]"]
 | 
			
		||||
    31["Segment<br>[1980, 1993, 0]"]
 | 
			
		||||
    32["Segment<br>[1999, 2057, 0]"]
 | 
			
		||||
    33["Segment<br>[2063, 2099, 0]"]
 | 
			
		||||
    34["Segment<br>[2105, 2164, 0]"]
 | 
			
		||||
    35["Segment<br>[2170, 2184, 0]"]
 | 
			
		||||
    36["Segment<br>[2190, 2250, 0]"]
 | 
			
		||||
    37["Segment<br>[2256, 2295, 0]"]
 | 
			
		||||
    38["Segment<br>[2301, 2360, 0]"]
 | 
			
		||||
    39["Segment<br>[2366, 2374, 0]"]
 | 
			
		||||
    40[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[399, 432, 0]"]
 | 
			
		||||
  29["Plane<br>[1899, 1920, 0]"]
 | 
			
		||||
  41["Sweep Extrusion<br>[2366, 2387, 0]"]
 | 
			
		||||
  1["Plane<br>[399, 416, 0]"]
 | 
			
		||||
  29["Plane<br>[1926, 1943, 0]"]
 | 
			
		||||
  41["Sweep Extrusion<br>[2420, 2441, 0]"]
 | 
			
		||||
  42[Wall]
 | 
			
		||||
  43[Wall]
 | 
			
		||||
  44[Wall]
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -7,7 +7,8 @@ corner_radius = 5.0
 | 
			
		||||
// At first I thought this was going to be symmetric,
 | 
			
		||||
// but I measured intentionally to not be symmetric,
 | 
			
		||||
// because your wrist isn't a perfect cylindrical surface
 | 
			
		||||
brace_base = startSketchAt([corner_radius, 0])
 | 
			
		||||
brace_base = startSketchOn(XY)
 | 
			
		||||
  |> startProfileAt([corner_radius, 0], %)
 | 
			
		||||
  |> line(end = [width - corner_radius, 0.0])
 | 
			
		||||
  |> tangentialArcToRelative([corner_radius, corner_radius], %)
 | 
			
		||||
  |> yLine(25.0 - corner_radius, %)
 | 
			
		||||
@ -34,7 +35,8 @@ brace_base = startSketchAt([corner_radius, 0])
 | 
			
		||||
  |> tangentialArcToRelative([corner_radius, -corner_radius], %)
 | 
			
		||||
  |> close(%)
 | 
			
		||||
 | 
			
		||||
inner = startSketchAt([0, 0])
 | 
			
		||||
inner = startSketchOn(XY)
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> xLine(1.0, %)
 | 
			
		||||
  |> tangentialArcToRelative([corner_radius, corner_radius], %)
 | 
			
		||||
  |> yLine(25.0 - (corner_radius * 2), %)
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,54 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed i_shape.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          413,
 | 
			
		||||
          415,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      399,
 | 
			
		||||
      416,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          1940,
 | 
			
		||||
          1942,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      1926,
 | 
			
		||||
      1943,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "holeSketch": {
 | 
			
		||||
@ -13,8 +59,8 @@ description: Operations executed i_shape.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          2351,
 | 
			
		||||
          2356,
 | 
			
		||||
          2405,
 | 
			
		||||
          2410,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
@ -26,16 +72,16 @@ description: Operations executed i_shape.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          2358,
 | 
			
		||||
          2359,
 | 
			
		||||
          2412,
 | 
			
		||||
          2413,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "hole",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      2346,
 | 
			
		||||
      2360,
 | 
			
		||||
      2400,
 | 
			
		||||
      2414,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
@ -58,16 +104,16 @@ description: Operations executed i_shape.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          2383,
 | 
			
		||||
          2386,
 | 
			
		||||
          2437,
 | 
			
		||||
          2440,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      2366,
 | 
			
		||||
      2387,
 | 
			
		||||
      2420,
 | 
			
		||||
      2441,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -13,8 +13,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              438,
 | 
			
		||||
              478,
 | 
			
		||||
              465,
 | 
			
		||||
              505,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -36,8 +36,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              484,
 | 
			
		||||
              542,
 | 
			
		||||
              511,
 | 
			
		||||
              569,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -64,8 +64,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              548,
 | 
			
		||||
              578,
 | 
			
		||||
              575,
 | 
			
		||||
              605,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -87,8 +87,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              584,
 | 
			
		||||
              643,
 | 
			
		||||
              611,
 | 
			
		||||
              670,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -115,8 +115,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              649,
 | 
			
		||||
              708,
 | 
			
		||||
              676,
 | 
			
		||||
              735,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -138,8 +138,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              714,
 | 
			
		||||
              773,
 | 
			
		||||
              741,
 | 
			
		||||
              800,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -166,8 +166,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              779,
 | 
			
		||||
              831,
 | 
			
		||||
              806,
 | 
			
		||||
              858,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -189,8 +189,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              837,
 | 
			
		||||
              895,
 | 
			
		||||
              864,
 | 
			
		||||
              922,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -217,8 +217,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              901,
 | 
			
		||||
              937,
 | 
			
		||||
              928,
 | 
			
		||||
              964,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -240,8 +240,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              943,
 | 
			
		||||
              1001,
 | 
			
		||||
              970,
 | 
			
		||||
              1028,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -268,8 +268,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1007,
 | 
			
		||||
              1037,
 | 
			
		||||
              1034,
 | 
			
		||||
              1064,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -291,8 +291,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1043,
 | 
			
		||||
              1102,
 | 
			
		||||
              1070,
 | 
			
		||||
              1129,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -319,8 +319,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1108,
 | 
			
		||||
              1171,
 | 
			
		||||
              1135,
 | 
			
		||||
              1198,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -342,8 +342,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1177,
 | 
			
		||||
              1237,
 | 
			
		||||
              1204,
 | 
			
		||||
              1264,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -370,8 +370,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1243,
 | 
			
		||||
              1276,
 | 
			
		||||
              1270,
 | 
			
		||||
              1303,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -393,8 +393,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1282,
 | 
			
		||||
              1341,
 | 
			
		||||
              1309,
 | 
			
		||||
              1368,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -421,8 +421,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1347,
 | 
			
		||||
              1383,
 | 
			
		||||
              1374,
 | 
			
		||||
              1410,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -444,8 +444,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1389,
 | 
			
		||||
              1448,
 | 
			
		||||
              1416,
 | 
			
		||||
              1475,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -472,8 +472,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1454,
 | 
			
		||||
              1509,
 | 
			
		||||
              1481,
 | 
			
		||||
              1536,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -495,8 +495,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1515,
 | 
			
		||||
              1575,
 | 
			
		||||
              1542,
 | 
			
		||||
              1602,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -523,8 +523,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1581,
 | 
			
		||||
              1705,
 | 
			
		||||
              1608,
 | 
			
		||||
              1732,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -546,8 +546,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1711,
 | 
			
		||||
              1771,
 | 
			
		||||
              1738,
 | 
			
		||||
              1798,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -574,8 +574,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1777,
 | 
			
		||||
              1810,
 | 
			
		||||
              1804,
 | 
			
		||||
              1837,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -597,8 +597,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1816,
 | 
			
		||||
              1875,
 | 
			
		||||
              1843,
 | 
			
		||||
              1902,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -625,8 +625,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1881,
 | 
			
		||||
              1889,
 | 
			
		||||
              1908,
 | 
			
		||||
              1916,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -691,8 +691,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            399,
 | 
			
		||||
            432,
 | 
			
		||||
            422,
 | 
			
		||||
            459,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -705,8 +705,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            399,
 | 
			
		||||
            432,
 | 
			
		||||
            422,
 | 
			
		||||
            459,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -848,8 +848,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            438,
 | 
			
		||||
            478,
 | 
			
		||||
            465,
 | 
			
		||||
            505,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -859,8 +859,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            484,
 | 
			
		||||
            542,
 | 
			
		||||
            511,
 | 
			
		||||
            569,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -870,8 +870,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            548,
 | 
			
		||||
            578,
 | 
			
		||||
            575,
 | 
			
		||||
            605,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -881,8 +881,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            584,
 | 
			
		||||
            643,
 | 
			
		||||
            611,
 | 
			
		||||
            670,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -892,8 +892,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            649,
 | 
			
		||||
            708,
 | 
			
		||||
            676,
 | 
			
		||||
            735,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -903,8 +903,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            714,
 | 
			
		||||
            773,
 | 
			
		||||
            741,
 | 
			
		||||
            800,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -914,8 +914,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            779,
 | 
			
		||||
            831,
 | 
			
		||||
            806,
 | 
			
		||||
            858,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -925,8 +925,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            837,
 | 
			
		||||
            895,
 | 
			
		||||
            864,
 | 
			
		||||
            922,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -936,8 +936,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            901,
 | 
			
		||||
            937,
 | 
			
		||||
            928,
 | 
			
		||||
            964,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -947,8 +947,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            943,
 | 
			
		||||
            1001,
 | 
			
		||||
            970,
 | 
			
		||||
            1028,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -958,8 +958,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1007,
 | 
			
		||||
            1037,
 | 
			
		||||
            1034,
 | 
			
		||||
            1064,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -969,8 +969,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1043,
 | 
			
		||||
            1102,
 | 
			
		||||
            1070,
 | 
			
		||||
            1129,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -980,8 +980,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1108,
 | 
			
		||||
            1171,
 | 
			
		||||
            1135,
 | 
			
		||||
            1198,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -991,8 +991,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1177,
 | 
			
		||||
            1237,
 | 
			
		||||
            1204,
 | 
			
		||||
            1264,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1002,8 +1002,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1243,
 | 
			
		||||
            1276,
 | 
			
		||||
            1270,
 | 
			
		||||
            1303,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1013,8 +1013,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1282,
 | 
			
		||||
            1341,
 | 
			
		||||
            1309,
 | 
			
		||||
            1368,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1024,8 +1024,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1347,
 | 
			
		||||
            1383,
 | 
			
		||||
            1374,
 | 
			
		||||
            1410,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1035,8 +1035,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1389,
 | 
			
		||||
            1448,
 | 
			
		||||
            1416,
 | 
			
		||||
            1475,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1046,8 +1046,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1454,
 | 
			
		||||
            1509,
 | 
			
		||||
            1481,
 | 
			
		||||
            1536,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1057,8 +1057,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1515,
 | 
			
		||||
            1575,
 | 
			
		||||
            1542,
 | 
			
		||||
            1602,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1068,8 +1068,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1581,
 | 
			
		||||
            1705,
 | 
			
		||||
            1608,
 | 
			
		||||
            1732,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1079,8 +1079,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1711,
 | 
			
		||||
            1771,
 | 
			
		||||
            1738,
 | 
			
		||||
            1798,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1090,8 +1090,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1777,
 | 
			
		||||
            1810,
 | 
			
		||||
            1804,
 | 
			
		||||
            1837,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1101,8 +1101,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1816,
 | 
			
		||||
            1875,
 | 
			
		||||
            1843,
 | 
			
		||||
            1902,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -1117,8 +1117,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                438,
 | 
			
		||||
                478,
 | 
			
		||||
                465,
 | 
			
		||||
                505,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1140,8 +1140,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                484,
 | 
			
		||||
                542,
 | 
			
		||||
                511,
 | 
			
		||||
                569,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1168,8 +1168,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                548,
 | 
			
		||||
                578,
 | 
			
		||||
                575,
 | 
			
		||||
                605,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1191,8 +1191,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                584,
 | 
			
		||||
                643,
 | 
			
		||||
                611,
 | 
			
		||||
                670,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1219,8 +1219,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                649,
 | 
			
		||||
                708,
 | 
			
		||||
                676,
 | 
			
		||||
                735,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1242,8 +1242,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                714,
 | 
			
		||||
                773,
 | 
			
		||||
                741,
 | 
			
		||||
                800,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1270,8 +1270,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                779,
 | 
			
		||||
                831,
 | 
			
		||||
                806,
 | 
			
		||||
                858,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1293,8 +1293,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                837,
 | 
			
		||||
                895,
 | 
			
		||||
                864,
 | 
			
		||||
                922,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1321,8 +1321,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                901,
 | 
			
		||||
                937,
 | 
			
		||||
                928,
 | 
			
		||||
                964,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1344,8 +1344,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                943,
 | 
			
		||||
                1001,
 | 
			
		||||
                970,
 | 
			
		||||
                1028,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1372,8 +1372,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1007,
 | 
			
		||||
                1037,
 | 
			
		||||
                1034,
 | 
			
		||||
                1064,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1395,8 +1395,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1043,
 | 
			
		||||
                1102,
 | 
			
		||||
                1070,
 | 
			
		||||
                1129,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1423,8 +1423,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1108,
 | 
			
		||||
                1171,
 | 
			
		||||
                1135,
 | 
			
		||||
                1198,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1446,8 +1446,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1177,
 | 
			
		||||
                1237,
 | 
			
		||||
                1204,
 | 
			
		||||
                1264,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1474,8 +1474,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1243,
 | 
			
		||||
                1276,
 | 
			
		||||
                1270,
 | 
			
		||||
                1303,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1497,8 +1497,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1282,
 | 
			
		||||
                1341,
 | 
			
		||||
                1309,
 | 
			
		||||
                1368,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1525,8 +1525,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1347,
 | 
			
		||||
                1383,
 | 
			
		||||
                1374,
 | 
			
		||||
                1410,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1548,8 +1548,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1389,
 | 
			
		||||
                1448,
 | 
			
		||||
                1416,
 | 
			
		||||
                1475,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1576,8 +1576,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1454,
 | 
			
		||||
                1509,
 | 
			
		||||
                1481,
 | 
			
		||||
                1536,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1599,8 +1599,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1515,
 | 
			
		||||
                1575,
 | 
			
		||||
                1542,
 | 
			
		||||
                1602,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1627,8 +1627,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1581,
 | 
			
		||||
                1705,
 | 
			
		||||
                1608,
 | 
			
		||||
                1732,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1650,8 +1650,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1711,
 | 
			
		||||
                1771,
 | 
			
		||||
                1738,
 | 
			
		||||
                1798,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1678,8 +1678,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1777,
 | 
			
		||||
                1810,
 | 
			
		||||
                1804,
 | 
			
		||||
                1837,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1701,8 +1701,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1816,
 | 
			
		||||
                1875,
 | 
			
		||||
                1843,
 | 
			
		||||
                1902,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1729,8 +1729,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                1881,
 | 
			
		||||
                1889,
 | 
			
		||||
                1908,
 | 
			
		||||
                1916,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -1795,8 +1795,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              399,
 | 
			
		||||
              432,
 | 
			
		||||
              422,
 | 
			
		||||
              459,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -1809,8 +1809,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
        "__meta": [
 | 
			
		||||
          {
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              399,
 | 
			
		||||
              432,
 | 
			
		||||
              422,
 | 
			
		||||
              459,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -1825,8 +1825,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            399,
 | 
			
		||||
            432,
 | 
			
		||||
            422,
 | 
			
		||||
            459,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -1865,8 +1865,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1926,
 | 
			
		||||
              1939,
 | 
			
		||||
              1980,
 | 
			
		||||
              1993,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1888,8 +1888,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              1945,
 | 
			
		||||
              2003,
 | 
			
		||||
              1999,
 | 
			
		||||
              2057,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1916,8 +1916,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2009,
 | 
			
		||||
              2045,
 | 
			
		||||
              2063,
 | 
			
		||||
              2099,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1939,8 +1939,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2051,
 | 
			
		||||
              2110,
 | 
			
		||||
              2105,
 | 
			
		||||
              2164,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1967,8 +1967,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2116,
 | 
			
		||||
              2130,
 | 
			
		||||
              2170,
 | 
			
		||||
              2184,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -1990,8 +1990,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2136,
 | 
			
		||||
              2196,
 | 
			
		||||
              2190,
 | 
			
		||||
              2250,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -2018,8 +2018,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2202,
 | 
			
		||||
              2241,
 | 
			
		||||
              2256,
 | 
			
		||||
              2295,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -2041,8 +2041,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2247,
 | 
			
		||||
              2306,
 | 
			
		||||
              2301,
 | 
			
		||||
              2360,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -2069,8 +2069,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              2312,
 | 
			
		||||
              2320,
 | 
			
		||||
              2366,
 | 
			
		||||
              2374,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
@ -2135,8 +2135,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
        "__geoMeta": {
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1899,
 | 
			
		||||
            1920,
 | 
			
		||||
            1949,
 | 
			
		||||
            1974,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -2149,8 +2149,8 @@ description: Variables in memory after executing i_shape.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            1899,
 | 
			
		||||
            1920,
 | 
			
		||||
            1949,
 | 
			
		||||
            1974,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -1,450 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing multi_transform.kcl
 | 
			
		||||
snapshot_kind: text
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "Ok": {
 | 
			
		||||
    "body": [
 | 
			
		||||
      {
 | 
			
		||||
        "declarations": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 111,
 | 
			
		||||
            "id": {
 | 
			
		||||
              "end": 12,
 | 
			
		||||
              "name": "transform",
 | 
			
		||||
              "start": 3,
 | 
			
		||||
              "type": "Identifier"
 | 
			
		||||
            },
 | 
			
		||||
            "init": {
 | 
			
		||||
              "body": {
 | 
			
		||||
                "body": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "argument": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 68,
 | 
			
		||||
                          "properties": [
 | 
			
		||||
                            {
 | 
			
		||||
                              "end": 66,
 | 
			
		||||
                              "key": {
 | 
			
		||||
                                "end": 50,
 | 
			
		||||
                                "name": "translate",
 | 
			
		||||
                                "start": 41,
 | 
			
		||||
                                "type": "Identifier"
 | 
			
		||||
                              },
 | 
			
		||||
                              "start": 41,
 | 
			
		||||
                              "type": "ObjectProperty",
 | 
			
		||||
                              "value": {
 | 
			
		||||
                                "elements": [
 | 
			
		||||
                                  {
 | 
			
		||||
                                    "end": 59,
 | 
			
		||||
                                    "left": {
 | 
			
		||||
                                      "end": 55,
 | 
			
		||||
                                      "raw": "30",
 | 
			
		||||
                                      "start": 53,
 | 
			
		||||
                                      "type": "Literal",
 | 
			
		||||
                                      "type": "Literal",
 | 
			
		||||
                                      "value": 30
 | 
			
		||||
                                    },
 | 
			
		||||
                                    "operator": "*",
 | 
			
		||||
                                    "right": {
 | 
			
		||||
                                      "end": 59,
 | 
			
		||||
                                      "name": "i",
 | 
			
		||||
                                      "start": 58,
 | 
			
		||||
                                      "type": "Identifier",
 | 
			
		||||
                                      "type": "Identifier"
 | 
			
		||||
                                    },
 | 
			
		||||
                                    "start": 53,
 | 
			
		||||
                                    "type": "BinaryExpression",
 | 
			
		||||
                                    "type": "BinaryExpression"
 | 
			
		||||
                                  },
 | 
			
		||||
                                  {
 | 
			
		||||
                                    "end": 62,
 | 
			
		||||
                                    "raw": "0",
 | 
			
		||||
                                    "start": 61,
 | 
			
		||||
                                    "type": "Literal",
 | 
			
		||||
                                    "type": "Literal",
 | 
			
		||||
                                    "value": 0
 | 
			
		||||
                                  },
 | 
			
		||||
                                  {
 | 
			
		||||
                                    "end": 65,
 | 
			
		||||
                                    "raw": "0",
 | 
			
		||||
                                    "start": 64,
 | 
			
		||||
                                    "type": "Literal",
 | 
			
		||||
                                    "type": "Literal",
 | 
			
		||||
                                    "value": 0
 | 
			
		||||
                                  }
 | 
			
		||||
                                ],
 | 
			
		||||
                                "end": 66,
 | 
			
		||||
                                "start": 52,
 | 
			
		||||
                                "type": "ArrayExpression",
 | 
			
		||||
                                "type": "ArrayExpression"
 | 
			
		||||
                              }
 | 
			
		||||
                            }
 | 
			
		||||
                          ],
 | 
			
		||||
                          "start": 39,
 | 
			
		||||
                          "type": "ObjectExpression",
 | 
			
		||||
                          "type": "ObjectExpression"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 105,
 | 
			
		||||
                          "properties": [
 | 
			
		||||
                            {
 | 
			
		||||
                              "end": 103,
 | 
			
		||||
                              "key": {
 | 
			
		||||
                                "end": 84,
 | 
			
		||||
                                "name": "rotation",
 | 
			
		||||
                                "start": 76,
 | 
			
		||||
                                "type": "Identifier"
 | 
			
		||||
                              },
 | 
			
		||||
                              "start": 76,
 | 
			
		||||
                              "type": "ObjectProperty",
 | 
			
		||||
                              "value": {
 | 
			
		||||
                                "end": 103,
 | 
			
		||||
                                "properties": [
 | 
			
		||||
                                  {
 | 
			
		||||
                                    "end": 101,
 | 
			
		||||
                                    "key": {
 | 
			
		||||
                                      "end": 93,
 | 
			
		||||
                                      "name": "angle",
 | 
			
		||||
                                      "start": 88,
 | 
			
		||||
                                      "type": "Identifier"
 | 
			
		||||
                                    },
 | 
			
		||||
                                    "start": 88,
 | 
			
		||||
                                    "type": "ObjectProperty",
 | 
			
		||||
                                    "value": {
 | 
			
		||||
                                      "end": 101,
 | 
			
		||||
                                      "left": {
 | 
			
		||||
                                        "end": 97,
 | 
			
		||||
                                        "raw": "45",
 | 
			
		||||
                                        "start": 95,
 | 
			
		||||
                                        "type": "Literal",
 | 
			
		||||
                                        "type": "Literal",
 | 
			
		||||
                                        "value": 45
 | 
			
		||||
                                      },
 | 
			
		||||
                                      "operator": "*",
 | 
			
		||||
                                      "right": {
 | 
			
		||||
                                        "end": 101,
 | 
			
		||||
                                        "name": "i",
 | 
			
		||||
                                        "start": 100,
 | 
			
		||||
                                        "type": "Identifier",
 | 
			
		||||
                                        "type": "Identifier"
 | 
			
		||||
                                      },
 | 
			
		||||
                                      "start": 95,
 | 
			
		||||
                                      "type": "BinaryExpression",
 | 
			
		||||
                                      "type": "BinaryExpression"
 | 
			
		||||
                                    }
 | 
			
		||||
                                  }
 | 
			
		||||
                                ],
 | 
			
		||||
                                "start": 86,
 | 
			
		||||
                                "type": "ObjectExpression",
 | 
			
		||||
                                "type": "ObjectExpression"
 | 
			
		||||
                              }
 | 
			
		||||
                            }
 | 
			
		||||
                          ],
 | 
			
		||||
                          "start": 74,
 | 
			
		||||
                          "type": "ObjectExpression",
 | 
			
		||||
                          "type": "ObjectExpression"
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 109,
 | 
			
		||||
                      "start": 33,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    },
 | 
			
		||||
                    "end": 109,
 | 
			
		||||
                    "start": 26,
 | 
			
		||||
                    "type": "ReturnStatement",
 | 
			
		||||
                    "type": "ReturnStatement"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "end": 111,
 | 
			
		||||
                "start": 22
 | 
			
		||||
              },
 | 
			
		||||
              "end": 111,
 | 
			
		||||
              "params": [
 | 
			
		||||
                {
 | 
			
		||||
                  "type": "Parameter",
 | 
			
		||||
                  "identifier": {
 | 
			
		||||
                    "end": 17,
 | 
			
		||||
                    "name": "i",
 | 
			
		||||
                    "start": 16,
 | 
			
		||||
                    "type": "Identifier"
 | 
			
		||||
                  },
 | 
			
		||||
                  "optional": false
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "start": 15,
 | 
			
		||||
              "type": "FunctionExpression",
 | 
			
		||||
              "type": "FunctionExpression"
 | 
			
		||||
            },
 | 
			
		||||
            "start": 3,
 | 
			
		||||
            "type": "VariableDeclarator"
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "end": 111,
 | 
			
		||||
        "kind": "fn",
 | 
			
		||||
        "start": 0,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "end": 303,
 | 
			
		||||
        "expression": {
 | 
			
		||||
          "body": [
 | 
			
		||||
            {
 | 
			
		||||
              "arguments": [
 | 
			
		||||
                {
 | 
			
		||||
                  "elements": [
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 128,
 | 
			
		||||
                      "raw": "0",
 | 
			
		||||
                      "start": 127,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": 0
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 131,
 | 
			
		||||
                      "raw": "0",
 | 
			
		||||
                      "start": 130,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": 0
 | 
			
		||||
                    }
 | 
			
		||||
                  ],
 | 
			
		||||
                  "end": 132,
 | 
			
		||||
                  "start": 126,
 | 
			
		||||
                  "type": "ArrayExpression",
 | 
			
		||||
                  "type": "ArrayExpression"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "callee": {
 | 
			
		||||
                "end": 125,
 | 
			
		||||
                "name": "startSketchAt",
 | 
			
		||||
                "start": 112,
 | 
			
		||||
                "type": "Identifier"
 | 
			
		||||
              },
 | 
			
		||||
              "end": 133,
 | 
			
		||||
              "optional": false,
 | 
			
		||||
              "start": 112,
 | 
			
		||||
              "type": "CallExpression",
 | 
			
		||||
              "type": "CallExpression"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "arguments": [
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 241,
 | 
			
		||||
                  "properties": [
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 166,
 | 
			
		||||
                      "key": {
 | 
			
		||||
                        "end": 162,
 | 
			
		||||
                        "name": "radius",
 | 
			
		||||
                        "start": 156,
 | 
			
		||||
                        "type": "Identifier"
 | 
			
		||||
                      },
 | 
			
		||||
                      "start": 156,
 | 
			
		||||
                      "type": "ObjectProperty",
 | 
			
		||||
                      "value": {
 | 
			
		||||
                        "end": 166,
 | 
			
		||||
                        "raw": "10",
 | 
			
		||||
                        "start": 164,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": 10
 | 
			
		||||
                      }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 186,
 | 
			
		||||
                      "key": {
 | 
			
		||||
                        "end": 183,
 | 
			
		||||
                        "name": "numSides",
 | 
			
		||||
                        "start": 175,
 | 
			
		||||
                        "type": "Identifier"
 | 
			
		||||
                      },
 | 
			
		||||
                      "start": 175,
 | 
			
		||||
                      "type": "ObjectProperty",
 | 
			
		||||
                      "value": {
 | 
			
		||||
                        "end": 186,
 | 
			
		||||
                        "raw": "4",
 | 
			
		||||
                        "start": 185,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": 4
 | 
			
		||||
                      }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 209,
 | 
			
		||||
                      "key": {
 | 
			
		||||
                        "end": 201,
 | 
			
		||||
                        "name": "center",
 | 
			
		||||
                        "start": 195,
 | 
			
		||||
                        "type": "Identifier"
 | 
			
		||||
                      },
 | 
			
		||||
                      "start": 195,
 | 
			
		||||
                      "type": "ObjectProperty",
 | 
			
		||||
                      "value": {
 | 
			
		||||
                        "elements": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 205,
 | 
			
		||||
                            "raw": "0",
 | 
			
		||||
                            "start": 204,
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "value": 0
 | 
			
		||||
                          },
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 208,
 | 
			
		||||
                            "raw": "0",
 | 
			
		||||
                            "start": 207,
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "value": 0
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "end": 209,
 | 
			
		||||
                        "start": 203,
 | 
			
		||||
                        "type": "ArrayExpression",
 | 
			
		||||
                        "type": "ArrayExpression"
 | 
			
		||||
                      }
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                      "end": 234,
 | 
			
		||||
                      "key": {
 | 
			
		||||
                        "end": 227,
 | 
			
		||||
                        "name": "inscribed",
 | 
			
		||||
                        "start": 218,
 | 
			
		||||
                        "type": "Identifier"
 | 
			
		||||
                      },
 | 
			
		||||
                      "start": 218,
 | 
			
		||||
                      "type": "ObjectProperty",
 | 
			
		||||
                      "value": {
 | 
			
		||||
                        "end": 234,
 | 
			
		||||
                        "raw": "false",
 | 
			
		||||
                        "start": 229,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": false
 | 
			
		||||
                      }
 | 
			
		||||
                    }
 | 
			
		||||
                  ],
 | 
			
		||||
                  "start": 147,
 | 
			
		||||
                  "type": "ObjectExpression",
 | 
			
		||||
                  "type": "ObjectExpression"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 244,
 | 
			
		||||
                  "start": 243,
 | 
			
		||||
                  "type": "PipeSubstitution",
 | 
			
		||||
                  "type": "PipeSubstitution"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "callee": {
 | 
			
		||||
                "end": 146,
 | 
			
		||||
                "name": "polygon",
 | 
			
		||||
                "start": 139,
 | 
			
		||||
                "type": "Identifier"
 | 
			
		||||
              },
 | 
			
		||||
              "end": 245,
 | 
			
		||||
              "optional": false,
 | 
			
		||||
              "start": 139,
 | 
			
		||||
              "type": "CallExpression",
 | 
			
		||||
              "type": "CallExpression"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "arguments": [
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 260,
 | 
			
		||||
                  "raw": "4",
 | 
			
		||||
                  "start": 259,
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "value": 4
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 263,
 | 
			
		||||
                  "start": 262,
 | 
			
		||||
                  "type": "PipeSubstitution",
 | 
			
		||||
                  "type": "PipeSubstitution"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "callee": {
 | 
			
		||||
                "end": 258,
 | 
			
		||||
                "name": "extrude",
 | 
			
		||||
                "start": 251,
 | 
			
		||||
                "type": "Identifier"
 | 
			
		||||
              },
 | 
			
		||||
              "end": 264,
 | 
			
		||||
              "optional": false,
 | 
			
		||||
              "start": 251,
 | 
			
		||||
              "type": "CallExpression",
 | 
			
		||||
              "type": "CallExpression"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "arguments": [
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 288,
 | 
			
		||||
                  "raw": "3",
 | 
			
		||||
                  "start": 287,
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "value": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 299,
 | 
			
		||||
                  "name": "transform",
 | 
			
		||||
                  "start": 290,
 | 
			
		||||
                  "type": "Identifier",
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  "end": 302,
 | 
			
		||||
                  "start": 301,
 | 
			
		||||
                  "type": "PipeSubstitution",
 | 
			
		||||
                  "type": "PipeSubstitution"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "callee": {
 | 
			
		||||
                "end": 286,
 | 
			
		||||
                "name": "patternTransform",
 | 
			
		||||
                "start": 270,
 | 
			
		||||
                "type": "Identifier"
 | 
			
		||||
              },
 | 
			
		||||
              "end": 303,
 | 
			
		||||
              "optional": false,
 | 
			
		||||
              "start": 270,
 | 
			
		||||
              "type": "CallExpression",
 | 
			
		||||
              "type": "CallExpression"
 | 
			
		||||
            }
 | 
			
		||||
          ],
 | 
			
		||||
          "end": 303,
 | 
			
		||||
          "start": 112,
 | 
			
		||||
          "type": "PipeExpression",
 | 
			
		||||
          "type": "PipeExpression"
 | 
			
		||||
        },
 | 
			
		||||
        "start": 112,
 | 
			
		||||
        "type": "ExpressionStatement",
 | 
			
		||||
        "type": "ExpressionStatement"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 305,
 | 
			
		||||
    "nonCodeMeta": {
 | 
			
		||||
      "nonCodeNodes": {
 | 
			
		||||
        "1": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 305,
 | 
			
		||||
            "start": 303,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLine"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "startNodes": []
 | 
			
		||||
    },
 | 
			
		||||
    "start": 0
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -4,7 +4,8 @@ fn transform = (i) => {
 | 
			
		||||
    { rotation: { angle: 45 * i } }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
startSketchAt([0, 0])
 | 
			
		||||
startSketchOn(XY)
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> polygon({
 | 
			
		||||
       radius: 10,
 | 
			
		||||
       numSides: 4,
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands parametric_with_tan_arc.kcl
 | 
			
		||||
snapshot_kind: text
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
@ -286,7 +285,7 @@ snapshot_kind: text
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      239,
 | 
			
		||||
      260,
 | 
			
		||||
      256,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -314,8 +313,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      239,
 | 
			
		||||
      260,
 | 
			
		||||
      262,
 | 
			
		||||
      287,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -334,8 +333,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      239,
 | 
			
		||||
      260,
 | 
			
		||||
      262,
 | 
			
		||||
      287,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -345,8 +344,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      239,
 | 
			
		||||
      260,
 | 
			
		||||
      262,
 | 
			
		||||
      287,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -362,8 +361,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      266,
 | 
			
		||||
      293,
 | 
			
		||||
      320,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -383,8 +382,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      299,
 | 
			
		||||
      350,
 | 
			
		||||
      326,
 | 
			
		||||
      377,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -403,8 +402,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      356,
 | 
			
		||||
      385,
 | 
			
		||||
      383,
 | 
			
		||||
      412,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -424,8 +423,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      391,
 | 
			
		||||
      418,
 | 
			
		||||
      445,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -445,8 +444,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      424,
 | 
			
		||||
      452,
 | 
			
		||||
      451,
 | 
			
		||||
      479,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -466,8 +465,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      458,
 | 
			
		||||
      541,
 | 
			
		||||
      485,
 | 
			
		||||
      568,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -486,8 +485,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      547,
 | 
			
		||||
      575,
 | 
			
		||||
      574,
 | 
			
		||||
      602,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -507,8 +506,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      581,
 | 
			
		||||
      589,
 | 
			
		||||
      608,
 | 
			
		||||
      616,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -519,8 +518,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      581,
 | 
			
		||||
      589,
 | 
			
		||||
      608,
 | 
			
		||||
      616,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -530,8 +529,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -550,8 +549,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -564,8 +563,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -575,8 +574,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -587,8 +586,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -600,8 +599,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -614,8 +613,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -628,8 +627,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -642,8 +641,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -656,8 +655,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -670,8 +669,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -684,8 +683,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -698,8 +697,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -712,8 +711,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -726,8 +725,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -740,8 +739,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -754,8 +753,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -768,8 +767,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -782,8 +781,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -796,8 +795,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -810,8 +809,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart parametric_with_tan_arc.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,19 +1,19 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[239, 260, 0]"]
 | 
			
		||||
    3["Segment<br>[266, 293, 0]"]
 | 
			
		||||
    4["Segment<br>[299, 350, 0]"]
 | 
			
		||||
    5["Segment<br>[356, 385, 0]"]
 | 
			
		||||
    6["Segment<br>[391, 418, 0]"]
 | 
			
		||||
    7["Segment<br>[424, 452, 0]"]
 | 
			
		||||
    8["Segment<br>[458, 541, 0]"]
 | 
			
		||||
    9["Segment<br>[547, 575, 0]"]
 | 
			
		||||
    10["Segment<br>[581, 589, 0]"]
 | 
			
		||||
    2["Path<br>[262, 287, 0]"]
 | 
			
		||||
    3["Segment<br>[293, 320, 0]"]
 | 
			
		||||
    4["Segment<br>[326, 377, 0]"]
 | 
			
		||||
    5["Segment<br>[383, 412, 0]"]
 | 
			
		||||
    6["Segment<br>[418, 445, 0]"]
 | 
			
		||||
    7["Segment<br>[451, 479, 0]"]
 | 
			
		||||
    8["Segment<br>[485, 568, 0]"]
 | 
			
		||||
    9["Segment<br>[574, 602, 0]"]
 | 
			
		||||
    10["Segment<br>[608, 616, 0]"]
 | 
			
		||||
    11[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[239, 260, 0]"]
 | 
			
		||||
  12["Sweep Extrusion<br>[595, 618, 0]"]
 | 
			
		||||
  1["Plane<br>[239, 256, 0]"]
 | 
			
		||||
  12["Sweep Extrusion<br>[622, 645, 0]"]
 | 
			
		||||
  13[Wall]
 | 
			
		||||
  14[Wall]
 | 
			
		||||
  15[Wall]
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -366,7 +366,7 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 618,
 | 
			
		||||
          "end": 645,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 236,
 | 
			
		||||
            "name": "bracket",
 | 
			
		||||
@ -375,14 +375,35 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
            "body": [
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 255,
 | 
			
		||||
                    "name": "XY",
 | 
			
		||||
                    "start": 253,
 | 
			
		||||
                    "type": "Identifier",
 | 
			
		||||
                    "type": "Identifier"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 252,
 | 
			
		||||
                  "name": "startSketchOn",
 | 
			
		||||
                  "start": 239,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 256,
 | 
			
		||||
                "start": 239,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "elements": [
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 255,
 | 
			
		||||
                        "end": 279,
 | 
			
		||||
                        "raw": "0",
 | 
			
		||||
                        "start": 254,
 | 
			
		||||
                        "start": 278,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": {
 | 
			
		||||
@ -391,9 +412,9 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 258,
 | 
			
		||||
                        "end": 282,
 | 
			
		||||
                        "raw": "0",
 | 
			
		||||
                        "start": 257,
 | 
			
		||||
                        "start": 281,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": {
 | 
			
		||||
@ -402,20 +423,26 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "end": 259,
 | 
			
		||||
                    "start": 253,
 | 
			
		||||
                    "end": 283,
 | 
			
		||||
                    "start": 277,
 | 
			
		||||
                    "type": "ArrayExpression",
 | 
			
		||||
                    "type": "ArrayExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 286,
 | 
			
		||||
                    "start": 285,
 | 
			
		||||
                    "type": "PipeSubstitution",
 | 
			
		||||
                    "type": "PipeSubstitution"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 252,
 | 
			
		||||
                  "name": "startSketchAt",
 | 
			
		||||
                  "start": 239,
 | 
			
		||||
                  "end": 276,
 | 
			
		||||
                  "name": "startProfileAt",
 | 
			
		||||
                  "start": 262,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 260,
 | 
			
		||||
                "start": 239,
 | 
			
		||||
                "end": 287,
 | 
			
		||||
                "start": 262,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
@ -430,9 +457,9 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 279,
 | 
			
		||||
                          "end": 306,
 | 
			
		||||
                          "raw": "0",
 | 
			
		||||
                          "start": 278,
 | 
			
		||||
                          "start": 305,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -441,28 +468,28 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                          }
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 291,
 | 
			
		||||
                          "end": 318,
 | 
			
		||||
                          "name": "wallMountL",
 | 
			
		||||
                          "start": 281,
 | 
			
		||||
                          "start": 308,
 | 
			
		||||
                          "type": "Identifier",
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 292,
 | 
			
		||||
                      "start": 277,
 | 
			
		||||
                      "end": 319,
 | 
			
		||||
                      "start": 304,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 270,
 | 
			
		||||
                  "end": 297,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 266,
 | 
			
		||||
                  "start": 293,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 293,
 | 
			
		||||
                "start": 266,
 | 
			
		||||
                "end": 320,
 | 
			
		||||
                "start": 293,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -470,40 +497,40 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 346,
 | 
			
		||||
                    "end": 373,
 | 
			
		||||
                    "properties": [
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 331,
 | 
			
		||||
                        "end": 358,
 | 
			
		||||
                        "key": {
 | 
			
		||||
                          "end": 321,
 | 
			
		||||
                          "end": 348,
 | 
			
		||||
                          "name": "radius",
 | 
			
		||||
                          "start": 315,
 | 
			
		||||
                          "start": 342,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "start": 315,
 | 
			
		||||
                        "start": 342,
 | 
			
		||||
                        "type": "ObjectProperty",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "end": 331,
 | 
			
		||||
                          "end": 358,
 | 
			
		||||
                          "name": "filletR",
 | 
			
		||||
                          "start": 324,
 | 
			
		||||
                          "start": 351,
 | 
			
		||||
                          "type": "Identifier",
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        }
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 344,
 | 
			
		||||
                        "end": 371,
 | 
			
		||||
                        "key": {
 | 
			
		||||
                          "end": 339,
 | 
			
		||||
                          "end": 366,
 | 
			
		||||
                          "name": "offset",
 | 
			
		||||
                          "start": 333,
 | 
			
		||||
                          "start": 360,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "start": 333,
 | 
			
		||||
                        "start": 360,
 | 
			
		||||
                        "type": "ObjectProperty",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "end": 344,
 | 
			
		||||
                          "end": 371,
 | 
			
		||||
                          "raw": "90",
 | 
			
		||||
                          "start": 342,
 | 
			
		||||
                          "start": 369,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -513,25 +540,25 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "start": 313,
 | 
			
		||||
                    "start": 340,
 | 
			
		||||
                    "type": "ObjectExpression",
 | 
			
		||||
                    "type": "ObjectExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 349,
 | 
			
		||||
                    "start": 348,
 | 
			
		||||
                    "end": 376,
 | 
			
		||||
                    "start": 375,
 | 
			
		||||
                    "type": "PipeSubstitution",
 | 
			
		||||
                    "type": "PipeSubstitution"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 312,
 | 
			
		||||
                  "end": 339,
 | 
			
		||||
                  "name": "tangentialArc",
 | 
			
		||||
                  "start": 299,
 | 
			
		||||
                  "start": 326,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 350,
 | 
			
		||||
                "start": 299,
 | 
			
		||||
                "end": 377,
 | 
			
		||||
                "start": 326,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
@ -547,22 +574,22 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "argument": {
 | 
			
		||||
                            "end": 380,
 | 
			
		||||
                            "end": 407,
 | 
			
		||||
                            "name": "shelfMountL",
 | 
			
		||||
                            "start": 369,
 | 
			
		||||
                            "start": 396,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          "end": 380,
 | 
			
		||||
                          "end": 407,
 | 
			
		||||
                          "operator": "-",
 | 
			
		||||
                          "start": 368,
 | 
			
		||||
                          "start": 395,
 | 
			
		||||
                          "type": "UnaryExpression",
 | 
			
		||||
                          "type": "UnaryExpression"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 383,
 | 
			
		||||
                          "end": 410,
 | 
			
		||||
                          "raw": "0",
 | 
			
		||||
                          "start": 382,
 | 
			
		||||
                          "start": 409,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -571,21 +598,21 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                          }
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 384,
 | 
			
		||||
                      "start": 367,
 | 
			
		||||
                      "end": 411,
 | 
			
		||||
                      "start": 394,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 360,
 | 
			
		||||
                  "end": 387,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 356,
 | 
			
		||||
                  "start": 383,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 385,
 | 
			
		||||
                "start": 356,
 | 
			
		||||
                "end": 412,
 | 
			
		||||
                "start": 383,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -601,9 +628,9 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 404,
 | 
			
		||||
                          "end": 431,
 | 
			
		||||
                          "raw": "0",
 | 
			
		||||
                          "start": 403,
 | 
			
		||||
                          "start": 430,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -613,34 +640,34 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "argument": {
 | 
			
		||||
                            "end": 416,
 | 
			
		||||
                            "end": 443,
 | 
			
		||||
                            "name": "thickness",
 | 
			
		||||
                            "start": 407,
 | 
			
		||||
                            "start": 434,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          "end": 416,
 | 
			
		||||
                          "end": 443,
 | 
			
		||||
                          "operator": "-",
 | 
			
		||||
                          "start": 406,
 | 
			
		||||
                          "start": 433,
 | 
			
		||||
                          "type": "UnaryExpression",
 | 
			
		||||
                          "type": "UnaryExpression"
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 417,
 | 
			
		||||
                      "start": 402,
 | 
			
		||||
                      "end": 444,
 | 
			
		||||
                      "start": 429,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 395,
 | 
			
		||||
                  "end": 422,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 391,
 | 
			
		||||
                  "start": 418,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 418,
 | 
			
		||||
                "start": 391,
 | 
			
		||||
                "end": 445,
 | 
			
		||||
                "start": 418,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -656,16 +683,16 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 447,
 | 
			
		||||
                          "end": 474,
 | 
			
		||||
                          "name": "shelfMountL",
 | 
			
		||||
                          "start": 436,
 | 
			
		||||
                          "start": 463,
 | 
			
		||||
                          "type": "Identifier",
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 450,
 | 
			
		||||
                          "end": 477,
 | 
			
		||||
                          "raw": "0",
 | 
			
		||||
                          "start": 449,
 | 
			
		||||
                          "start": 476,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -674,21 +701,21 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                          }
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 451,
 | 
			
		||||
                      "start": 435,
 | 
			
		||||
                      "end": 478,
 | 
			
		||||
                      "start": 462,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 428,
 | 
			
		||||
                  "end": 455,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 424,
 | 
			
		||||
                  "start": 451,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 452,
 | 
			
		||||
                "start": 424,
 | 
			
		||||
                "end": 479,
 | 
			
		||||
                "start": 451,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -696,55 +723,55 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 537,
 | 
			
		||||
                    "end": 564,
 | 
			
		||||
                    "properties": [
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 509,
 | 
			
		||||
                        "end": 536,
 | 
			
		||||
                        "key": {
 | 
			
		||||
                          "end": 487,
 | 
			
		||||
                          "end": 514,
 | 
			
		||||
                          "name": "radius",
 | 
			
		||||
                          "start": 481,
 | 
			
		||||
                          "start": 508,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "start": 481,
 | 
			
		||||
                        "start": 508,
 | 
			
		||||
                        "type": "ObjectProperty",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "end": 509,
 | 
			
		||||
                          "end": 536,
 | 
			
		||||
                          "left": {
 | 
			
		||||
                            "end": 497,
 | 
			
		||||
                            "end": 524,
 | 
			
		||||
                            "name": "filletR",
 | 
			
		||||
                            "start": 490,
 | 
			
		||||
                            "start": 517,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          "operator": "-",
 | 
			
		||||
                          "right": {
 | 
			
		||||
                            "end": 509,
 | 
			
		||||
                            "end": 536,
 | 
			
		||||
                            "name": "thickness",
 | 
			
		||||
                            "start": 500,
 | 
			
		||||
                            "start": 527,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          "start": 490,
 | 
			
		||||
                          "start": 517,
 | 
			
		||||
                          "type": "BinaryExpression",
 | 
			
		||||
                          "type": "BinaryExpression"
 | 
			
		||||
                        }
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 530,
 | 
			
		||||
                        "end": 557,
 | 
			
		||||
                        "key": {
 | 
			
		||||
                          "end": 524,
 | 
			
		||||
                          "end": 551,
 | 
			
		||||
                          "name": "offset",
 | 
			
		||||
                          "start": 518,
 | 
			
		||||
                          "start": 545,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "start": 518,
 | 
			
		||||
                        "start": 545,
 | 
			
		||||
                        "type": "ObjectProperty",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "argument": {
 | 
			
		||||
                            "end": 530,
 | 
			
		||||
                            "end": 557,
 | 
			
		||||
                            "raw": "90",
 | 
			
		||||
                            "start": 528,
 | 
			
		||||
                            "start": 555,
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "value": {
 | 
			
		||||
@ -752,33 +779,33 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                              "suffix": "None"
 | 
			
		||||
                            }
 | 
			
		||||
                          },
 | 
			
		||||
                          "end": 530,
 | 
			
		||||
                          "end": 557,
 | 
			
		||||
                          "operator": "-",
 | 
			
		||||
                          "start": 527,
 | 
			
		||||
                          "start": 554,
 | 
			
		||||
                          "type": "UnaryExpression",
 | 
			
		||||
                          "type": "UnaryExpression"
 | 
			
		||||
                        }
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "start": 472,
 | 
			
		||||
                    "start": 499,
 | 
			
		||||
                    "type": "ObjectExpression",
 | 
			
		||||
                    "type": "ObjectExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 540,
 | 
			
		||||
                    "start": 539,
 | 
			
		||||
                    "end": 567,
 | 
			
		||||
                    "start": 566,
 | 
			
		||||
                    "type": "PipeSubstitution",
 | 
			
		||||
                    "type": "PipeSubstitution"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 471,
 | 
			
		||||
                  "end": 498,
 | 
			
		||||
                  "name": "tangentialArc",
 | 
			
		||||
                  "start": 458,
 | 
			
		||||
                  "start": 485,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 541,
 | 
			
		||||
                "start": 458,
 | 
			
		||||
                "end": 568,
 | 
			
		||||
                "start": 485,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
@ -793,9 +820,9 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 560,
 | 
			
		||||
                          "end": 587,
 | 
			
		||||
                          "raw": "0",
 | 
			
		||||
                          "start": 559,
 | 
			
		||||
                          "start": 586,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -805,34 +832,34 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "argument": {
 | 
			
		||||
                            "end": 573,
 | 
			
		||||
                            "end": 600,
 | 
			
		||||
                            "name": "wallMountL",
 | 
			
		||||
                            "start": 563,
 | 
			
		||||
                            "start": 590,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          "end": 573,
 | 
			
		||||
                          "end": 600,
 | 
			
		||||
                          "operator": "-",
 | 
			
		||||
                          "start": 562,
 | 
			
		||||
                          "start": 589,
 | 
			
		||||
                          "type": "UnaryExpression",
 | 
			
		||||
                          "type": "UnaryExpression"
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 574,
 | 
			
		||||
                      "start": 558,
 | 
			
		||||
                      "end": 601,
 | 
			
		||||
                      "start": 585,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 551,
 | 
			
		||||
                  "end": 578,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 547,
 | 
			
		||||
                  "start": 574,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 575,
 | 
			
		||||
                "start": 547,
 | 
			
		||||
                "end": 602,
 | 
			
		||||
                "start": 574,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -840,20 +867,20 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 588,
 | 
			
		||||
                    "start": 587,
 | 
			
		||||
                    "end": 615,
 | 
			
		||||
                    "start": 614,
 | 
			
		||||
                    "type": "PipeSubstitution",
 | 
			
		||||
                    "type": "PipeSubstitution"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 586,
 | 
			
		||||
                  "end": 613,
 | 
			
		||||
                  "name": "close",
 | 
			
		||||
                  "start": 581,
 | 
			
		||||
                  "start": 608,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 589,
 | 
			
		||||
                "start": 581,
 | 
			
		||||
                "end": 616,
 | 
			
		||||
                "start": 608,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
@ -866,28 +893,28 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
                      "name": "length"
 | 
			
		||||
                    },
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "end": 617,
 | 
			
		||||
                      "end": 644,
 | 
			
		||||
                      "name": "width",
 | 
			
		||||
                      "start": 612,
 | 
			
		||||
                      "start": 639,
 | 
			
		||||
                      "type": "Identifier",
 | 
			
		||||
                      "type": "Identifier"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 602,
 | 
			
		||||
                  "end": 629,
 | 
			
		||||
                  "name": "extrude",
 | 
			
		||||
                  "start": 595,
 | 
			
		||||
                  "start": 622,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 618,
 | 
			
		||||
                "start": 595,
 | 
			
		||||
                "end": 645,
 | 
			
		||||
                "start": 622,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
              }
 | 
			
		||||
            ],
 | 
			
		||||
            "end": 618,
 | 
			
		||||
            "end": 645,
 | 
			
		||||
            "start": 239,
 | 
			
		||||
            "type": "PipeExpression",
 | 
			
		||||
            "type": "PipeExpression"
 | 
			
		||||
@ -895,14 +922,14 @@ description: Result of parsing parametric_with_tan_arc.kcl
 | 
			
		||||
          "start": 229,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 618,
 | 
			
		||||
        "end": 645,
 | 
			
		||||
        "kind": "const",
 | 
			
		||||
        "start": 229,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 619,
 | 
			
		||||
    "end": 646,
 | 
			
		||||
    "nonCodeMeta": {
 | 
			
		||||
      "nonCodeNodes": {
 | 
			
		||||
        "0": [
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,8 @@ filletR = thickness * 2
 | 
			
		||||
shelfMountL = 9
 | 
			
		||||
wallMountL = 8
 | 
			
		||||
 | 
			
		||||
bracket = startSketchAt([0, 0])
 | 
			
		||||
bracket = startSketchOn(XY)
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> line(end = [0, wallMountL])
 | 
			
		||||
  |> tangentialArc({ radius = filletR, offset = 90 }, %)
 | 
			
		||||
  |> line(end = [-shelfMountL, 0])
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,31 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed parametric_with_tan_arc.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          253,
 | 
			
		||||
          255,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      239,
 | 
			
		||||
      256,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
@ -20,16 +43,16 @@ description: Operations executed parametric_with_tan_arc.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          612,
 | 
			
		||||
          617,
 | 
			
		||||
          639,
 | 
			
		||||
          644,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      595,
 | 
			
		||||
      618,
 | 
			
		||||
      622,
 | 
			
		||||
      645,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -36,8 +36,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            266,
 | 
			
		||||
            293,
 | 
			
		||||
            320,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -47,8 +47,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            299,
 | 
			
		||||
            350,
 | 
			
		||||
            326,
 | 
			
		||||
            377,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -58,8 +58,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            356,
 | 
			
		||||
            385,
 | 
			
		||||
            383,
 | 
			
		||||
            412,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -69,8 +69,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            391,
 | 
			
		||||
            418,
 | 
			
		||||
            445,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -80,8 +80,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            424,
 | 
			
		||||
            452,
 | 
			
		||||
            451,
 | 
			
		||||
            479,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -91,8 +91,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            458,
 | 
			
		||||
            541,
 | 
			
		||||
            485,
 | 
			
		||||
            568,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -102,8 +102,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            547,
 | 
			
		||||
            575,
 | 
			
		||||
            574,
 | 
			
		||||
            602,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -113,8 +113,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            581,
 | 
			
		||||
            589,
 | 
			
		||||
            608,
 | 
			
		||||
            616,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -129,8 +129,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                266,
 | 
			
		||||
                293,
 | 
			
		||||
                320,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -152,8 +152,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                299,
 | 
			
		||||
                350,
 | 
			
		||||
                326,
 | 
			
		||||
                377,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -180,8 +180,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                356,
 | 
			
		||||
                385,
 | 
			
		||||
                383,
 | 
			
		||||
                412,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -203,8 +203,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                391,
 | 
			
		||||
                418,
 | 
			
		||||
                445,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -226,8 +226,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                424,
 | 
			
		||||
                452,
 | 
			
		||||
                451,
 | 
			
		||||
                479,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -249,8 +249,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                458,
 | 
			
		||||
                541,
 | 
			
		||||
                485,
 | 
			
		||||
                568,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -277,8 +277,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                547,
 | 
			
		||||
                575,
 | 
			
		||||
                574,
 | 
			
		||||
                602,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -300,8 +300,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                581,
 | 
			
		||||
                589,
 | 
			
		||||
                608,
 | 
			
		||||
                616,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -366,8 +366,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              239,
 | 
			
		||||
              260,
 | 
			
		||||
              262,
 | 
			
		||||
              287,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -380,8 +380,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
        "__meta": [
 | 
			
		||||
          {
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              239,
 | 
			
		||||
              260,
 | 
			
		||||
              262,
 | 
			
		||||
              287,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -396,8 +396,8 @@ description: Variables in memory after executing parametric_with_tan_arc.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            239,
 | 
			
		||||
            260,
 | 
			
		||||
            262,
 | 
			
		||||
            287,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands pipe_as_arg.kcl
 | 
			
		||||
snapshot_kind: text
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
@ -314,8 +313,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      202,
 | 
			
		||||
      223,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -334,8 +333,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      202,
 | 
			
		||||
      223,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -345,8 +344,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      202,
 | 
			
		||||
      223,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -362,8 +361,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      202,
 | 
			
		||||
      224,
 | 
			
		||||
      231,
 | 
			
		||||
      253,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -383,8 +382,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      232,
 | 
			
		||||
      254,
 | 
			
		||||
      261,
 | 
			
		||||
      283,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -404,8 +403,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      262,
 | 
			
		||||
      284,
 | 
			
		||||
      291,
 | 
			
		||||
      313,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -425,8 +424,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      292,
 | 
			
		||||
      314,
 | 
			
		||||
      321,
 | 
			
		||||
      343,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -446,8 +445,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      322,
 | 
			
		||||
      330,
 | 
			
		||||
      351,
 | 
			
		||||
      359,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -458,8 +457,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      322,
 | 
			
		||||
      330,
 | 
			
		||||
      351,
 | 
			
		||||
      359,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -469,8 +468,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -489,8 +488,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -503,8 +502,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -514,8 +513,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -526,8 +525,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -539,8 +538,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -553,8 +552,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -567,8 +566,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -581,8 +580,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -595,8 +594,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -609,8 +608,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -623,8 +622,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -637,8 +636,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart pipe_as_arg.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,16 +1,16 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[177, 194, 0]"]
 | 
			
		||||
    3["Segment<br>[202, 224, 0]"]
 | 
			
		||||
    4["Segment<br>[232, 254, 0]"]
 | 
			
		||||
    5["Segment<br>[262, 284, 0]"]
 | 
			
		||||
    6["Segment<br>[292, 314, 0]"]
 | 
			
		||||
    7["Segment<br>[322, 330, 0]"]
 | 
			
		||||
    2["Path<br>[202, 223, 0]"]
 | 
			
		||||
    3["Segment<br>[231, 253, 0]"]
 | 
			
		||||
    4["Segment<br>[261, 283, 0]"]
 | 
			
		||||
    5["Segment<br>[291, 313, 0]"]
 | 
			
		||||
    6["Segment<br>[321, 343, 0]"]
 | 
			
		||||
    7["Segment<br>[351, 359, 0]"]
 | 
			
		||||
    8[Solid2d]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[177, 194, 0]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[338, 362, 0]"]
 | 
			
		||||
  9["Sweep Extrusion<br>[367, 391, 0]"]
 | 
			
		||||
  10[Wall]
 | 
			
		||||
  11[Wall]
 | 
			
		||||
  12[Wall]
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -7,7 +7,7 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
    "body": [
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 364,
 | 
			
		||||
          "end": 393,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 7,
 | 
			
		||||
            "name": "cube",
 | 
			
		||||
@ -453,7 +453,7 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 193,
 | 
			
		||||
                            "name": "p0",
 | 
			
		||||
                            "name": "XY",
 | 
			
		||||
                            "start": 191,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
@ -461,7 +461,7 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 190,
 | 
			
		||||
                          "name": "startSketchAt",
 | 
			
		||||
                          "name": "startSketchOn",
 | 
			
		||||
                          "start": 177,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
@ -470,6 +470,33 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 219,
 | 
			
		||||
                            "name": "p0",
 | 
			
		||||
                            "start": 217,
 | 
			
		||||
                            "type": "Identifier",
 | 
			
		||||
                            "type": "Identifier"
 | 
			
		||||
                          },
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 222,
 | 
			
		||||
                            "start": 221,
 | 
			
		||||
                            "type": "PipeSubstitution",
 | 
			
		||||
                            "type": "PipeSubstitution"
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 216,
 | 
			
		||||
                          "name": "startProfileAt",
 | 
			
		||||
                          "start": 202,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 223,
 | 
			
		||||
                        "start": 202,
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
@ -479,22 +506,22 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 223,
 | 
			
		||||
                              "end": 252,
 | 
			
		||||
                              "name": "p1",
 | 
			
		||||
                              "start": 221,
 | 
			
		||||
                              "start": 250,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 206,
 | 
			
		||||
                          "end": 235,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 202,
 | 
			
		||||
                          "start": 231,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 224,
 | 
			
		||||
                        "start": 202,
 | 
			
		||||
                        "end": 253,
 | 
			
		||||
                        "start": 231,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -508,22 +535,22 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 253,
 | 
			
		||||
                              "end": 282,
 | 
			
		||||
                              "name": "p2",
 | 
			
		||||
                              "start": 251,
 | 
			
		||||
                              "start": 280,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 236,
 | 
			
		||||
                          "end": 265,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 232,
 | 
			
		||||
                          "start": 261,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 254,
 | 
			
		||||
                        "start": 232,
 | 
			
		||||
                        "end": 283,
 | 
			
		||||
                        "start": 261,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -537,22 +564,22 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 283,
 | 
			
		||||
                              "end": 312,
 | 
			
		||||
                              "name": "p3",
 | 
			
		||||
                              "start": 281,
 | 
			
		||||
                              "start": 310,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 266,
 | 
			
		||||
                          "end": 295,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 262,
 | 
			
		||||
                          "start": 291,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 284,
 | 
			
		||||
                        "start": 262,
 | 
			
		||||
                        "end": 313,
 | 
			
		||||
                        "start": 291,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -566,22 +593,22 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                              "name": "endAbsolute"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 313,
 | 
			
		||||
                              "end": 342,
 | 
			
		||||
                              "name": "p0",
 | 
			
		||||
                              "start": 311,
 | 
			
		||||
                              "start": 340,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 296,
 | 
			
		||||
                          "end": 325,
 | 
			
		||||
                          "name": "line",
 | 
			
		||||
                          "start": 292,
 | 
			
		||||
                          "start": 321,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 314,
 | 
			
		||||
                        "start": 292,
 | 
			
		||||
                        "end": 343,
 | 
			
		||||
                        "start": 321,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
@ -589,20 +616,20 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                      {
 | 
			
		||||
                        "arguments": [
 | 
			
		||||
                          {
 | 
			
		||||
                            "end": 329,
 | 
			
		||||
                            "start": 328,
 | 
			
		||||
                            "end": 358,
 | 
			
		||||
                            "start": 357,
 | 
			
		||||
                            "type": "PipeSubstitution",
 | 
			
		||||
                            "type": "PipeSubstitution"
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 327,
 | 
			
		||||
                          "end": 356,
 | 
			
		||||
                          "name": "close",
 | 
			
		||||
                          "start": 322,
 | 
			
		||||
                          "start": 351,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 330,
 | 
			
		||||
                        "start": 322,
 | 
			
		||||
                        "end": 359,
 | 
			
		||||
                        "start": 351,
 | 
			
		||||
                        "type": "CallExpression",
 | 
			
		||||
                        "type": "CallExpression"
 | 
			
		||||
                      },
 | 
			
		||||
@ -615,39 +642,39 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                              "name": "length"
 | 
			
		||||
                            },
 | 
			
		||||
                            "arg": {
 | 
			
		||||
                              "end": 361,
 | 
			
		||||
                              "end": 390,
 | 
			
		||||
                              "name": "length",
 | 
			
		||||
                              "start": 355,
 | 
			
		||||
                              "start": 384,
 | 
			
		||||
                              "type": "Identifier",
 | 
			
		||||
                              "type": "Identifier"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
                        ],
 | 
			
		||||
                        "callee": {
 | 
			
		||||
                          "end": 345,
 | 
			
		||||
                          "end": 374,
 | 
			
		||||
                          "name": "extrude",
 | 
			
		||||
                          "start": 338,
 | 
			
		||||
                          "start": 367,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "end": 362,
 | 
			
		||||
                        "start": 338,
 | 
			
		||||
                        "end": 391,
 | 
			
		||||
                        "start": 367,
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "type": "CallExpressionKw",
 | 
			
		||||
                        "unlabeled": null
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "end": 362,
 | 
			
		||||
                    "end": 391,
 | 
			
		||||
                    "start": 177,
 | 
			
		||||
                    "type": "PipeExpression",
 | 
			
		||||
                    "type": "PipeExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  "end": 362,
 | 
			
		||||
                  "end": 391,
 | 
			
		||||
                  "start": 170,
 | 
			
		||||
                  "type": "ReturnStatement",
 | 
			
		||||
                  "type": "ReturnStatement"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "end": 364,
 | 
			
		||||
              "end": 393,
 | 
			
		||||
              "nonCodeMeta": {
 | 
			
		||||
                "nonCodeNodes": {
 | 
			
		||||
                  "6": [
 | 
			
		||||
@ -665,7 +692,7 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
              },
 | 
			
		||||
              "start": 24
 | 
			
		||||
            },
 | 
			
		||||
            "end": 364,
 | 
			
		||||
            "end": 393,
 | 
			
		||||
            "params": [
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Parameter",
 | 
			
		||||
@ -693,7 +720,7 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
          "start": 3,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 364,
 | 
			
		||||
        "end": 393,
 | 
			
		||||
        "kind": "fn",
 | 
			
		||||
        "start": 0,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
@ -701,11 +728,11 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 397,
 | 
			
		||||
          "end": 426,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 375,
 | 
			
		||||
            "end": 404,
 | 
			
		||||
            "name": "double",
 | 
			
		||||
            "start": 369,
 | 
			
		||||
            "start": 398,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
@ -713,19 +740,19 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
              "body": [
 | 
			
		||||
                {
 | 
			
		||||
                  "argument": {
 | 
			
		||||
                    "end": 395,
 | 
			
		||||
                    "end": 424,
 | 
			
		||||
                    "left": {
 | 
			
		||||
                      "end": 391,
 | 
			
		||||
                      "end": 420,
 | 
			
		||||
                      "name": "x",
 | 
			
		||||
                      "start": 390,
 | 
			
		||||
                      "start": 419,
 | 
			
		||||
                      "type": "Identifier",
 | 
			
		||||
                      "type": "Identifier"
 | 
			
		||||
                    },
 | 
			
		||||
                    "operator": "*",
 | 
			
		||||
                    "right": {
 | 
			
		||||
                      "end": 395,
 | 
			
		||||
                      "end": 424,
 | 
			
		||||
                      "raw": "2",
 | 
			
		||||
                      "start": 394,
 | 
			
		||||
                      "start": 423,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": {
 | 
			
		||||
@ -733,51 +760,51 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                        "suffix": "None"
 | 
			
		||||
                      }
 | 
			
		||||
                    },
 | 
			
		||||
                    "start": 390,
 | 
			
		||||
                    "start": 419,
 | 
			
		||||
                    "type": "BinaryExpression",
 | 
			
		||||
                    "type": "BinaryExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  "end": 395,
 | 
			
		||||
                  "start": 383,
 | 
			
		||||
                  "end": 424,
 | 
			
		||||
                  "start": 412,
 | 
			
		||||
                  "type": "ReturnStatement",
 | 
			
		||||
                  "type": "ReturnStatement"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "end": 397,
 | 
			
		||||
              "start": 379
 | 
			
		||||
              "end": 426,
 | 
			
		||||
              "start": 408
 | 
			
		||||
            },
 | 
			
		||||
            "end": 397,
 | 
			
		||||
            "end": 426,
 | 
			
		||||
            "params": [
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Parameter",
 | 
			
		||||
                "identifier": {
 | 
			
		||||
                  "end": 377,
 | 
			
		||||
                  "end": 406,
 | 
			
		||||
                  "name": "x",
 | 
			
		||||
                  "start": 376,
 | 
			
		||||
                  "start": 405,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            ],
 | 
			
		||||
            "start": 375,
 | 
			
		||||
            "start": 404,
 | 
			
		||||
            "type": "FunctionExpression",
 | 
			
		||||
            "type": "FunctionExpression"
 | 
			
		||||
          },
 | 
			
		||||
          "start": 369,
 | 
			
		||||
          "start": 398,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 397,
 | 
			
		||||
        "end": 426,
 | 
			
		||||
        "kind": "fn",
 | 
			
		||||
        "start": 366,
 | 
			
		||||
        "start": 395,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 425,
 | 
			
		||||
          "end": 454,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 406,
 | 
			
		||||
            "end": 435,
 | 
			
		||||
            "name": "width",
 | 
			
		||||
            "start": 401,
 | 
			
		||||
            "start": 430,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
@ -785,9 +812,9 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
              "body": [
 | 
			
		||||
                {
 | 
			
		||||
                  "argument": {
 | 
			
		||||
                    "end": 423,
 | 
			
		||||
                    "end": 452,
 | 
			
		||||
                    "raw": "200",
 | 
			
		||||
                    "start": 420,
 | 
			
		||||
                    "start": 449,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
@ -795,37 +822,37 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                      "suffix": "None"
 | 
			
		||||
                    }
 | 
			
		||||
                  },
 | 
			
		||||
                  "end": 423,
 | 
			
		||||
                  "start": 413,
 | 
			
		||||
                  "end": 452,
 | 
			
		||||
                  "start": 442,
 | 
			
		||||
                  "type": "ReturnStatement",
 | 
			
		||||
                  "type": "ReturnStatement"
 | 
			
		||||
                }
 | 
			
		||||
              ],
 | 
			
		||||
              "end": 425,
 | 
			
		||||
              "start": 409
 | 
			
		||||
              "end": 454,
 | 
			
		||||
              "start": 438
 | 
			
		||||
            },
 | 
			
		||||
            "end": 425,
 | 
			
		||||
            "end": 454,
 | 
			
		||||
            "params": [],
 | 
			
		||||
            "start": 406,
 | 
			
		||||
            "start": 435,
 | 
			
		||||
            "type": "FunctionExpression",
 | 
			
		||||
            "type": "FunctionExpression"
 | 
			
		||||
          },
 | 
			
		||||
          "start": 401,
 | 
			
		||||
          "start": 430,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 425,
 | 
			
		||||
        "end": 454,
 | 
			
		||||
        "kind": "fn",
 | 
			
		||||
        "start": 398,
 | 
			
		||||
        "start": 427,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 468,
 | 
			
		||||
          "end": 497,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 433,
 | 
			
		||||
            "end": 462,
 | 
			
		||||
            "name": "myCube",
 | 
			
		||||
            "start": 427,
 | 
			
		||||
            "start": 456,
 | 
			
		||||
            "type": "Identifier"
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
@ -833,9 +860,9 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
              {
 | 
			
		||||
                "body": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 444,
 | 
			
		||||
                    "end": 473,
 | 
			
		||||
                    "raw": "200",
 | 
			
		||||
                    "start": 441,
 | 
			
		||||
                    "start": 470,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
@ -846,35 +873,35 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                  {
 | 
			
		||||
                    "arguments": [
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 458,
 | 
			
		||||
                        "start": 457,
 | 
			
		||||
                        "end": 487,
 | 
			
		||||
                        "start": 486,
 | 
			
		||||
                        "type": "PipeSubstitution",
 | 
			
		||||
                        "type": "PipeSubstitution"
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "callee": {
 | 
			
		||||
                      "end": 456,
 | 
			
		||||
                      "end": 485,
 | 
			
		||||
                      "name": "double",
 | 
			
		||||
                      "start": 450,
 | 
			
		||||
                      "start": 479,
 | 
			
		||||
                      "type": "Identifier"
 | 
			
		||||
                    },
 | 
			
		||||
                    "end": 459,
 | 
			
		||||
                    "start": 450,
 | 
			
		||||
                    "end": 488,
 | 
			
		||||
                    "start": 479,
 | 
			
		||||
                    "type": "CallExpression",
 | 
			
		||||
                    "type": "CallExpression"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "end": 459,
 | 
			
		||||
                "start": 441,
 | 
			
		||||
                "end": 488,
 | 
			
		||||
                "start": 470,
 | 
			
		||||
                "type": "PipeExpression",
 | 
			
		||||
                "type": "PipeExpression"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "elements": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 463,
 | 
			
		||||
                    "end": 492,
 | 
			
		||||
                    "raw": "0",
 | 
			
		||||
                    "start": 462,
 | 
			
		||||
                    "start": 491,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
@ -883,9 +910,9 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                    }
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 466,
 | 
			
		||||
                    "end": 495,
 | 
			
		||||
                    "raw": "0",
 | 
			
		||||
                    "start": 465,
 | 
			
		||||
                    "start": 494,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
@ -894,40 +921,40 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "end": 467,
 | 
			
		||||
                "start": 461,
 | 
			
		||||
                "end": 496,
 | 
			
		||||
                "start": 490,
 | 
			
		||||
                "type": "ArrayExpression",
 | 
			
		||||
                "type": "ArrayExpression"
 | 
			
		||||
              }
 | 
			
		||||
            ],
 | 
			
		||||
            "callee": {
 | 
			
		||||
              "end": 440,
 | 
			
		||||
              "end": 469,
 | 
			
		||||
              "name": "cube",
 | 
			
		||||
              "start": 436,
 | 
			
		||||
              "start": 465,
 | 
			
		||||
              "type": "Identifier"
 | 
			
		||||
            },
 | 
			
		||||
            "end": 468,
 | 
			
		||||
            "start": 436,
 | 
			
		||||
            "end": 497,
 | 
			
		||||
            "start": 465,
 | 
			
		||||
            "type": "CallExpression",
 | 
			
		||||
            "type": "CallExpression"
 | 
			
		||||
          },
 | 
			
		||||
          "start": 427,
 | 
			
		||||
          "start": 456,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 468,
 | 
			
		||||
        "end": 497,
 | 
			
		||||
        "kind": "const",
 | 
			
		||||
        "start": 427,
 | 
			
		||||
        "start": 456,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 469,
 | 
			
		||||
    "end": 498,
 | 
			
		||||
    "nonCodeMeta": {
 | 
			
		||||
      "nonCodeNodes": {
 | 
			
		||||
        "0": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 366,
 | 
			
		||||
            "start": 364,
 | 
			
		||||
            "end": 395,
 | 
			
		||||
            "start": 393,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLine"
 | 
			
		||||
@ -936,8 +963,8 @@ description: Result of parsing pipe_as_arg.kcl
 | 
			
		||||
        ],
 | 
			
		||||
        "2": [
 | 
			
		||||
          {
 | 
			
		||||
            "end": 427,
 | 
			
		||||
            "start": 425,
 | 
			
		||||
            "end": 456,
 | 
			
		||||
            "start": 454,
 | 
			
		||||
            "type": "NonCodeNode",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "type": "newLine"
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,8 @@ fn cube(length, center) {
 | 
			
		||||
  p2 = [l + x, l + y]
 | 
			
		||||
  p3 = [l + x, -l + y]
 | 
			
		||||
 | 
			
		||||
  return startSketchAt(p0)
 | 
			
		||||
  return startSketchOn(XY)
 | 
			
		||||
    |> startProfileAt(p0, %)
 | 
			
		||||
    |> line(endAbsolute = p1)
 | 
			
		||||
    |> line(endAbsolute = p2)
 | 
			
		||||
    |> line(endAbsolute = p3)
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed pipe_as_arg.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
@ -7,15 +7,15 @@ description: Operations executed pipe_as_arg.kcl
 | 
			
		||||
    "type": "UserDefinedFunctionCall",
 | 
			
		||||
    "name": "double",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      375,
 | 
			
		||||
      397,
 | 
			
		||||
      404,
 | 
			
		||||
      426,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      450,
 | 
			
		||||
      459,
 | 
			
		||||
      479,
 | 
			
		||||
      488,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
@ -27,17 +27,40 @@ description: Operations executed pipe_as_arg.kcl
 | 
			
		||||
    "name": "cube",
 | 
			
		||||
    "functionSourceRange": [
 | 
			
		||||
      7,
 | 
			
		||||
      364,
 | 
			
		||||
      393,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "unlabeledArg": null,
 | 
			
		||||
    "labeledArgs": {},
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      436,
 | 
			
		||||
      468,
 | 
			
		||||
      465,
 | 
			
		||||
      497,
 | 
			
		||||
      0
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          191,
 | 
			
		||||
          193,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      177,
 | 
			
		||||
      194,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
@ -49,16 +72,16 @@ description: Operations executed pipe_as_arg.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          355,
 | 
			
		||||
          361,
 | 
			
		||||
          384,
 | 
			
		||||
          390,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      338,
 | 
			
		||||
      362,
 | 
			
		||||
      367,
 | 
			
		||||
      391,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -9,7 +9,7 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          7,
 | 
			
		||||
          364,
 | 
			
		||||
          393,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -20,8 +20,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          375,
 | 
			
		||||
          397,
 | 
			
		||||
          404,
 | 
			
		||||
          426,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -38,8 +38,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            202,
 | 
			
		||||
            224,
 | 
			
		||||
            231,
 | 
			
		||||
            253,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -49,8 +49,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            232,
 | 
			
		||||
            254,
 | 
			
		||||
            261,
 | 
			
		||||
            283,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -60,8 +60,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            262,
 | 
			
		||||
            284,
 | 
			
		||||
            291,
 | 
			
		||||
            313,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -71,8 +71,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            292,
 | 
			
		||||
            314,
 | 
			
		||||
            321,
 | 
			
		||||
            343,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -87,8 +87,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                202,
 | 
			
		||||
                224,
 | 
			
		||||
                231,
 | 
			
		||||
                253,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -110,8 +110,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                232,
 | 
			
		||||
                254,
 | 
			
		||||
                261,
 | 
			
		||||
                283,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -133,8 +133,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                262,
 | 
			
		||||
                284,
 | 
			
		||||
                291,
 | 
			
		||||
                313,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -156,8 +156,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                292,
 | 
			
		||||
                314,
 | 
			
		||||
                321,
 | 
			
		||||
                343,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -179,8 +179,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                322,
 | 
			
		||||
                330,
 | 
			
		||||
                351,
 | 
			
		||||
                359,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -245,8 +245,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              177,
 | 
			
		||||
              194,
 | 
			
		||||
              202,
 | 
			
		||||
              223,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -259,8 +259,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
        "__meta": [
 | 
			
		||||
          {
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              177,
 | 
			
		||||
              194,
 | 
			
		||||
              202,
 | 
			
		||||
              223,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -275,8 +275,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            177,
 | 
			
		||||
            194,
 | 
			
		||||
            202,
 | 
			
		||||
            223,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
@ -288,8 +288,8 @@ description: Variables in memory after executing pipe_as_arg.kcl
 | 
			
		||||
    "__meta": [
 | 
			
		||||
      {
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          406,
 | 
			
		||||
          425,
 | 
			
		||||
          435,
 | 
			
		||||
          454,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact commands tangential_arc.kcl
 | 
			
		||||
snapshot_kind: text
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
@ -286,7 +285,7 @@ snapshot_kind: text
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      12,
 | 
			
		||||
      33,
 | 
			
		||||
      29,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -314,8 +313,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      12,
 | 
			
		||||
      33,
 | 
			
		||||
      35,
 | 
			
		||||
      60,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -334,8 +333,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      12,
 | 
			
		||||
      33,
 | 
			
		||||
      35,
 | 
			
		||||
      60,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -345,8 +344,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      12,
 | 
			
		||||
      33,
 | 
			
		||||
      35,
 | 
			
		||||
      60,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -362,8 +361,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      39,
 | 
			
		||||
      58,
 | 
			
		||||
      66,
 | 
			
		||||
      85,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -383,8 +382,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      64,
 | 
			
		||||
      109,
 | 
			
		||||
      91,
 | 
			
		||||
      136,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -403,8 +402,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      115,
 | 
			
		||||
      135,
 | 
			
		||||
      142,
 | 
			
		||||
      162,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -424,8 +423,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -444,8 +443,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -458,8 +457,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -469,8 +468,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -481,8 +480,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -494,8 +493,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -508,8 +507,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -522,8 +521,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -536,8 +535,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -550,8 +549,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
@ -564,8 +563,8 @@ snapshot_kind: text
 | 
			
		||||
  {
 | 
			
		||||
    "cmdId": "[uuid]",
 | 
			
		||||
    "range": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "command": {
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Artifact graph flowchart tangential_arc.kcl
 | 
			
		||||
extension: md
 | 
			
		||||
snapshot_kind: binary
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,13 @@
 | 
			
		||||
```mermaid
 | 
			
		||||
flowchart LR
 | 
			
		||||
  subgraph path2 [Path]
 | 
			
		||||
    2["Path<br>[12, 33, 0]"]
 | 
			
		||||
    3["Segment<br>[39, 58, 0]"]
 | 
			
		||||
    4["Segment<br>[64, 109, 0]"]
 | 
			
		||||
    5["Segment<br>[115, 135, 0]"]
 | 
			
		||||
    2["Path<br>[35, 60, 0]"]
 | 
			
		||||
    3["Segment<br>[66, 85, 0]"]
 | 
			
		||||
    4["Segment<br>[91, 136, 0]"]
 | 
			
		||||
    5["Segment<br>[142, 162, 0]"]
 | 
			
		||||
  end
 | 
			
		||||
  1["Plane<br>[12, 33, 0]"]
 | 
			
		||||
  6["Sweep Extrusion<br>[141, 161, 0]"]
 | 
			
		||||
  1["Plane<br>[12, 29, 0]"]
 | 
			
		||||
  6["Sweep Extrusion<br>[168, 188, 0]"]
 | 
			
		||||
  7[Wall]
 | 
			
		||||
  8[Wall]
 | 
			
		||||
  9[Wall]
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Result of parsing tangential_arc.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -7,7 +7,7 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
    "body": [
 | 
			
		||||
      {
 | 
			
		||||
        "declaration": {
 | 
			
		||||
          "end": 161,
 | 
			
		||||
          "end": 188,
 | 
			
		||||
          "id": {
 | 
			
		||||
            "end": 9,
 | 
			
		||||
            "name": "boxSketch",
 | 
			
		||||
@ -16,14 +16,35 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
          },
 | 
			
		||||
          "init": {
 | 
			
		||||
            "body": [
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 28,
 | 
			
		||||
                    "name": "XY",
 | 
			
		||||
                    "start": 26,
 | 
			
		||||
                    "type": "Identifier",
 | 
			
		||||
                    "type": "Identifier"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 25,
 | 
			
		||||
                  "name": "startSketchOn",
 | 
			
		||||
                  "start": 12,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 29,
 | 
			
		||||
                "start": 12,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "elements": [
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 28,
 | 
			
		||||
                        "end": 52,
 | 
			
		||||
                        "raw": "0",
 | 
			
		||||
                        "start": 27,
 | 
			
		||||
                        "start": 51,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": {
 | 
			
		||||
@ -32,9 +53,9 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 31,
 | 
			
		||||
                        "end": 55,
 | 
			
		||||
                        "raw": "0",
 | 
			
		||||
                        "start": 30,
 | 
			
		||||
                        "start": 54,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": {
 | 
			
		||||
@ -43,20 +64,26 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "end": 32,
 | 
			
		||||
                    "start": 26,
 | 
			
		||||
                    "end": 56,
 | 
			
		||||
                    "start": 50,
 | 
			
		||||
                    "type": "ArrayExpression",
 | 
			
		||||
                    "type": "ArrayExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 59,
 | 
			
		||||
                    "start": 58,
 | 
			
		||||
                    "type": "PipeSubstitution",
 | 
			
		||||
                    "type": "PipeSubstitution"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 25,
 | 
			
		||||
                  "name": "startSketchAt",
 | 
			
		||||
                  "start": 12,
 | 
			
		||||
                  "end": 49,
 | 
			
		||||
                  "name": "startProfileAt",
 | 
			
		||||
                  "start": 35,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 33,
 | 
			
		||||
                "start": 12,
 | 
			
		||||
                "end": 60,
 | 
			
		||||
                "start": 35,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
@ -71,9 +98,9 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 52,
 | 
			
		||||
                          "end": 79,
 | 
			
		||||
                          "raw": "0",
 | 
			
		||||
                          "start": 51,
 | 
			
		||||
                          "start": 78,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -82,9 +109,9 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                          }
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 56,
 | 
			
		||||
                          "end": 83,
 | 
			
		||||
                          "raw": "10",
 | 
			
		||||
                          "start": 54,
 | 
			
		||||
                          "start": 81,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -93,21 +120,21 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                          }
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 57,
 | 
			
		||||
                      "start": 50,
 | 
			
		||||
                      "end": 84,
 | 
			
		||||
                      "start": 77,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 43,
 | 
			
		||||
                  "end": 70,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 39,
 | 
			
		||||
                  "start": 66,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 58,
 | 
			
		||||
                "start": 39,
 | 
			
		||||
                "end": 85,
 | 
			
		||||
                "start": 66,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -115,22 +142,22 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
              {
 | 
			
		||||
                "arguments": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 105,
 | 
			
		||||
                    "end": 132,
 | 
			
		||||
                    "properties": [
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 90,
 | 
			
		||||
                        "end": 117,
 | 
			
		||||
                        "key": {
 | 
			
		||||
                          "end": 86,
 | 
			
		||||
                          "end": 113,
 | 
			
		||||
                          "name": "radius",
 | 
			
		||||
                          "start": 80,
 | 
			
		||||
                          "start": 107,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "start": 80,
 | 
			
		||||
                        "start": 107,
 | 
			
		||||
                        "type": "ObjectProperty",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "end": 90,
 | 
			
		||||
                          "end": 117,
 | 
			
		||||
                          "raw": "5",
 | 
			
		||||
                          "start": 89,
 | 
			
		||||
                          "start": 116,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -140,19 +167,19 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        "end": 103,
 | 
			
		||||
                        "end": 130,
 | 
			
		||||
                        "key": {
 | 
			
		||||
                          "end": 98,
 | 
			
		||||
                          "end": 125,
 | 
			
		||||
                          "name": "offset",
 | 
			
		||||
                          "start": 92,
 | 
			
		||||
                          "start": 119,
 | 
			
		||||
                          "type": "Identifier"
 | 
			
		||||
                        },
 | 
			
		||||
                        "start": 92,
 | 
			
		||||
                        "start": 119,
 | 
			
		||||
                        "type": "ObjectProperty",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "end": 103,
 | 
			
		||||
                          "end": 130,
 | 
			
		||||
                          "raw": "90",
 | 
			
		||||
                          "start": 101,
 | 
			
		||||
                          "start": 128,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -162,25 +189,25 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                        }
 | 
			
		||||
                      }
 | 
			
		||||
                    ],
 | 
			
		||||
                    "start": 78,
 | 
			
		||||
                    "start": 105,
 | 
			
		||||
                    "type": "ObjectExpression",
 | 
			
		||||
                    "type": "ObjectExpression"
 | 
			
		||||
                  },
 | 
			
		||||
                  {
 | 
			
		||||
                    "end": 108,
 | 
			
		||||
                    "start": 107,
 | 
			
		||||
                    "end": 135,
 | 
			
		||||
                    "start": 134,
 | 
			
		||||
                    "type": "PipeSubstitution",
 | 
			
		||||
                    "type": "PipeSubstitution"
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 77,
 | 
			
		||||
                  "end": 104,
 | 
			
		||||
                  "name": "tangentialArc",
 | 
			
		||||
                  "start": 64,
 | 
			
		||||
                  "start": 91,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 109,
 | 
			
		||||
                "start": 64,
 | 
			
		||||
                "end": 136,
 | 
			
		||||
                "start": 91,
 | 
			
		||||
                "type": "CallExpression",
 | 
			
		||||
                "type": "CallExpression"
 | 
			
		||||
              },
 | 
			
		||||
@ -195,9 +222,9 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "elements": [
 | 
			
		||||
                        {
 | 
			
		||||
                          "end": 128,
 | 
			
		||||
                          "end": 155,
 | 
			
		||||
                          "raw": "5",
 | 
			
		||||
                          "start": 127,
 | 
			
		||||
                          "start": 154,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
@ -207,9 +234,9 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          "argument": {
 | 
			
		||||
                            "end": 133,
 | 
			
		||||
                            "end": 160,
 | 
			
		||||
                            "raw": "15",
 | 
			
		||||
                            "start": 131,
 | 
			
		||||
                            "start": 158,
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "value": {
 | 
			
		||||
@ -217,28 +244,28 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                              "suffix": "None"
 | 
			
		||||
                            }
 | 
			
		||||
                          },
 | 
			
		||||
                          "end": 133,
 | 
			
		||||
                          "end": 160,
 | 
			
		||||
                          "operator": "-",
 | 
			
		||||
                          "start": 130,
 | 
			
		||||
                          "start": 157,
 | 
			
		||||
                          "type": "UnaryExpression",
 | 
			
		||||
                          "type": "UnaryExpression"
 | 
			
		||||
                        }
 | 
			
		||||
                      ],
 | 
			
		||||
                      "end": 134,
 | 
			
		||||
                      "start": 126,
 | 
			
		||||
                      "end": 161,
 | 
			
		||||
                      "start": 153,
 | 
			
		||||
                      "type": "ArrayExpression",
 | 
			
		||||
                      "type": "ArrayExpression"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 119,
 | 
			
		||||
                  "end": 146,
 | 
			
		||||
                  "name": "line",
 | 
			
		||||
                  "start": 115,
 | 
			
		||||
                  "start": 142,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 135,
 | 
			
		||||
                "start": 115,
 | 
			
		||||
                "end": 162,
 | 
			
		||||
                "start": 142,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
@ -252,9 +279,9 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                      "name": "length"
 | 
			
		||||
                    },
 | 
			
		||||
                    "arg": {
 | 
			
		||||
                      "end": 160,
 | 
			
		||||
                      "end": 187,
 | 
			
		||||
                      "raw": "10",
 | 
			
		||||
                      "start": 158,
 | 
			
		||||
                      "start": 185,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": {
 | 
			
		||||
@ -265,19 +292,19 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
                  }
 | 
			
		||||
                ],
 | 
			
		||||
                "callee": {
 | 
			
		||||
                  "end": 148,
 | 
			
		||||
                  "end": 175,
 | 
			
		||||
                  "name": "extrude",
 | 
			
		||||
                  "start": 141,
 | 
			
		||||
                  "start": 168,
 | 
			
		||||
                  "type": "Identifier"
 | 
			
		||||
                },
 | 
			
		||||
                "end": 161,
 | 
			
		||||
                "start": 141,
 | 
			
		||||
                "end": 188,
 | 
			
		||||
                "start": 168,
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "type": "CallExpressionKw",
 | 
			
		||||
                "unlabeled": null
 | 
			
		||||
              }
 | 
			
		||||
            ],
 | 
			
		||||
            "end": 161,
 | 
			
		||||
            "end": 188,
 | 
			
		||||
            "start": 12,
 | 
			
		||||
            "type": "PipeExpression",
 | 
			
		||||
            "type": "PipeExpression"
 | 
			
		||||
@ -285,14 +312,14 @@ description: Result of parsing tangential_arc.kcl
 | 
			
		||||
          "start": 0,
 | 
			
		||||
          "type": "VariableDeclarator"
 | 
			
		||||
        },
 | 
			
		||||
        "end": 161,
 | 
			
		||||
        "end": 188,
 | 
			
		||||
        "kind": "const",
 | 
			
		||||
        "start": 0,
 | 
			
		||||
        "type": "VariableDeclaration",
 | 
			
		||||
        "type": "VariableDeclaration"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "end": 162,
 | 
			
		||||
    "end": 189,
 | 
			
		||||
    "start": 0
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
boxSketch = startSketchAt([0, 0])
 | 
			
		||||
boxSketch = startSketchOn(XY)
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> line(end = [0, 10])
 | 
			
		||||
  |> tangentialArc({ radius = 5, offset = 90 }, %)
 | 
			
		||||
  |> line(end = [5, -15])
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,31 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Operations executed tangential_arc.kcl
 | 
			
		||||
---
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "data": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Plane",
 | 
			
		||||
          "artifact_id": "[uuid]"
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          26,
 | 
			
		||||
          28,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "startSketchOn",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      12,
 | 
			
		||||
      29,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
    "unlabeledArg": null
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "length": {
 | 
			
		||||
@ -20,16 +43,16 @@ description: Operations executed tangential_arc.kcl
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": [
 | 
			
		||||
          158,
 | 
			
		||||
          160,
 | 
			
		||||
          185,
 | 
			
		||||
          187,
 | 
			
		||||
          0
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "name": "extrude",
 | 
			
		||||
    "sourceRange": [
 | 
			
		||||
      141,
 | 
			
		||||
      161,
 | 
			
		||||
      168,
 | 
			
		||||
      188,
 | 
			
		||||
      0
 | 
			
		||||
    ],
 | 
			
		||||
    "type": "StdLibCall",
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
source: kcl/src/simulation_tests.rs
 | 
			
		||||
source: kcl-lib/src/simulation_tests.rs
 | 
			
		||||
description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
@ -14,8 +14,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            39,
 | 
			
		||||
            58,
 | 
			
		||||
            66,
 | 
			
		||||
            85,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -25,8 +25,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            64,
 | 
			
		||||
            109,
 | 
			
		||||
            91,
 | 
			
		||||
            136,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -36,8 +36,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            115,
 | 
			
		||||
            135,
 | 
			
		||||
            142,
 | 
			
		||||
            162,
 | 
			
		||||
            0
 | 
			
		||||
          ],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
@ -52,8 +52,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                39,
 | 
			
		||||
                58,
 | 
			
		||||
                66,
 | 
			
		||||
                85,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -75,8 +75,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                64,
 | 
			
		||||
                109,
 | 
			
		||||
                91,
 | 
			
		||||
                136,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -103,8 +103,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [
 | 
			
		||||
                115,
 | 
			
		||||
                135,
 | 
			
		||||
                142,
 | 
			
		||||
                162,
 | 
			
		||||
                0
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
@ -169,8 +169,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
          "__geoMeta": {
 | 
			
		||||
            "id": "[uuid]",
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              12,
 | 
			
		||||
              33,
 | 
			
		||||
              35,
 | 
			
		||||
              60,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -183,8 +183,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
        "__meta": [
 | 
			
		||||
          {
 | 
			
		||||
            "sourceRange": [
 | 
			
		||||
              12,
 | 
			
		||||
              33,
 | 
			
		||||
              35,
 | 
			
		||||
              60,
 | 
			
		||||
              0
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
@ -199,8 +199,8 @@ description: Variables in memory after executing tangential_arc.kcl
 | 
			
		||||
      "__meta": [
 | 
			
		||||
        {
 | 
			
		||||
          "sourceRange": [
 | 
			
		||||
            12,
 | 
			
		||||
            33,
 | 
			
		||||
            35,
 | 
			
		||||
            60,
 | 
			
		||||
            0
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user