--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing dodecahedron.kcl --- { "Ok": { "body": [ { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "116.565", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 116.565, "suffix": "None" } }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "preComments": [ "// Define the dihedral angle for a regular dodecahedron" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "createFaceTemplate", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "baseSketch", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "XY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "at", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "argument": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "moduleId": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "argument": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "moduleId": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "startProfile", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "moduleId": 0, "operator": "+", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "argument": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "moduleId": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "moduleId": 0, "operator": "+", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "moduleId": 0, "operator": "+", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "argument": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "moduleId": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "moduleId": 0, "operator": "+", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "extruded", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "moduleId": 0, "operator": "+", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "moduleId": 0, "operator": "+", "right": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1000", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1000.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "baseSketch", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "body": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "extruded", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "x", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "y", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "z", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "left": { "argument": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "260", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 260.0, "suffix": "None" } }, "commentStart": 0, "end": 0, "moduleId": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "translate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0 }, "commentStart": 0, "end": 0, "moduleId": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dither", "start": 0, "type": "Identifier" }, "labeled": false } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "moduleId": 0, "preComments": [ "", "", "// Create a face template function that makes a large thin cube" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "faceRotations", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "elements": [ { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "72", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 72.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.2, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "144", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 144.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.3, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "216", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 216.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "288", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 288.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.5, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.6, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "36", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 36.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.7, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "108", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 108.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.9", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.9, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "252", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 252.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.11, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 0, "elements": [ { "commentStart": 0, "end": 0, "left": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "moduleId": 0, "operator": "-", "right": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dihedral", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "324", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 324.0, "suffix": "None" } }, { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0.12", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.12, "suffix": "None" } } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } ], "end": 0, "moduleId": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face1 - reference face", "style": "line" } } ], "3": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face2", "style": "line" } } ], "5": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face3", "style": "line" } } ], "7": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face4", "style": "line" } } ], "9": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face5", "style": "line" } } ], "11": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face6", "style": "line" } } ], "13": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face7", "style": "line" } } ], "15": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face8", "style": "line" } } ], "17": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face9", "style": "line" } } ], "19": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face10", "style": "line" } } ], "21": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face11", "style": "line" } } ], "23": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "face12", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "preComments": [ "", "", "// Define the rotations array with [pitch, roll, yaw, dither] for each face" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dodecFaces", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "f", "start": 0, "type": "Identifier" }, "arg": { "body": { "body": [ { "argument": { "body": [ { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "createFaceTemplate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "computed": false, "end": 0, "moduleId": 0, "object": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "rotation", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "property": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "computed": false, "end": 0, "moduleId": 0, "object": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "rotation", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "property": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "roll", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "computed": false, "end": 0, "moduleId": 0, "object": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "rotation", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "property": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "yaw", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "computed": false, "end": 0, "moduleId": 0, "object": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "rotation", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "property": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "global", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0 }, "commentStart": 0, "end": 0, "moduleId": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "rotation", "start": 0, "type": "Identifier" }, "labeled": false } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "map", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "faceRotations", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "preComments": [ "", "", "// Create faces by mapping over the rotations array" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "calculateArrayLength", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "argument": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "initial", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "f", "start": 0, "type": "Identifier" }, "arg": { "body": { "body": [ { "argument": { "commentStart": 0, "end": 0, "left": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "accum", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "moduleId": 0, "operator": "+", "right": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0 }, "commentStart": 0, "end": 0, "moduleId": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "item", "start": 0, "type": "Identifier" }, "labeled": false }, { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "accum", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "reduce", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "arr", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0 }, "commentStart": 0, "end": 0, "moduleId": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "arr", "start": 0, "type": "Identifier" }, "labeled": false } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "createIntersection", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "reduceIntersect", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "argument": { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "intersect", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 0, "elements": [ { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "previous", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "accum", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "moduleId": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0 }, "commentStart": 0, "end": 0, "moduleId": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "previous", "start": 0, "type": "Identifier" }, "labeled": false }, { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "accum", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "lastIndex", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "end": 0, "left": { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "calculateArrayLength", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "solids", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "moduleId": 0, "operator": "-", "right": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "lastSolid", "start": 0, "type": "Identifier" }, "init": { "commentStart": 0, "computed": true, "end": 0, "moduleId": 0, "object": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "solids", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "property": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "lastIndex", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "declaration": { "commentStart": 0, "end": 0, "id": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "remainingSolids", "start": 0, "type": "Identifier" }, "init": { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "pop", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "solids", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "initial", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "lastSolid", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "f", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "reduceIntersect", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "reduce", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "remainingSolids", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 0, "end": 0, "moduleId": 0, "start": 0 }, "commentStart": 0, "end": 0, "moduleId": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "solids", "start": 0, "type": "Identifier" }, "labeled": false } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "moduleId": 0, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "moduleId": 0, "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 0, "end": 0, "expression": { "arguments": [], "callee": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "createIntersection", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "dodecFaces", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "moduleId": 0, "preComments": [ "", "", "// Apply intersection to all faces" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Dodecahedron", "// A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the a dodecahedron with a series of intersects.", "", "", "// Set units" ], "properties": [ { "commentStart": 0, "end": 0, "key": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "moduleId": 0, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 0, "end": 0, "moduleId": 0, "name": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "commentStart": 0, "end": 0, "key": { "commentStart": 0, "end": 0, "moduleId": 0, "name": "kclVersion", "start": 0, "type": "Identifier" }, "moduleId": 0, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 0, "end": 0, "moduleId": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } } ], "start": 0, "type": "Annotation" } ], "moduleId": 0, "nonCodeMeta": { "nonCodeNodes": { "3": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "4": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [ { "commentStart": 0, "end": 0, "moduleId": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }