* Add NodePath to operations * Change to use nodePath to get pathToNode instead of sourceRange * Add additional node path unit test * Update output * Fix import statement NodePaths * Update output * Factor into function
		
			
				
	
	
		
			1361 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1361 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
---
 | 
						|
source: kcl-lib/src/simulation_tests.rs
 | 
						|
description: Operations executed herringbone-gear.kcl
 | 
						|
---
 | 
						|
[
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "startSketchOn",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Plane",
 | 
						|
        "artifact_id": "[uuid]"
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {},
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "startSketchOn",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Plane",
 | 
						|
        "artifact_id": "[uuid]"
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {},
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "offsetPlane",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Plane",
 | 
						|
        "artifact_id": "[uuid]"
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {
 | 
						|
      "offset": {
 | 
						|
        "value": {
 | 
						|
          "type": "Number",
 | 
						|
          "value": 0.0,
 | 
						|
          "ty": {
 | 
						|
            "type": "Default",
 | 
						|
            "len": {
 | 
						|
              "type": "Mm"
 | 
						|
            },
 | 
						|
            "angle": {
 | 
						|
              "type": "Degrees"
 | 
						|
            }
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwUnlabeledArg"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "offsetPlane",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Plane",
 | 
						|
        "artifact_id": "[uuid]"
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {
 | 
						|
      "offset": {
 | 
						|
        "value": {
 | 
						|
          "type": "Number",
 | 
						|
          "value": 4.0,
 | 
						|
          "ty": {
 | 
						|
            "type": "Default",
 | 
						|
            "len": {
 | 
						|
              "type": "Mm"
 | 
						|
            },
 | 
						|
            "angle": {
 | 
						|
              "type": "Degrees"
 | 
						|
            }
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwUnlabeledArg"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "polar",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "angle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.571,
 | 
						|
            "ty": {
 | 
						|
              "type": "Known",
 | 
						|
              "type": "Angle",
 | 
						|
              "type": "Radians"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "length": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 12.129,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwArg",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "polar",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "angle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.32,
 | 
						|
            "ty": {
 | 
						|
              "type": "Known",
 | 
						|
              "type": "Angle",
 | 
						|
              "type": "Radians"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "length": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 12.129,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwArg",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "polar",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "angle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.682,
 | 
						|
            "ty": {
 | 
						|
              "type": "Known",
 | 
						|
              "type": "Angle",
 | 
						|
              "type": "Radians"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "length": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 13.5,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 3
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwArg",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "polar",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "angle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.431,
 | 
						|
            "ty": {
 | 
						|
              "type": "Known",
 | 
						|
              "type": "Angle",
 | 
						|
              "type": "Radians"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "length": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 13.5,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 3
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwArg",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "polar",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "angle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.822,
 | 
						|
            "ty": {
 | 
						|
              "type": "Known",
 | 
						|
              "type": "Angle",
 | 
						|
              "type": "Radians"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "length": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 12.129,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwArg",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "polar",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "angle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.571,
 | 
						|
            "ty": {
 | 
						|
              "type": "Known",
 | 
						|
              "type": "Angle",
 | 
						|
              "type": "Radians"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "length": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 12.129,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "CallKwArg",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "subtract2d",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Sketch",
 | 
						|
        "value": {
 | 
						|
          "artifactId": "[uuid]"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {
 | 
						|
      "tool": {
 | 
						|
        "value": {
 | 
						|
          "type": "Sketch",
 | 
						|
          "value": {
 | 
						|
            "artifactId": "[uuid]"
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 8
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "subtract2d",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Sketch",
 | 
						|
        "value": {
 | 
						|
          "artifactId": "[uuid]"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {
 | 
						|
      "tool": {
 | 
						|
        "value": {
 | 
						|
          "type": "Sketch",
 | 
						|
          "value": {
 | 
						|
            "artifactId": "[uuid]"
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 5
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 8
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "herringboneGearSketch",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "offsetHeight": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 0.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 6
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "herringboneGearSketch",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "offsetHeight": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 4.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 7
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "clone",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Sketch",
 | 
						|
        "value": {
 | 
						|
          "artifactId": "[uuid]"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {},
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 8
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 0
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "translate",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Sketch",
 | 
						|
        "value": {
 | 
						|
          "artifactId": "[uuid]"
 | 
						|
        }
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {
 | 
						|
      "z": {
 | 
						|
        "value": {
 | 
						|
          "type": "Number",
 | 
						|
          "value": 8.0,
 | 
						|
          "ty": {
 | 
						|
            "type": "Default",
 | 
						|
            "len": {
 | 
						|
              "type": "Mm"
 | 
						|
            },
 | 
						|
            "angle": {
 | 
						|
              "type": "Degrees"
 | 
						|
            }
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 8
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "PipeBodyItem",
 | 
						|
          "index": 1
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "StdLibCall",
 | 
						|
    "name": "loft",
 | 
						|
    "unlabeledArg": {
 | 
						|
      "value": {
 | 
						|
        "type": "Array",
 | 
						|
        "value": [
 | 
						|
          {
 | 
						|
            "type": "Sketch",
 | 
						|
            "value": {
 | 
						|
              "artifactId": "[uuid]"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "Sketch",
 | 
						|
            "value": {
 | 
						|
              "artifactId": "[uuid]"
 | 
						|
            }
 | 
						|
          },
 | 
						|
          {
 | 
						|
            "type": "Sketch",
 | 
						|
            "value": {
 | 
						|
              "artifactId": "[uuid]"
 | 
						|
            }
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      "sourceRange": []
 | 
						|
    },
 | 
						|
    "labeledArgs": {
 | 
						|
      "vDegree": {
 | 
						|
        "value": {
 | 
						|
          "type": "Number",
 | 
						|
          "value": 1.0,
 | 
						|
          "ty": {
 | 
						|
            "type": "Known",
 | 
						|
            "type": "Count"
 | 
						|
          }
 | 
						|
        },
 | 
						|
        "sourceRange": []
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 0
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBody"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "FunctionExpressionBodyItem",
 | 
						|
          "index": 9
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationDeclaration"
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "VariableDeclarationInit"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupBegin",
 | 
						|
    "group": {
 | 
						|
      "type": "FunctionCall",
 | 
						|
      "name": "herringboneGear",
 | 
						|
      "functionSourceRange": [],
 | 
						|
      "unlabeledArg": null,
 | 
						|
      "labeledArgs": {
 | 
						|
        "gearHeight": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 8.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "helixAngle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 40.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "module": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 1.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "nTeeth": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 25.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        },
 | 
						|
        "pressureAngle": {
 | 
						|
          "value": {
 | 
						|
            "type": "Number",
 | 
						|
            "value": 14.0,
 | 
						|
            "ty": {
 | 
						|
              "type": "Default",
 | 
						|
              "len": {
 | 
						|
                "type": "Mm"
 | 
						|
              },
 | 
						|
              "angle": {
 | 
						|
                "type": "Degrees"
 | 
						|
              }
 | 
						|
            }
 | 
						|
          },
 | 
						|
          "sourceRange": []
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    "nodePath": {
 | 
						|
      "steps": [
 | 
						|
        {
 | 
						|
          "type": "ProgramBodyItem",
 | 
						|
          "index": 1
 | 
						|
        },
 | 
						|
        {
 | 
						|
          "type": "ExpressionStatementExpr"
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    },
 | 
						|
    "sourceRange": []
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "type": "GroupEnd"
 | 
						|
  }
 | 
						|
]
 |