--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing gear.kcl --- { "Ok": { "body": [ { "commentStart": 472, "declaration": { "commentStart": 494, "end": 0, "id": { "commentStart": 494, "end": 0, "name": "nTeeth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 503, "end": 0, "raw": "21", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 21.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define constants" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 506, "declaration": { "commentStart": 506, "end": 0, "id": { "commentStart": 506, "end": 0, "name": "module", "start": 0, "type": "Identifier" }, "init": { "commentStart": 515, "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": 519, "declaration": { "commentStart": 519, "end": 0, "id": { "commentStart": 519, "end": 0, "name": "pitchDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 535, "end": 0, "left": { "abs_path": false, "commentStart": 535, "end": 0, "name": { "commentStart": 535, "end": 0, "name": "module", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "abs_path": false, "commentStart": 544, "end": 0, "name": { "commentStart": 544, "end": 0, "name": "nTeeth", "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": 551, "declaration": { "commentStart": 551, "end": 0, "id": { "commentStart": 551, "end": 0, "name": "pressureAngle", "start": 0, "type": "Identifier" }, "init": { "commentStart": 567, "end": 0, "raw": "20", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 20.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 570, "declaration": { "commentStart": 570, "end": 0, "id": { "commentStart": 570, "end": 0, "name": "addendum", "start": 0, "type": "Identifier" }, "init": { "abs_path": false, "commentStart": 581, "end": 0, "name": { "commentStart": 581, "end": 0, "name": "module", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 588, "declaration": { "commentStart": 588, "end": 0, "id": { "commentStart": 588, "end": 0, "name": "deddendum", "start": 0, "type": "Identifier" }, "init": { "commentStart": 600, "end": 0, "left": { "commentStart": 600, "end": 0, "raw": "1.25", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.25, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 607, "end": 0, "name": { "commentStart": 607, "end": 0, "name": "module", "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": 614, "declaration": { "commentStart": 614, "end": 0, "id": { "commentStart": 614, "end": 0, "name": "baseDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 629, "end": 0, "left": { "abs_path": false, "commentStart": 629, "end": 0, "name": { "commentStart": 629, "end": 0, "name": "pitchDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "arguments": [ { "arguments": [ { "abs_path": false, "commentStart": 659, "end": 0, "name": { "commentStart": 659, "end": 0, "name": "pressureAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 649, "end": 0, "name": { "commentStart": 649, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 649, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 645, "end": 0, "name": { "commentStart": 645, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 645, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 675, "declaration": { "commentStart": 675, "end": 0, "id": { "commentStart": 675, "end": 0, "name": "tipDiameter", "start": 0, "type": "Identifier" }, "init": { "commentStart": 689, "end": 0, "left": { "abs_path": false, "commentStart": 689, "end": 0, "name": { "commentStart": 689, "end": 0, "name": "pitchDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 705, "end": 0, "left": { "commentStart": 705, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 709, "end": 0, "name": { "commentStart": 709, "end": 0, "name": "module", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 716, "declaration": { "commentStart": 716, "end": 0, "id": { "commentStart": 716, "end": 0, "name": "gearHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 729, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 730, "declaration": { "commentStart": 779, "end": 0, "id": { "commentStart": 779, "end": 0, "name": "cmo", "start": 0, "type": "Identifier" }, "init": { "commentStart": 785, "end": 0, "raw": "101", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 101.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Interpolate points along the involute curve" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 789, "declaration": { "commentStart": 789, "end": 0, "id": { "commentStart": 789, "end": 0, "name": "rs", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 798, "end": 0, "endElement": { "abs_path": false, "commentStart": 802, "end": 0, "name": { "commentStart": 802, "end": 0, "name": "cmo", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "endInclusive": true, "start": 0, "startElement": { "commentStart": 799, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "type": "ArrayRangeExpression", "type": "ArrayRangeExpression" }, { "body": { "body": [ { "argument": { "commentStart": 826, "end": 0, "left": { "commentStart": 826, "end": 0, "left": { "abs_path": false, "commentStart": 826, "end": 0, "name": { "commentStart": 826, "end": 0, "name": "baseDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 841, "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": 845, "end": 0, "left": { "commentStart": 845, "end": 0, "left": { "commentStart": 845, "end": 0, "left": { "abs_path": false, "commentStart": 845, "end": 0, "name": { "commentStart": 845, "end": 0, "name": "i", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "abs_path": false, "commentStart": 849, "end": 0, "name": { "commentStart": 849, "end": 0, "name": "cmo", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "*", "right": { "commentStart": 856, "end": 0, "left": { "abs_path": false, "commentStart": 856, "end": 0, "name": { "commentStart": 856, "end": 0, "name": "tipDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "abs_path": false, "commentStart": 870, "end": 0, "name": { "commentStart": 870, "end": 0, "name": "baseDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 886, "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" }, "commentStart": 819, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 815, "end": 0, "start": 0 }, "commentStart": 811, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 812, "end": 0, "name": "i", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } ], "callee": { "abs_path": false, "commentStart": 794, "end": 0, "name": { "commentStart": 794, "end": 0, "name": "map", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 794, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 890, "declaration": { "commentStart": 930, "end": 0, "id": { "commentStart": 930, "end": 0, "name": "angles", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 943, "end": 0, "name": { "commentStart": 943, "end": 0, "name": "rs", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "body": { "body": [ { "argument": { "arguments": [ { "arguments": [ { "commentStart": 982, "end": 0, "left": { "commentStart": 982, "end": 0, "left": { "abs_path": false, "commentStart": 982, "end": 0, "name": { "commentStart": 982, "end": 0, "name": "baseDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 997, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "abs_path": false, "commentStart": 1001, "end": 0, "name": { "commentStart": 1001, "end": 0, "name": "r", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 977, "end": 0, "name": { "commentStart": 977, "end": 0, "name": "acos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 977, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 965, "end": 0, "name": { "commentStart": 965, "end": 0, "name": "toDegrees", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 965, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "commentStart": 958, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 954, "end": 0, "start": 0 }, "commentStart": 950, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 951, "end": 0, "name": "r", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } ], "callee": { "abs_path": false, "commentStart": 939, "end": 0, "name": { "commentStart": 939, "end": 0, "name": "map", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 939, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Calculate operating pressure angle" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1007, "declaration": { "commentStart": 1044, "end": 0, "id": { "commentStart": 1044, "end": 0, "name": "invas", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 1056, "end": 0, "name": { "commentStart": 1056, "end": 0, "name": "angles", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "body": { "body": [ { "argument": { "commentStart": 1082, "end": 0, "left": { "arguments": [ { "arguments": [ { "abs_path": false, "commentStart": 1096, "end": 0, "name": { "commentStart": 1096, "end": 0, "name": "a", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1086, "end": 0, "name": { "commentStart": 1086, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1086, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1082, "end": 0, "name": { "commentStart": 1082, "end": 0, "name": "tan", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1082, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "operator": "-", "right": { "arguments": [ { "abs_path": false, "commentStart": 1112, "end": 0, "name": { "commentStart": 1112, "end": 0, "name": "a", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1102, "end": 0, "name": { "commentStart": 1102, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1102, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1075, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1071, "end": 0, "start": 0 }, "commentStart": 1067, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1068, "end": 0, "name": "a", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } ], "callee": { "abs_path": false, "commentStart": 1052, "end": 0, "name": { "commentStart": 1052, "end": 0, "name": "map", "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", "preComments": [ "", "", "// Calculate the involute function" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1117, "declaration": { "commentStart": 1145, "end": 0, "id": { "commentStart": 1145, "end": 0, "name": "xs", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 1154, "end": 0, "endElement": { "abs_path": false, "commentStart": 1158, "end": 0, "name": { "commentStart": 1158, "end": 0, "name": "cmo", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "endInclusive": true, "start": 0, "startElement": { "commentStart": 1155, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "type": "ArrayRangeExpression", "type": "ArrayRangeExpression" }, { "body": { "body": [ { "argument": { "commentStart": 1182, "end": 0, "left": { "commentStart": 1182, "computed": true, "end": 0, "object": { "commentStart": 1182, "end": 0, "name": "rs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1185, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "operator": "*", "right": { "arguments": [ { "commentStart": 1194, "computed": true, "end": 0, "object": { "commentStart": 1194, "end": 0, "name": "invas", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1200, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } ], "callee": { "abs_path": false, "commentStart": 1190, "end": 0, "name": { "commentStart": 1190, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1190, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1175, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1171, "end": 0, "start": 0 }, "commentStart": 1167, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1168, "end": 0, "name": "i", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } ], "callee": { "abs_path": false, "commentStart": 1150, "end": 0, "name": { "commentStart": 1150, "end": 0, "name": "map", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1150, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Map the involute curve" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1206, "declaration": { "commentStart": 1208, "end": 0, "id": { "commentStart": 1208, "end": 0, "name": "ys", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 1217, "end": 0, "endElement": { "abs_path": false, "commentStart": 1221, "end": 0, "name": { "commentStart": 1221, "end": 0, "name": "cmo", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "endInclusive": true, "start": 0, "startElement": { "commentStart": 1218, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "type": "ArrayRangeExpression", "type": "ArrayRangeExpression" }, { "body": { "body": [ { "argument": { "commentStart": 1245, "end": 0, "left": { "commentStart": 1245, "computed": true, "end": 0, "object": { "commentStart": 1245, "end": 0, "name": "rs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1248, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "operator": "*", "right": { "arguments": [ { "commentStart": 1257, "computed": true, "end": 0, "object": { "commentStart": 1257, "end": 0, "name": "invas", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1263, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } ], "callee": { "abs_path": false, "commentStart": 1253, "end": 0, "name": { "commentStart": 1253, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1253, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1238, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1234, "end": 0, "start": 0 }, "commentStart": 1230, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1231, "end": 0, "name": "i", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" } ], "callee": { "abs_path": false, "commentStart": 1213, "end": 0, "name": { "commentStart": 1213, "end": 0, "name": "map", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1213, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1269, "declaration": { "commentStart": 1296, "end": 0, "id": { "commentStart": 1296, "end": 0, "name": "body", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1317, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 1303, "end": 0, "name": { "commentStart": 1303, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1303, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1343, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1352, "elements": [ { "commentStart": 1353, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1356, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1367, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1376, "end": 0, "left": { "abs_path": false, "commentStart": 1376, "end": 0, "name": { "commentStart": 1376, "end": 0, "name": "baseDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 1391, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 1328, "end": 0, "name": { "commentStart": 1328, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1328, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1413, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 1422, "end": 0, "name": { "commentStart": 1422, "end": 0, "name": "gearHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 1405, "end": 0, "name": { "commentStart": 1405, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1405, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1303, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Extrude the gear body" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1433, "declaration": { "commentStart": 1435, "end": 0, "id": { "commentStart": 1435, "end": 0, "name": "toothAngle", "start": 0, "type": "Identifier" }, "init": { "commentStart": 1448, "end": 0, "left": { "commentStart": 1448, "end": 0, "left": { "commentStart": 1448, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } }, "operator": "/", "right": { "abs_path": false, "commentStart": 1454, "end": 0, "name": { "commentStart": 1454, "end": 0, "name": "nTeeth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "commentStart": 1463, "end": 0, "raw": "1.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.5, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1466, "declaration": { "commentStart": 1498, "end": 0, "id": { "commentStart": 1498, "end": 0, "name": "leftInvolute", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 1522, "declaration": { "commentStart": 1522, "end": 0, "id": { "commentStart": 1522, "end": 0, "name": "j", "start": 0, "type": "Identifier" }, "init": { "commentStart": 1526, "end": 0, "left": { "commentStart": 1526, "end": 0, "raw": "100", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 100.0, "suffix": "None" } }, "operator": "-", "right": { "abs_path": false, "commentStart": 1532, "end": 0, "name": { "commentStart": 1532, "end": 0, "name": "i", "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" }, { "argument": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1573, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1587, "elements": [ { "commentStart": 1588, "computed": true, "end": 0, "object": { "commentStart": 1588, "end": 0, "name": "xs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1591, "end": 0, "name": "j", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, { "commentStart": 1595, "computed": true, "end": 0, "object": { "commentStart": 1595, "end": 0, "name": "ys", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1598, "end": 0, "name": "j", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1564, "end": 0, "name": { "commentStart": 1564, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1564, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1569, "end": 0, "name": { "commentStart": 1569, "end": 0, "name": "sg", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "commentStart": 1533, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1518, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "0": [ { "commentStart": 1533, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "inlineComment", "value": "iterate backwards", "style": "line" } } ] }, "startNodes": [] }, "start": 0 }, "commentStart": 1510, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1511, "end": 0, "name": "i", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1514, "end": 0, "name": "sg", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Plot the involute curve" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1604, "declaration": { "commentStart": 1609, "end": 0, "id": { "commentStart": 1609, "end": 0, "name": "rightInvolute", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 1634, "declaration": { "commentStart": 1634, "end": 0, "id": { "commentStart": 1634, "end": 0, "name": "x", "start": 0, "type": "Identifier" }, "init": { "commentStart": 1638, "end": 0, "left": { "commentStart": 1638, "computed": true, "end": 0, "object": { "commentStart": 1638, "end": 0, "name": "rs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1641, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "operator": "*", "right": { "arguments": [ { "arguments": [ { "commentStart": 1660, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 1661, "end": 0, "name": { "commentStart": 1661, "end": 0, "name": "toothAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1660, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "+", "right": { "arguments": [ { "arguments": [ { "commentStart": 1689, "end": 0, "left": { "commentStart": 1689, "computed": true, "end": 0, "object": { "commentStart": 1689, "end": 0, "name": "ys", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1692, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "operator": "/", "right": { "commentStart": 1697, "computed": true, "end": 0, "object": { "commentStart": 1697, "end": 0, "name": "xs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1700, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1684, "end": 0, "name": { "commentStart": 1684, "end": 0, "name": "atan", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1684, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1674, "end": 0, "name": { "commentStart": 1674, "end": 0, "name": "toDegrees", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1674, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1650, "end": 0, "name": { "commentStart": 1650, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1650, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1646, "end": 0, "name": { "commentStart": 1646, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1646, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1709, "declaration": { "commentStart": 1709, "end": 0, "id": { "commentStart": 1709, "end": 0, "name": "y", "start": 0, "type": "Identifier" }, "init": { "commentStart": 1713, "end": 0, "left": { "argument": { "commentStart": 1714, "computed": true, "end": 0, "object": { "commentStart": 1714, "end": 0, "name": "rs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1717, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "commentStart": 1713, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "arguments": [ { "arguments": [ { "commentStart": 1736, "end": 0, "left": { "argument": { "abs_path": false, "commentStart": 1737, "end": 0, "name": { "commentStart": 1737, "end": 0, "name": "toothAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 1736, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "+", "right": { "arguments": [ { "arguments": [ { "commentStart": 1765, "end": 0, "left": { "commentStart": 1765, "computed": true, "end": 0, "object": { "commentStart": 1765, "end": 0, "name": "ys", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1768, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "operator": "/", "right": { "commentStart": 1773, "computed": true, "end": 0, "object": { "commentStart": 1773, "end": 0, "name": "xs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1776, "end": 0, "name": "i", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1760, "end": 0, "name": { "commentStart": 1760, "end": 0, "name": "atan", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1760, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1750, "end": 0, "name": { "commentStart": 1750, "end": 0, "name": "toDegrees", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1750, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 1726, "end": 0, "name": { "commentStart": 1726, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1726, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1722, "end": 0, "name": { "commentStart": 1722, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1722, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1801, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1815, "elements": [ { "abs_path": false, "commentStart": 1816, "end": 0, "name": { "commentStart": 1816, "end": 0, "name": "x", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1819, "end": 0, "name": { "commentStart": 1819, "end": 0, "name": "y", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 1792, "end": 0, "name": { "commentStart": 1792, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1792, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1797, "end": 0, "name": { "commentStart": 1797, "end": 0, "name": "sg", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, "commentStart": 1785, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1630, "end": 0, "start": 0 }, "commentStart": 1622, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1623, "end": 0, "name": "i", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1626, "end": 0, "name": "sg", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1824, "declaration": { "commentStart": 1845, "end": 0, "id": { "commentStart": 1845, "end": 0, "name": "start", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1867, "end": 0, "raw": "'XY'", "start": 0, "type": "Literal", "type": "Literal", "value": "XY" } ], "callee": { "abs_path": false, "commentStart": 1853, "end": 0, "name": { "commentStart": 1853, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1853, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1893, "elements": [ { "commentStart": 1894, "computed": false, "end": 0, "object": { "commentStart": 1894, "end": 0, "name": "xs", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1897, "end": 0, "raw": "101", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 101.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, { "commentStart": 1903, "computed": false, "end": 0, "object": { "commentStart": 1903, "end": 0, "name": "ys", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 1906, "end": 0, "raw": "101", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 101.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 1913, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1878, "end": 0, "name": { "commentStart": 1878, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1878, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "commentStart": 1853, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Draw gear teeth" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1916, "declaration": { "commentStart": 1916, "end": 0, "id": { "commentStart": 1916, "end": 0, "name": "teeth", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 1931, "end": 0, "endElement": { "commentStart": 1935, "end": 0, "raw": "100", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 100.0, "suffix": "None" } }, "endInclusive": true, "start": 0, "startElement": { "commentStart": 1932, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "type": "ArrayRangeExpression", "type": "ArrayRangeExpression" }, { "abs_path": false, "commentStart": 1941, "end": 0, "name": { "commentStart": 1941, "end": 0, "name": "start", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1948, "end": 0, "name": { "commentStart": 1948, "end": 0, "name": "leftInvolute", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1924, "end": 0, "name": { "commentStart": 1924, "end": 0, "name": "reduce", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1924, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 1971, "end": 0, "properties": [ { "commentStart": 1980, "end": 0, "key": { "commentStart": 1980, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1993, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "commentStart": 2003, "end": 0, "key": { "commentStart": 2003, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 2014, "end": 0, "name": { "commentStart": 2014, "end": 0, "name": "toothAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "commentStart": 2033, "end": 0, "key": { "commentStart": 2033, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2042, "end": 0, "left": { "abs_path": false, "commentStart": 2042, "end": 0, "name": { "commentStart": 2042, "end": 0, "name": "baseDiameter", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2057, "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": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2067, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 1967, "end": 0, "name": { "commentStart": 1967, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1967, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2082, "end": 0, "endElement": { "commentStart": 2086, "end": 0, "raw": "101", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 101.0, "suffix": "None" } }, "endInclusive": true, "start": 0, "startElement": { "commentStart": 2083, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "type": "ArrayRangeExpression", "type": "ArrayRangeExpression" }, { "commentStart": 2092, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "abs_path": false, "commentStart": 2095, "end": 0, "name": { "commentStart": 2095, "end": 0, "name": "rightInvolute", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2075, "end": 0, "name": { "commentStart": 2075, "end": 0, "name": "reduce", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2075, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 2115, "end": 0, "name": { "commentStart": 2115, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2115, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2136, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2145, "end": 0, "name": { "commentStart": 2145, "end": 0, "name": "gearHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2128, "end": 0, "name": { "commentStart": 2128, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2128, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2188, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2195, "elements": [ { "commentStart": 2196, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2199, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2202, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2213, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2222, "elements": [ { "commentStart": 2223, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2226, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2229, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2240, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2252, "end": 0, "name": { "commentStart": 2252, "end": 0, "name": "nTeeth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "type": "LabeledArg", "label": { "commentStart": 2267, "end": 0, "name": "arcDegrees", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2280, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 2292, "end": 0, "name": "rotateDuplicates", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2311, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "abs_path": false, "commentStart": 2162, "end": 0, "name": { "commentStart": 2162, "end": 0, "name": "patternCircular3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2162, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1924, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "5": [ { "commentStart": 2322, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Define the constants of the keyway and the bore hole", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2380, "declaration": { "commentStart": 2380, "end": 0, "id": { "commentStart": 2380, "end": 0, "name": "keywayWidth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 2394, "end": 0, "raw": "0.250", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.25, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2400, "declaration": { "commentStart": 2400, "end": 0, "id": { "commentStart": 2400, "end": 0, "name": "keywayDepth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 2414, "end": 0, "left": { "abs_path": false, "commentStart": 2414, "end": 0, "name": { "commentStart": 2414, "end": 0, "name": "keywayWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2428, "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", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2430, "declaration": { "commentStart": 2430, "end": 0, "id": { "commentStart": 2430, "end": 0, "name": "holeDiam", "start": 0, "type": "Identifier" }, "init": { "commentStart": 2441, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2443, "declaration": { "commentStart": 2443, "end": 0, "id": { "commentStart": 2443, "end": 0, "name": "holeRadius", "start": 0, "type": "Identifier" }, "init": { "commentStart": 2456, "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": 2458, "declaration": { "commentStart": 2458, "end": 0, "id": { "commentStart": 2458, "end": 0, "name": "startAngle", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "commentStart": 2476, "end": 0, "left": { "commentStart": 2476, "end": 0, "left": { "abs_path": false, "commentStart": 2476, "end": 0, "name": { "commentStart": 2476, "end": 0, "name": "keywayWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "/", "right": { "commentStart": 2490, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "abs_path": false, "commentStart": 2494, "end": 0, "name": { "commentStart": 2494, "end": 0, "name": "holeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "callee": { "abs_path": false, "commentStart": 2471, "end": 0, "name": { "commentStart": 2471, "end": 0, "name": "asin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2471, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 2505, "declaration": { "commentStart": 2556, "end": 0, "id": { "commentStart": 2556, "end": 0, "name": "keyWay", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 2579, "end": 0, "name": { "commentStart": 2579, "end": 0, "name": "body", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 2585, "end": 0, "raw": "'END'", "start": 0, "type": "Literal", "type": "Literal", "value": "END" } ], "callee": { "abs_path": false, "commentStart": 2565, "end": 0, "name": { "commentStart": 2565, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2565, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2612, "elements": [ { "commentStart": 2621, "end": 0, "left": { "abs_path": false, "commentStart": 2621, "end": 0, "name": { "commentStart": 2621, "end": 0, "name": "holeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "arguments": [ { "abs_path": false, "commentStart": 2638, "end": 0, "name": { "commentStart": 2638, "end": 0, "name": "startAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2634, "end": 0, "name": { "commentStart": 2634, "end": 0, "name": "cos", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2634, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 2658, "end": 0, "left": { "abs_path": false, "commentStart": 2658, "end": 0, "name": { "commentStart": 2658, "end": 0, "name": "holeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "arguments": [ { "abs_path": false, "commentStart": 2675, "end": 0, "name": { "commentStart": 2675, "end": 0, "name": "startAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2671, "end": 0, "name": { "commentStart": 2671, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2671, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 2695, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2597, "end": 0, "name": { "commentStart": 2597, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2597, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2709, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2718, "end": 0, "name": { "commentStart": 2718, "end": 0, "name": "keywayDepth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2703, "end": 0, "name": { "commentStart": 2703, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2703, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2742, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 2752, "end": 0, "name": { "commentStart": 2752, "end": 0, "name": "keywayWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 2751, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 2736, "end": 0, "name": { "commentStart": 2736, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2736, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2776, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 2786, "end": 0, "name": { "commentStart": 2786, "end": 0, "name": "keywayDepth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 2785, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 2770, "end": 0, "name": { "commentStart": 2770, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2770, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 2808, "end": 0, "properties": [ { "commentStart": 2817, "end": 0, "key": { "commentStart": 2817, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2828, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } }, { "commentStart": 2840, "end": 0, "key": { "commentStart": 2840, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2853, "end": 0, "left": { "commentStart": 2853, "end": 0, "left": { "commentStart": 2853, "end": 0, "left": { "commentStart": 2853, "end": 0, "left": { "argument": { "commentStart": 2854, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 2853, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "commentStart": 2858, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "/", "right": { "abs_path": false, "commentStart": 2864, "end": 0, "name": { "commentStart": 2864, "end": 0, "name": "PI", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 2869, "end": 0, "name": { "commentStart": 2869, "end": 0, "name": "startAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 2882, "end": 0, "raw": "360", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 360.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 2894, "end": 0, "key": { "commentStart": 2894, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 2903, "end": 0, "name": { "commentStart": 2903, "end": 0, "name": "holeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2922, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2804, "end": 0, "name": { "commentStart": 2804, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2804, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2934, "end": 0, "properties": [ { "commentStart": 2943, "end": 0, "key": { "commentStart": 2943, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2954, "end": 0, "left": { "commentStart": 2954, "end": 0, "left": { "commentStart": 2954, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "operator": "/", "right": { "abs_path": false, "commentStart": 2960, "end": 0, "name": { "commentStart": 2960, "end": 0, "name": "PI", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 2965, "end": 0, "name": { "commentStart": 2965, "end": 0, "name": "startAngle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 2984, "end": 0, "key": { "commentStart": 2984, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2997, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } }, { "commentStart": 3009, "end": 0, "key": { "commentStart": 3009, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 3018, "end": 0, "name": { "commentStart": 3018, "end": 0, "name": "holeRadius", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 3037, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2930, "end": 0, "name": { "commentStart": 2930, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2930, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 3045, "end": 0, "name": { "commentStart": 3045, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3045, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 3066, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 3076, "end": 0, "name": { "commentStart": 3076, "end": 0, "name": "gearHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 3075, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 3058, "end": 0, "name": { "commentStart": 3058, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3058, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 2565, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Sketch the keyway and center hole and extrude" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 440, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Spur Gear", "// A rotating machine part having cut teeth or, in the case of a cogwheel, inserted teeth (called cogs), which mesh with another toothed part to transmit torque. Geared devices can change the speed, torque, and direction of a power source. The two elements that define a gear are its circular shape and the teeth that are integrated into its outer edge, which are designed to fit into the teeth of another gear.", "", "", "// Set Units" ], "properties": [ { "commentStart": 449, "end": 0, "key": { "commentStart": 449, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 469, "end": 0, "name": { "commentStart": 469, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": { "13": [ { "commentStart": 1206, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "15": [ { "commentStart": 1433, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "17": [ { "commentStart": 1604, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [ { "commentStart": 472, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }