--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing makeup-mirror.kcl --- { "Ok": { "body": [ { "commentStart": 166, "declaration": { "commentStart": 188, "end": 0, "id": { "commentStart": 188, "end": 0, "name": "hingeRadius", "start": 0, "type": "Identifier" }, "init": { "commentStart": 202, "end": 0, "raw": "8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Hinge parameters" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 204, "declaration": { "commentStart": 204, "end": 0, "id": { "commentStart": 204, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 218, "end": 0, "left": { "abs_path": false, "commentStart": 218, "end": 0, "name": { "commentStart": 218, "end": 0, "name": "hingeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 232, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 234, "declaration": { "commentStart": 234, "end": 0, "id": { "commentStart": 234, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "init": { "commentStart": 245, "end": 0, "raw": "0.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.5, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 248, "declaration": { "commentStart": 268, "end": 0, "id": { "commentStart": 268, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "init": { "commentStart": 280, "end": 0, "raw": "170", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 170.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Arm parameters" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 284, "declaration": { "commentStart": 284, "end": 0, "id": { "commentStart": 284, "end": 0, "name": "armRadius", "start": 0, "type": "Identifier" }, "init": { "commentStart": 296, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 297, "declaration": { "commentStart": 320, "end": 0, "id": { "commentStart": 320, "end": 0, "name": "mirrorRadius", "start": 0, "type": "Identifier" }, "init": { "commentStart": 335, "end": 0, "left": { "commentStart": 335, "end": 0, "raw": "170", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 170.0, "suffix": "None" } }, "operator": "/", "right": { "commentStart": 341, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Mirror parameters" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 343, "declaration": { "commentStart": 343, "end": 0, "id": { "commentStart": 343, "end": 0, "name": "mirrorThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 361, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 364, "declaration": { "commentStart": 364, "end": 0, "id": { "commentStart": 364, "end": 0, "name": "archToMirrorGap", "start": 0, "type": "Identifier" }, "init": { "commentStart": 382, "end": 0, "raw": "5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 384, "declaration": { "commentStart": 384, "end": 0, "id": { "commentStart": 384, "end": 0, "name": "archThickness", "start": 0, "type": "Identifier" }, "init": { "commentStart": 400, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 402, "declaration": { "commentStart": 402, "end": 0, "id": { "commentStart": 402, "end": 0, "name": "archRadius", "start": 0, "type": "Identifier" }, "init": { "commentStart": 415, "end": 0, "left": { "abs_path": false, "commentStart": 415, "end": 0, "name": { "commentStart": 415, "end": 0, "name": "mirrorRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 430, "end": 0, "name": { "commentStart": 430, "end": 0, "name": "archToMirrorGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 445, "declaration": { "commentStart": 500, "end": 0, "id": { "commentStart": 500, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 521, "declaration": { "commentStart": 521, "end": 0, "id": { "commentStart": 521, "end": 0, "name": "hingeBody", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 563, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 572, "end": 0, "name": { "commentStart": 572, "end": 0, "name": "z", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 547, "end": 0, "name": { "commentStart": 547, "end": 0, "name": "offsetPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 547, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 559, "end": 0, "name": { "commentStart": 559, "end": 0, "name": "XY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 533, "end": 0, "name": { "commentStart": 533, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 533, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 590, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 599, "elements": [ { "abs_path": false, "commentStart": 600, "end": 0, "name": { "commentStart": 600, "end": 0, "name": "x", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 603, "end": 0, "name": { "commentStart": 603, "end": 0, "name": "y", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 607, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 616, "end": 0, "name": { "commentStart": 616, "end": 0, "name": "hingeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 583, "end": 0, "name": { "commentStart": 583, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 583, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 644, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 653, "end": 0, "name": { "commentStart": 653, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 636, "end": 0, "name": { "commentStart": 636, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 636, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 533, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 675, "end": 0, "name": { "commentStart": 675, "end": 0, "name": "hingeBody", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 668, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 517, "end": 0, "start": 0 }, "commentStart": 507, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 508, "end": 0, "name": "x", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 511, "end": 0, "name": "y", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 514, "end": 0, "name": "z", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Geometry", "// Add a function to create the hinge" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 686, "declaration": { "commentStart": 688, "end": 0, "id": { "commentStart": 688, "end": 0, "name": "hingePartA1", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 710, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 713, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 716, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 702, "end": 0, "name": { "commentStart": 702, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 702, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 719, "declaration": { "commentStart": 719, "end": 0, "id": { "commentStart": 719, "end": 0, "name": "hingePartA2", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 741, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 744, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 747, "end": 0, "left": { "abs_path": false, "commentStart": 747, "end": 0, "name": { "commentStart": 747, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 761, "end": 0, "name": { "commentStart": 761, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 733, "end": 0, "name": { "commentStart": 733, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 733, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 771, "declaration": { "commentStart": 771, "end": 0, "id": { "commentStart": 771, "end": 0, "name": "hingePartA3", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 793, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 796, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 799, "end": 0, "left": { "commentStart": 799, "end": 0, "left": { "abs_path": false, "commentStart": 799, "end": 0, "name": { "commentStart": 799, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 813, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 817, "end": 0, "left": { "abs_path": false, "commentStart": 817, "end": 0, "name": { "commentStart": 817, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 828, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 785, "end": 0, "name": { "commentStart": 785, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 785, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 830, "declaration": { "commentStart": 832, "end": 0, "id": { "commentStart": 832, "end": 0, "name": "hingePartB2", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 854, "end": 0, "name": { "commentStart": 854, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 865, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 868, "end": 0, "left": { "abs_path": false, "commentStart": 868, "end": 0, "name": { "commentStart": 868, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 882, "end": 0, "name": { "commentStart": 882, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 846, "end": 0, "name": { "commentStart": 846, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 846, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 892, "declaration": { "commentStart": 892, "end": 0, "id": { "commentStart": 892, "end": 0, "name": "hingePartB3", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 914, "end": 0, "name": { "commentStart": 914, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 925, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 928, "end": 0, "left": { "commentStart": 928, "end": 0, "left": { "abs_path": false, "commentStart": 928, "end": 0, "name": { "commentStart": 928, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 942, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 946, "end": 0, "left": { "abs_path": false, "commentStart": 946, "end": 0, "name": { "commentStart": 946, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 957, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 906, "end": 0, "name": { "commentStart": 906, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 906, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 959, "declaration": { "commentStart": 961, "end": 0, "id": { "commentStart": 961, "end": 0, "name": "hingePartC2", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 983, "end": 0, "name": { "commentStart": 983, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "argument": { "abs_path": false, "commentStart": 995, "end": 0, "name": { "commentStart": 995, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 994, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1006, "end": 0, "left": { "commentStart": 1006, "end": 0, "left": { "abs_path": false, "commentStart": 1006, "end": 0, "name": { "commentStart": 1006, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1020, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1024, "end": 0, "left": { "abs_path": false, "commentStart": 1024, "end": 0, "name": { "commentStart": 1024, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1035, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 975, "end": 0, "name": { "commentStart": 975, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 975, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1038, "declaration": { "commentStart": 1038, "end": 0, "id": { "commentStart": 1038, "end": 0, "name": "hingePartC3", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 1060, "end": 0, "name": { "commentStart": 1060, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "argument": { "abs_path": false, "commentStart": 1072, "end": 0, "name": { "commentStart": 1072, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1071, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1083, "end": 0, "left": { "commentStart": 1083, "end": 0, "left": { "abs_path": false, "commentStart": 1083, "end": 0, "name": { "commentStart": 1083, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1097, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1101, "end": 0, "left": { "abs_path": false, "commentStart": 1101, "end": 0, "name": { "commentStart": 1101, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1112, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1052, "end": 0, "name": { "commentStart": 1052, "end": 0, "name": "hingeFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1052, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1114, "declaration": { "commentStart": 1155, "end": 0, "id": { "commentStart": 1155, "end": 0, "name": "armFn", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 1190, "declaration": { "commentStart": 1190, "end": 0, "id": { "commentStart": 1190, "end": 0, "name": "armBody", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 1214, "end": 0, "name": { "commentStart": 1214, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1200, "end": 0, "name": { "commentStart": 1200, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1200, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1235, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1244, "elements": [ { "abs_path": false, "commentStart": 1245, "end": 0, "name": { "commentStart": 1245, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1253, "end": 0, "name": { "commentStart": 1253, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1264, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1273, "end": 0, "name": { "commentStart": 1273, "end": 0, "name": "armRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1228, "end": 0, "name": { "commentStart": 1228, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1228, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1299, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1308, "end": 0, "name": { "commentStart": 1308, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1291, "end": 0, "name": { "commentStart": 1291, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1291, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1200, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 1328, "end": 0, "name": { "commentStart": 1328, "end": 0, "name": "armBody", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1321, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1186, "end": 0, "start": 0 }, "commentStart": 1160, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1161, "end": 0, "name": "plane", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1168, "end": 0, "name": "offset", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1176, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Add a function to create the arm" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1337, "declaration": { "commentStart": 1339, "end": 0, "id": { "commentStart": 1339, "end": 0, "name": "armPartA", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 1356, "end": 0, "name": { "commentStart": 1356, "end": 0, "name": "YZ", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 1360, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1363, "end": 0, "left": { "commentStart": 1363, "end": 0, "left": { "abs_path": false, "commentStart": 1363, "end": 0, "name": { "commentStart": 1363, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1377, "end": 0, "raw": "1.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.5, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 1383, "end": 0, "name": { "commentStart": 1383, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1350, "end": 0, "name": { "commentStart": 1350, "end": 0, "name": "armFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1350, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1393, "declaration": { "commentStart": 1393, "end": 0, "id": { "commentStart": 1393, "end": 0, "name": "armPartB", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 1410, "end": 0, "name": { "commentStart": 1410, "end": 0, "name": "XZ", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1414, "end": 0, "name": { "commentStart": 1414, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 1425, "end": 0, "left": { "commentStart": 1425, "end": 0, "left": { "abs_path": false, "commentStart": 1425, "end": 0, "name": { "commentStart": 1425, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1439, "end": 0, "raw": "2.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.5, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1445, "end": 0, "left": { "abs_path": false, "commentStart": 1445, "end": 0, "name": { "commentStart": 1445, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 1456, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1404, "end": 0, "name": { "commentStart": 1404, "end": 0, "name": "armFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1404, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1458, "declaration": { "commentStart": 1502, "end": 0, "id": { "commentStart": 1502, "end": 0, "name": "mirrorFn", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 1585, "declaration": { "commentStart": 1585, "end": 0, "id": { "commentStart": 1585, "end": 0, "name": "armPlane", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1631, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1640, "end": 0, "left": { "abs_path": false, "commentStart": 1640, "end": 0, "name": { "commentStart": 1640, "end": 0, "name": "offsetY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 1651, "end": 0, "left": { "abs_path": false, "commentStart": 1651, "end": 0, "name": { "commentStart": 1651, "end": 0, "name": "tiefe", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1659, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 1612, "end": 0, "name": { "commentStart": 1612, "end": 0, "name": "offsetPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1612, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1624, "end": 0, "name": { "commentStart": 1624, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1596, "end": 0, "name": { "commentStart": 1596, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1596, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1666, "declaration": { "commentStart": 1666, "end": 0, "id": { "commentStart": 1666, "end": 0, "name": "armBody", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1693, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1702, "elements": [ { "abs_path": false, "commentStart": 1703, "end": 0, "name": { "commentStart": 1703, "end": 0, "name": "offsetX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1712, "end": 0, "name": { "commentStart": 1712, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1723, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1732, "end": 0, "name": { "commentStart": 1732, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1676, "end": 0, "name": { "commentStart": 1676, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1676, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1683, "end": 0, "name": { "commentStart": 1683, "end": 0, "name": "armPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1755, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1764, "end": 0, "name": { "commentStart": 1764, "end": 0, "name": "tiefe", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1747, "end": 0, "name": { "commentStart": 1747, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1747, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1676, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1770, "declaration": { "commentStart": 1774, "end": 0, "id": { "commentStart": 1774, "end": 0, "name": "archBody", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1800, "elements": [ { "commentStart": 1801, "end": 0, "left": { "abs_path": false, "commentStart": 1801, "end": 0, "name": { "commentStart": 1801, "end": 0, "name": "offsetX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 1811, "end": 0, "name": { "commentStart": 1811, "end": 0, "name": "gestellR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 1821, "end": 0, "name": { "commentStart": 1821, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "abs_path": false, "commentStart": 1832, "end": 0, "name": { "commentStart": 1832, "end": 0, "name": "armPlane", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1785, "end": 0, "name": { "commentStart": 1785, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1785, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1855, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1864, "end": 0, "name": { "commentStart": 1864, "end": 0, "name": "gestellD", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1849, "end": 0, "name": { "commentStart": 1849, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1849, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 1887, "end": 0, "properties": [ { "commentStart": 1898, "end": 0, "key": { "commentStart": 1898, "end": 0, "name": "interior", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1909, "elements": [ { "abs_path": false, "commentStart": 1910, "end": 0, "name": { "commentStart": 1910, "end": 0, "name": "offsetX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 1919, "end": 0, "left": { "abs_path": false, "commentStart": 1919, "end": 0, "name": { "commentStart": 1919, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 1930, "end": 0, "name": { "commentStart": 1930, "end": 0, "name": "gestellR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1950, "end": 0, "key": { "commentStart": 1950, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1956, "elements": [ { "commentStart": 1957, "end": 0, "left": { "abs_path": false, "commentStart": 1957, "end": 0, "name": { "commentStart": 1957, "end": 0, "name": "offsetX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 1967, "end": 0, "name": { "commentStart": 1967, "end": 0, "name": "gestellR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 1977, "end": 0, "name": { "commentStart": 1977, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 1997, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1881, "end": 0, "name": { "commentStart": 1881, "end": 0, "name": "arcTo", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1881, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2013, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2022, "end": 0, "name": { "commentStart": 2022, "end": 0, "name": "gestellD", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2007, "end": 0, "name": { "commentStart": 2007, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2007, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 2045, "end": 0, "properties": [ { "commentStart": 2056, "end": 0, "key": { "commentStart": 2056, "end": 0, "name": "interior", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2067, "elements": [ { "abs_path": false, "commentStart": 2080, "end": 0, "name": { "commentStart": 2080, "end": 0, "name": "offsetX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 2100, "end": 0, "left": { "commentStart": 2100, "end": 0, "left": { "abs_path": false, "commentStart": 2100, "end": 0, "name": { "commentStart": 2100, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 2111, "end": 0, "name": { "commentStart": 2111, "end": 0, "name": "gestellR", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "abs_path": false, "commentStart": 2122, "end": 0, "name": { "commentStart": 2122, "end": 0, "name": "gestellD", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 2152, "end": 0, "key": { "commentStart": 2152, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2158, "elements": [ { "arguments": [ { "commentStart": 2173, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2159, "end": 0, "name": { "commentStart": 2159, "end": 0, "name": "profileStartX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2159, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2191, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2177, "end": 0, "name": { "commentStart": 2177, "end": 0, "name": "profileStartY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2177, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2205, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2039, "end": 0, "name": { "commentStart": 2039, "end": 0, "name": "arcTo", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2039, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 2215, "end": 0, "name": { "commentStart": 2215, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2215, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2238, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2247, "end": 0, "name": { "commentStart": 2247, "end": 0, "name": "tiefe", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2230, "end": 0, "name": { "commentStart": 2230, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2230, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1785, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 2263, "end": 0, "name": { "commentStart": 2263, "end": 0, "name": "armBody", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 2256, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1581, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 1770, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [] }, "start": 0 }, "commentStart": 1510, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1511, "end": 0, "name": "plane", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1518, "end": 0, "name": "offsetX", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1527, "end": 0, "name": "offsetY", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1536, "end": 0, "name": "altitude", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1546, "end": 0, "name": "radius", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1554, "end": 0, "name": "tiefe", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1561, "end": 0, "name": "gestellR", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1571, "end": 0, "name": "gestellD", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Add a function to create the mirror" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2272, "declaration": { "commentStart": 2274, "end": 0, "id": { "commentStart": 2274, "end": 0, "name": "mirror", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 2292, "end": 0, "name": { "commentStart": 2292, "end": 0, "name": "XZ", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 2296, "end": 0, "name": { "commentStart": 2296, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 2307, "end": 0, "name": { "commentStart": 2307, "end": 0, "name": "armLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 2318, "end": 0, "left": { "commentStart": 2318, "end": 0, "left": { "commentStart": 2318, "end": 0, "left": { "commentStart": 2318, "end": 0, "left": { "commentStart": 2318, "end": 0, "left": { "abs_path": false, "commentStart": 2318, "end": 0, "name": { "commentStart": 2318, "end": 0, "name": "hingeHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 2332, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 2336, "end": 0, "left": { "abs_path": false, "commentStart": 2336, "end": 0, "name": { "commentStart": 2336, "end": 0, "name": "hingeGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 2347, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2351, "end": 0, "name": { "commentStart": 2351, "end": 0, "name": "mirrorRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2366, "end": 0, "name": { "commentStart": 2366, "end": 0, "name": "archToMirrorGap", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2384, "end": 0, "name": { "commentStart": 2384, "end": 0, "name": "archThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 2399, "end": 0, "name": { "commentStart": 2399, "end": 0, "name": "mirrorRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 2413, "end": 0, "name": { "commentStart": 2413, "end": 0, "name": "mirrorThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 2430, "end": 0, "name": { "commentStart": 2430, "end": 0, "name": "archRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 2442, "end": 0, "name": { "commentStart": 2442, "end": 0, "name": "archThickness", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2283, "end": 0, "name": { "commentStart": 2283, "end": 0, "name": "mirrorFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2283, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 134, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Makeup Mirror", "// A circular vanity mirror mounted on a swiveling arm with pivot joints, used for personal grooming.", "", "", "// Set units" ], "properties": [ { "commentStart": 143, "end": 0, "key": { "commentStart": 143, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 163, "end": 0, "name": { "commentStart": 163, "end": 0, "name": "mm", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "10": [ { "commentStart": 686, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "13": [ { "commentStart": 830, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "15": [ { "commentStart": 959, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "18": [ { "commentStart": 1337, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "21": [ { "commentStart": 2272, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [ { "commentStart": 166, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }