--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing keyboard.kcl --- { "Ok": { "body": [ { "commentStart": 109, "declaration": { "commentStart": 132, "end": 0, "id": { "commentStart": 132, "end": 0, "name": "baseColor", "start": 0, "type": "Identifier" }, "init": { "commentStart": 144, "end": 0, "raw": "\"#0f0f0f\"", "start": 0, "type": "Literal", "type": "Literal", "value": "#0f0f0f" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "// Define parameters" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 154, "declaration": { "commentStart": 154, "end": 0, "id": { "commentStart": 154, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "init": { "commentStart": 172, "end": 0, "raw": "\"#b0b0b0\"", "start": 0, "type": "Literal", "type": "Literal", "value": "#b0b0b0" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 182, "declaration": { "commentStart": 182, "end": 0, "id": { "commentStart": 182, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "init": { "commentStart": 200, "end": 0, "raw": "\"#23af93\"", "start": 0, "type": "Literal", "type": "Literal", "value": "#23af93" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 210, "declaration": { "commentStart": 210, "end": 0, "id": { "commentStart": 210, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "init": { "commentStart": 222, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 226, "declaration": { "commentStart": 226, "end": 0, "id": { "commentStart": 226, "end": 0, "name": "keyDepth", "start": 0, "type": "Identifier" }, "init": { "commentStart": 237, "end": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 241, "declaration": { "commentStart": 241, "end": 0, "id": { "commentStart": 241, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "init": { "commentStart": 251, "end": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 255, "declaration": { "commentStart": 255, "end": 0, "id": { "commentStart": 255, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "init": { "commentStart": 262, "end": 0, "left": { "abs_path": false, "commentStart": 262, "end": 0, "name": { "commentStart": 262, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 272, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 274, "declaration": { "commentStart": 274, "end": 0, "id": { "commentStart": 274, "end": 0, "name": "row2", "start": 0, "type": "Identifier" }, "init": { "commentStart": 281, "end": 0, "left": { "commentStart": 281, "end": 0, "left": { "abs_path": false, "commentStart": 281, "end": 0, "name": { "commentStart": 281, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 288, "end": 0, "name": { "commentStart": 288, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 300, "end": 0, "name": { "commentStart": 300, "end": 0, "name": "spacing", "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": 308, "declaration": { "commentStart": 308, "end": 0, "id": { "commentStart": 308, "end": 0, "name": "row3", "start": 0, "type": "Identifier" }, "init": { "commentStart": 315, "end": 0, "left": { "commentStart": 315, "end": 0, "left": { "abs_path": false, "commentStart": 315, "end": 0, "name": { "commentStart": 315, "end": 0, "name": "row2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 322, "end": 0, "name": { "commentStart": 322, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 334, "end": 0, "name": { "commentStart": 334, "end": 0, "name": "spacing", "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": 342, "declaration": { "commentStart": 342, "end": 0, "id": { "commentStart": 342, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "init": { "commentStart": 349, "end": 0, "left": { "commentStart": 349, "end": 0, "left": { "abs_path": false, "commentStart": 349, "end": 0, "name": { "commentStart": 349, "end": 0, "name": "row3", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 356, "end": 0, "name": { "commentStart": 356, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 368, "end": 0, "name": { "commentStart": 368, "end": 0, "name": "spacing", "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": 376, "declaration": { "commentStart": 376, "end": 0, "id": { "commentStart": 376, "end": 0, "name": "row5", "start": 0, "type": "Identifier" }, "init": { "commentStart": 383, "end": 0, "left": { "commentStart": 383, "end": 0, "left": { "abs_path": false, "commentStart": 383, "end": 0, "name": { "commentStart": 383, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 390, "end": 0, "name": { "commentStart": 390, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 402, "end": 0, "name": { "commentStart": 402, "end": 0, "name": "spacing", "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": 410, "declaration": { "commentStart": 410, "end": 0, "id": { "commentStart": 410, "end": 0, "name": "row6", "start": 0, "type": "Identifier" }, "init": { "commentStart": 417, "end": 0, "left": { "commentStart": 417, "end": 0, "left": { "abs_path": false, "commentStart": 417, "end": 0, "name": { "commentStart": 417, "end": 0, "name": "row5", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 424, "end": 0, "name": { "commentStart": 424, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "abs_path": false, "commentStart": 436, "end": 0, "name": { "commentStart": 436, "end": 0, "name": "spacing", "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": 443, "declaration": { "commentStart": 520, "end": 0, "id": { "commentStart": 520, "end": 0, "name": "sketch001", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 546, "end": 0, "name": { "commentStart": 546, "end": 0, "name": "YZ", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 532, "end": 0, "name": { "commentStart": 532, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 532, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 570, "elements": [ { "commentStart": 571, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 574, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 578, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 555, "end": 0, "name": { "commentStart": 555, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 555, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 591, "end": 0, "name": "end", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 597, "elements": [ { "argument": { "commentStart": 599, "end": 0, "raw": "0.14", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.14, "suffix": "None" } }, "commentStart": 598, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 605, "end": 0, "raw": "0.68", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.68, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 612, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 618, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg01" } } ], "callee": { "abs_path": false, "commentStart": 586, "end": 0, "name": { "commentStart": 586, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 586, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 642, "elements": [ { "commentStart": 643, "end": 0, "raw": "7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 7.0, "suffix": "None" } }, { "commentStart": 646, "end": 0, "left": { "commentStart": 646, "end": 0, "left": { "abs_path": false, "commentStart": 646, "end": 0, "name": { "commentStart": 646, "end": 0, "name": "row6", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 653, "end": 0, "left": { "commentStart": 653, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 657, "end": 0, "name": { "commentStart": 657, "end": 0, "name": "spacing", "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": { "abs_path": false, "commentStart": 667, "end": 0, "name": { "commentStart": 667, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 679, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "commentStart": 682, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg02" } ], "callee": { "abs_path": false, "commentStart": 631, "end": 0, "name": { "commentStart": 631, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 631, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 700, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 714, "elements": [ { "commentStart": 715, "end": 0, "raw": "5.13", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.13, "suffix": "None" } }, { "commentStart": 721, "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": 725, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 731, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg03" } } ], "callee": { "abs_path": false, "commentStart": 695, "end": 0, "name": { "commentStart": 695, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 695, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 749, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 763, "elements": [ { "arguments": [ { "commentStart": 778, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 764, "end": 0, "name": { "commentStart": 764, "end": 0, "name": "profileStartX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 764, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 796, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 782, "end": 0, "name": { "commentStart": 782, "end": 0, "name": "profileStartY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 782, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 801, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 807, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg04" } } ], "callee": { "abs_path": false, "commentStart": 744, "end": 0, "name": { "commentStart": 744, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 744, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 820, "end": 0, "name": { "commentStart": 820, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 820, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 841, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 850, "end": 0, "raw": "13.6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 13.6, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 833, "end": 0, "name": { "commentStart": 833, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 833, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 872, "end": 0, "name": "color", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 880, "end": 0, "name": { "commentStart": 880, "end": 0, "name": "baseColor", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 861, "end": 0, "name": { "commentStart": 861, "end": 0, "name": "appearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 861, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 911, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 920, "end": 0, "raw": ".6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.6, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 931, "end": 0, "name": "tags", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 938, "elements": [ { "arguments": [ { "abs_path": false, "commentStart": 965, "end": 0, "name": { "commentStart": 965, "end": 0, "name": "seg01", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 949, "end": 0, "name": { "commentStart": 949, "end": 0, "name": "getOppositeEdge", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 949, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "abs_path": false, "commentStart": 998, "end": 0, "name": { "commentStart": 998, "end": 0, "name": "seg03", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 982, "end": 0, "name": { "commentStart": 982, "end": 0, "name": "getOppositeEdge", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 982, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "abs_path": false, "commentStart": 1015, "end": 0, "name": { "commentStart": 1015, "end": 0, "name": "seg01", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1031, "end": 0, "name": { "commentStart": 1031, "end": 0, "name": "seg03", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 896, "end": 0, "name": { "commentStart": 896, "end": 0, "name": "fillet", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 896, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 532, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "9": [ { "commentStart": 1053, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "Create a short cylindrical foot at each corner of the keyboard", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Sketch the side profile of the keyboard base and extrude to total width" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1121, "declaration": { "commentStart": 1121, "end": 0, "id": { "commentStart": 1121, "end": 0, "name": "sketch003", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 1147, "end": 0, "name": { "commentStart": 1147, "end": 0, "name": "sketch001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1158, "end": 0, "name": { "commentStart": 1158, "end": 0, "name": "seg04", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1133, "end": 0, "name": { "commentStart": 1133, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1133, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1165, "declaration": { "commentStart": 1165, "end": 0, "id": { "commentStart": 1165, "end": 0, "name": "profile001", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1196, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1205, "elements": [ { "commentStart": 1206, "end": 0, "raw": "0.75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.75, "suffix": "None" } }, { "commentStart": 1212, "end": 0, "raw": "0.75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.75, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1219, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1228, "end": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1178, "end": 0, "name": { "commentStart": 1178, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1178, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1185, "end": 0, "name": { "commentStart": 1185, "end": 0, "name": "sketch003", "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": 1233, "declaration": { "commentStart": 1233, "end": 0, "id": { "commentStart": 1233, "end": 0, "name": "profile003", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1264, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1273, "elements": [ { "commentStart": 1274, "end": 0, "raw": "4.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.4, "suffix": "None" } }, { "commentStart": 1279, "end": 0, "raw": "0.75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.75, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1286, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1295, "end": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1246, "end": 0, "name": { "commentStart": 1246, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1246, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1253, "end": 0, "name": { "commentStart": 1253, "end": 0, "name": "sketch003", "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": 1300, "declaration": { "commentStart": 1300, "end": 0, "id": { "commentStart": 1300, "end": 0, "name": "profile004", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1331, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1340, "elements": [ { "commentStart": 1341, "end": 0, "raw": "0.73", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.73, "suffix": "None" } }, { "commentStart": 1347, "end": 0, "left": { "commentStart": 1347, "end": 0, "raw": "13.6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 13.6, "suffix": "None" } }, "operator": "-", "right": { "commentStart": 1354, "end": 0, "raw": ".75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.75, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1360, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1369, "end": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1313, "end": 0, "name": { "commentStart": 1313, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1313, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1320, "end": 0, "name": { "commentStart": 1320, "end": 0, "name": "sketch003", "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": 1374, "declaration": { "commentStart": 1374, "end": 0, "id": { "commentStart": 1374, "end": 0, "name": "profile005", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1405, "end": 0, "name": "center", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1414, "elements": [ { "commentStart": 1415, "end": 0, "raw": "4.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.4, "suffix": "None" } }, { "commentStart": 1420, "end": 0, "left": { "commentStart": 1420, "end": 0, "raw": "13.6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 13.6, "suffix": "None" } }, "operator": "-", "right": { "commentStart": 1427, "end": 0, "raw": ".75", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.75, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1433, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1442, "end": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1387, "end": 0, "name": { "commentStart": 1387, "end": 0, "name": "circle", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1387, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "abs_path": false, "commentStart": 1394, "end": 0, "name": { "commentStart": 1394, "end": 0, "name": "sketch003", "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": 1447, "end": 0, "expression": { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1530, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1539, "end": 0, "raw": ".15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } } } ], "callee": { "abs_path": false, "commentStart": 1447, "end": 0, "name": { "commentStart": 1447, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1447, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 1458, "elements": [ { "abs_path": false, "commentStart": 1464, "end": 0, "name": { "commentStart": 1464, "end": 0, "name": "profile001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1480, "end": 0, "name": { "commentStart": 1480, "end": 0, "name": "profile003", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1496, "end": 0, "name": { "commentStart": 1496, "end": 0, "name": "profile004", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "abs_path": false, "commentStart": 1512, "end": 0, "name": { "commentStart": 1512, "end": 0, "name": "profile005", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1545, "declaration": { "commentStart": 1594, "end": 0, "id": { "commentStart": 1594, "end": 0, "name": "plane001", "start": 0, "type": "Identifier" }, "init": { "commentStart": 1605, "end": 0, "properties": [ { "commentStart": 1609, "end": 0, "key": { "commentStart": 1609, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1617, "end": 0, "properties": [ { "commentStart": 1623, "end": 0, "key": { "commentStart": 1623, "end": 0, "name": "origin", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1632, "elements": [ { "commentStart": 1633, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1638, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1643, "end": 0, "raw": "0.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.7, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1653, "end": 0, "key": { "commentStart": 1653, "end": 0, "name": "xAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1661, "elements": [ { "commentStart": 1662, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 1667, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1672, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1682, "end": 0, "key": { "commentStart": 1682, "end": 0, "name": "yAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1690, "elements": [ { "commentStart": 1691, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1696, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "arguments": [ { "arguments": [ { "commentStart": 1715, "end": 0, "raw": "7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 7.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 1705, "end": 0, "name": { "commentStart": 1705, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1705, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 1701, "end": 0, "name": { "commentStart": 1701, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1701, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 1725, "end": 0, "key": { "commentStart": 1725, "end": 0, "name": "zAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 1733, "elements": [ { "commentStart": 1734, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1739, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 1744, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Define the plane to sketch keyboard keys on" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1754, "declaration": { "commentStart": 1881, "end": 0, "id": { "commentStart": 1881, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 1941, "declaration": { "commentStart": 1941, "end": 0, "id": { "commentStart": 1941, "end": 0, "name": "sketch002", "start": 0, "type": "Identifier" }, "init": { "arguments": [ { "abs_path": false, "commentStart": 1967, "end": 0, "name": { "commentStart": 1967, "end": 0, "name": "plane001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1953, "end": 0, "name": { "commentStart": 1953, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1953, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 1979, "declaration": { "commentStart": 1979, "end": 0, "id": { "commentStart": 1979, "end": 0, "name": "profile002", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "commentStart": 2007, "elements": [ { "commentStart": 2008, "computed": false, "end": 0, "object": { "commentStart": 2008, "end": 0, "name": "originStart", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 2020, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, { "commentStart": 2024, "computed": false, "end": 0, "object": { "commentStart": 2024, "end": 0, "name": "originStart", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 2036, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "abs_path": false, "commentStart": 2041, "end": 0, "name": { "commentStart": 2041, "end": 0, "name": "sketch002", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 1992, "end": 0, "name": { "commentStart": 1992, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 1992, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2063, "end": 0, "properties": [ { "commentStart": 2074, "end": 0, "key": { "commentStart": 2074, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2087, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } }, { "commentStart": 2101, "end": 0, "key": { "commentStart": 2101, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2112, "end": 0, "raw": "270", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 270.0, "suffix": "None" } } }, { "commentStart": 2126, "end": 0, "key": { "commentStart": 2126, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2135, "end": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2149, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2059, "end": 0, "name": { "commentStart": 2059, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2059, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2170, "elements": [ { "commentStart": 2171, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 2174, "end": 0, "left": { "abs_path": false, "commentStart": 2174, "end": 0, "name": { "commentStart": 2174, "end": 0, "name": "keyWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 2185, "end": 0, "raw": ".2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.2, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 2190, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "commentStart": 2193, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentA001" } ], "callee": { "abs_path": false, "commentStart": 2159, "end": 0, "name": { "commentStart": 2159, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2159, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2237, "end": 0, "properties": [ { "commentStart": 2239, "end": 0, "key": { "commentStart": 2239, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2248, "end": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } } }, { "commentStart": 2253, "end": 0, "key": { "commentStart": 2253, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2262, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2268, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2223, "end": 0, "name": { "commentStart": 2223, "end": 0, "name": "tangentialArc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2223, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2289, "elements": [ { "commentStart": 2300, "end": 0, "left": { "arguments": [ { "abs_path": false, "commentStart": 2307, "end": 0, "name": { "commentStart": 2307, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2300, "end": 0, "name": { "commentStart": 2300, "end": 0, "name": "segAng", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2300, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "operator": "+", "right": { "commentStart": 2331, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 2344, "end": 0, "left": { "abs_path": false, "commentStart": 2344, "end": 0, "name": { "commentStart": 2344, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "-", "right": { "commentStart": 2356, "end": 0, "raw": ".2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.2, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 2369, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "commentStart": 2372, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentB001" } ], "callee": { "abs_path": false, "commentStart": 2278, "end": 0, "name": { "commentStart": 2278, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2278, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2416, "end": 0, "properties": [ { "commentStart": 2418, "end": 0, "key": { "commentStart": 2418, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2427, "end": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } } }, { "commentStart": 2432, "end": 0, "key": { "commentStart": 2432, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2441, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2447, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2402, "end": 0, "name": { "commentStart": 2402, "end": 0, "name": "tangentialArc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2402, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2468, "elements": [ { "arguments": [ { "abs_path": false, "commentStart": 2486, "end": 0, "name": { "commentStart": 2486, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2479, "end": 0, "name": { "commentStart": 2479, "end": 0, "name": "segAng", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2479, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "argument": { "arguments": [ { "abs_path": false, "commentStart": 2526, "end": 0, "name": { "commentStart": 2526, "end": 0, "name": "rectangleSegmentA001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 2519, "end": 0, "name": { "commentStart": 2519, "end": 0, "name": "segLen", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2519, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "commentStart": 2518, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 2558, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "commentStart": 2561, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentC001" } ], "callee": { "abs_path": false, "commentStart": 2457, "end": 0, "name": { "commentStart": 2457, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2457, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2605, "end": 0, "properties": [ { "commentStart": 2607, "end": 0, "key": { "commentStart": 2607, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2616, "end": 0, "raw": "0.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } } }, { "commentStart": 2621, "end": 0, "key": { "commentStart": 2621, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 2630, "end": 0, "raw": "90", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 90.0, "suffix": "None" } } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 2636, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2591, "end": 0, "name": { "commentStart": 2591, "end": 0, "name": "tangentialArc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2591, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2651, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2665, "elements": [ { "arguments": [ { "commentStart": 2680, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2666, "end": 0, "name": { "commentStart": 2666, "end": 0, "name": "profileStartX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2666, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 2698, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 2684, "end": 0, "name": { "commentStart": 2684, "end": 0, "name": "profileStartY", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2684, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2703, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2709, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "rectangleSegmentD001" } } ], "callee": { "abs_path": false, "commentStart": 2646, "end": 0, "name": { "commentStart": 2646, "end": 0, "name": "line", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2646, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 2739, "end": 0, "name": { "commentStart": 2739, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2739, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2762, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2771, "end": 0, "name": { "commentStart": 2771, "end": 0, "name": "keyDepth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2754, "end": 0, "name": { "commentStart": 2754, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2754, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2799, "end": 0, "name": "color", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 2807, "end": 0, "name": { "commentStart": 2807, "end": 0, "name": "color", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 2788, "end": 0, "name": { "commentStart": 2788, "end": 0, "name": "appearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2788, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 2917, "end": 0, "name": "instances", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2929, "end": 0, "left": { "abs_path": false, "commentStart": 2929, "end": 0, "name": { "commentStart": 2929, "end": 0, "name": "repeats", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 2939, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2951, "end": 0, "name": "distance", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2962, "end": 0, "left": { "abs_path": false, "commentStart": 2962, "end": 0, "name": { "commentStart": 2962, "end": 0, "name": "keyWidth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "abs_path": false, "commentStart": 2973, "end": 0, "name": { "commentStart": 2973, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 2991, "end": 0, "name": "axis", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 2998, "elements": [ { "commentStart": 2999, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 3002, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 3005, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "abs_path": false, "commentStart": 2879, "end": 0, "name": { "commentStart": 2879, "end": 0, "name": "patternLinear3d", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 2879, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 2905, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } } ], "commentStart": 1992, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "11": [ { "commentStart": 2817, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "blockComment", "value": "Repeat key when desired. This will default to zero", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 3027, "end": 0, "name": { "commentStart": 3027, "end": 0, "name": "sketch001", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 3020, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 1937, "end": 0, "start": 0 }, "commentStart": 1886, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 1887, "end": 0, "name": "originStart", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1900, "end": 0, "name": "keyWidth", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1910, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1921, "end": 0, "name": "repeats", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 1930, "end": 0, "name": "color", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Create a function to build a key. Parameterize for position, width, height, number of instances, and appearance color." ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 3038, "end": 0, "expression": { "arguments": [ { "commentStart": 3077, "elements": [ { "commentStart": 3078, "end": 0, "raw": "0.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.3, "suffix": "None" } }, { "abs_path": false, "commentStart": 3083, "end": 0, "name": { "commentStart": 3083, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3090, "end": 0, "raw": "1.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.1, "suffix": "None" } }, { "abs_path": false, "commentStart": 3095, "end": 0, "name": { "commentStart": 3095, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3106, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3109, "end": 0, "name": { "commentStart": 3109, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3071, "end": 0, "name": { "commentStart": 3071, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3071, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Build the first row of keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3126, "end": 0, "expression": { "arguments": [ { "commentStart": 3132, "elements": [ { "commentStart": 3133, "end": 0, "raw": "1.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.5, "suffix": "None" } }, { "abs_path": false, "commentStart": 3138, "end": 0, "name": { "commentStart": 3138, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3145, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 3150, "end": 0, "name": { "commentStart": 3150, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3161, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3164, "end": 0, "name": { "commentStart": 3164, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3126, "end": 0, "name": { "commentStart": 3126, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3126, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3181, "end": 0, "expression": { "arguments": [ { "commentStart": 3187, "elements": [ { "commentStart": 3188, "end": 0, "left": { "commentStart": 3188, "end": 0, "left": { "abs_path": false, "commentStart": 3188, "end": 0, "name": { "commentStart": 3188, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3198, "end": 0, "raw": "7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 7.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3202, "end": 0, "raw": "3.5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.5, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3207, "end": 0, "name": { "commentStart": 3207, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3214, "end": 0, "raw": "5.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 5.2, "suffix": "None" } }, { "abs_path": false, "commentStart": 3219, "end": 0, "name": { "commentStart": 3219, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3230, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3233, "end": 0, "name": { "commentStart": 3233, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3181, "end": 0, "name": { "commentStart": 3181, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3181, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3250, "end": 0, "expression": { "arguments": [ { "commentStart": 3256, "elements": [ { "commentStart": 3257, "end": 0, "left": { "commentStart": 3257, "end": 0, "left": { "abs_path": false, "commentStart": 3257, "end": 0, "name": { "commentStart": 3257, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3267, "end": 0, "raw": "8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3271, "end": 0, "raw": "8.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.7, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3276, "end": 0, "name": { "commentStart": 3276, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3283, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 3288, "end": 0, "name": { "commentStart": 3288, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3299, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3302, "end": 0, "name": { "commentStart": 3302, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3250, "end": 0, "name": { "commentStart": 3250, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3250, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3319, "end": 0, "expression": { "arguments": [ { "commentStart": 3325, "elements": [ { "commentStart": 3326, "end": 0, "left": { "commentStart": 3326, "end": 0, "left": { "abs_path": false, "commentStart": 3326, "end": 0, "name": { "commentStart": 3326, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3336, "end": 0, "raw": "8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3340, "end": 0, "raw": "9.6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 9.6, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3345, "end": 0, "name": { "commentStart": 3345, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3352, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 3357, "end": 0, "name": { "commentStart": 3357, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3368, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3371, "end": 0, "name": { "commentStart": 3371, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3319, "end": 0, "name": { "commentStart": 3319, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3319, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3388, "end": 0, "expression": { "arguments": [ { "commentStart": 3394, "elements": [ { "commentStart": 3395, "end": 0, "left": { "commentStart": 3395, "end": 0, "left": { "abs_path": false, "commentStart": 3395, "end": 0, "name": { "commentStart": 3395, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3405, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3410, "end": 0, "raw": "10.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.3, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3416, "end": 0, "name": { "commentStart": 3416, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3423, "end": 0, "raw": "1.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.1, "suffix": "None" } }, { "abs_path": false, "commentStart": 3428, "end": 0, "name": { "commentStart": 3428, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3439, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3442, "end": 0, "name": { "commentStart": 3442, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3388, "end": 0, "name": { "commentStart": 3388, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3388, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3459, "end": 0, "expression": { "arguments": [ { "commentStart": 3465, "elements": [ { "commentStart": 3466, "end": 0, "left": { "commentStart": 3466, "end": 0, "left": { "commentStart": 3466, "end": 0, "left": { "abs_path": false, "commentStart": 3466, "end": 0, "name": { "commentStart": 3466, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3476, "end": 0, "raw": "12", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 12.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3481, "end": 0, "raw": "10.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.3, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3488, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3491, "end": 0, "name": { "commentStart": 3491, "end": 0, "name": "row1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3498, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 3503, "end": 0, "name": { "commentStart": 3503, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3514, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3517, "end": 0, "name": { "commentStart": 3517, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3459, "end": 0, "name": { "commentStart": 3459, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3459, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3533, "end": 0, "expression": { "arguments": [ { "commentStart": 3573, "elements": [ { "commentStart": 3574, "end": 0, "left": { "abs_path": false, "commentStart": 3574, "end": 0, "name": { "commentStart": 3574, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3584, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3587, "end": 0, "name": { "commentStart": 3587, "end": 0, "name": "row2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3594, "end": 0, "raw": "1.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.7, "suffix": "None" } }, { "abs_path": false, "commentStart": 3599, "end": 0, "name": { "commentStart": 3599, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3610, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3613, "end": 0, "name": { "commentStart": 3613, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3567, "end": 0, "name": { "commentStart": 3567, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3567, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Build the second row of keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3630, "end": 0, "expression": { "arguments": [ { "commentStart": 3636, "elements": [ { "commentStart": 3637, "end": 0, "left": { "commentStart": 3637, "end": 0, "left": { "abs_path": false, "commentStart": 3637, "end": 0, "name": { "commentStart": 3637, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3647, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3651, "end": 0, "raw": "1.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.7, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3656, "end": 0, "name": { "commentStart": 3656, "end": 0, "name": "row2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3663, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 3668, "end": 0, "name": { "commentStart": 3668, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3679, "end": 0, "raw": "9", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 9.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3682, "end": 0, "name": { "commentStart": 3682, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3630, "end": 0, "name": { "commentStart": 3630, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3630, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3699, "end": 0, "expression": { "arguments": [ { "commentStart": 3705, "elements": [ { "commentStart": 3706, "end": 0, "left": { "commentStart": 3706, "end": 0, "left": { "commentStart": 3706, "end": 0, "left": { "abs_path": false, "commentStart": 3706, "end": 0, "name": { "commentStart": 3706, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3716, "end": 0, "raw": "14", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 14.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3721, "end": 0, "raw": "1.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.7, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3727, "end": 0, "left": { "commentStart": 3727, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, "operator": "*", "right": { "commentStart": 3733, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3737, "end": 0, "name": { "commentStart": 3737, "end": 0, "name": "row2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3744, "end": 0, "raw": "2.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.2, "suffix": "None" } }, { "abs_path": false, "commentStart": 3749, "end": 0, "name": { "commentStart": 3749, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3760, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3763, "end": 0, "name": { "commentStart": 3763, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3699, "end": 0, "name": { "commentStart": 3699, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3699, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3779, "end": 0, "expression": { "arguments": [ { "commentStart": 3818, "elements": [ { "commentStart": 3819, "end": 0, "left": { "abs_path": false, "commentStart": 3819, "end": 0, "name": { "commentStart": 3819, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3829, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3832, "end": 0, "name": { "commentStart": 3832, "end": 0, "name": "row3", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3839, "end": 0, "left": { "commentStart": 3839, "end": 0, "raw": "1.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.1, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 3845, "end": 0, "raw": ".1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3849, "end": 0, "name": { "commentStart": 3849, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3860, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3863, "end": 0, "name": { "commentStart": 3863, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3812, "end": 0, "name": { "commentStart": 3812, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3812, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Build the third row of keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3880, "end": 0, "expression": { "arguments": [ { "commentStart": 3886, "elements": [ { "commentStart": 3887, "end": 0, "left": { "commentStart": 3887, "end": 0, "left": { "commentStart": 3887, "end": 0, "left": { "abs_path": false, "commentStart": 3887, "end": 0, "name": { "commentStart": 3887, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3897, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3901, "end": 0, "raw": "1.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.1, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3907, "end": 0, "raw": ".1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3911, "end": 0, "name": { "commentStart": 3911, "end": 0, "name": "row3", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3918, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 3923, "end": 0, "name": { "commentStart": 3923, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 3934, "end": 0, "raw": "10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 10.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 3938, "end": 0, "name": { "commentStart": 3938, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3880, "end": 0, "name": { "commentStart": 3880, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3880, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 3955, "end": 0, "expression": { "arguments": [ { "commentStart": 3961, "elements": [ { "commentStart": 3962, "end": 0, "left": { "commentStart": 3962, "end": 0, "left": { "commentStart": 3962, "end": 0, "left": { "abs_path": false, "commentStart": 3962, "end": 0, "name": { "commentStart": 3962, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 3972, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3976, "end": 0, "raw": "11.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.1, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 3983, "end": 0, "raw": ".1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 3987, "end": 0, "name": { "commentStart": 3987, "end": 0, "name": "row3", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 3994, "end": 0, "left": { "commentStart": 3994, "end": 0, "raw": "1.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.4, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 4000, "end": 0, "raw": ".4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4004, "end": 0, "name": { "commentStart": 4004, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 4015, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4018, "end": 0, "name": { "commentStart": 4018, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 3955, "end": 0, "name": { "commentStart": 3955, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 3955, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4034, "end": 0, "expression": { "arguments": [ { "commentStart": 4074, "elements": [ { "commentStart": 4075, "end": 0, "left": { "abs_path": false, "commentStart": 4075, "end": 0, "name": { "commentStart": 4075, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4085, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4088, "end": 0, "name": { "commentStart": 4088, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4095, "end": 0, "raw": "0.9", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.9, "suffix": "None" } }, { "abs_path": false, "commentStart": 4100, "end": 0, "name": { "commentStart": 4100, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 4111, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4114, "end": 0, "name": { "commentStart": 4114, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4068, "end": 0, "name": { "commentStart": 4068, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4068, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Build the fourth row of keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4131, "end": 0, "expression": { "arguments": [ { "commentStart": 4137, "elements": [ { "commentStart": 4138, "end": 0, "left": { "commentStart": 4138, "end": 0, "left": { "abs_path": false, "commentStart": 4138, "end": 0, "name": { "commentStart": 4138, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4148, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 4152, "end": 0, "raw": "0.9", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.9, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4157, "end": 0, "name": { "commentStart": 4157, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4164, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 4169, "end": 0, "name": { "commentStart": 4169, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 4180, "end": 0, "raw": "11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4184, "end": 0, "name": { "commentStart": 4184, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4131, "end": 0, "name": { "commentStart": 4131, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4131, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4201, "end": 0, "expression": { "arguments": [ { "commentStart": 4207, "elements": [ { "commentStart": 4208, "end": 0, "left": { "commentStart": 4208, "end": 0, "left": { "abs_path": false, "commentStart": 4208, "end": 0, "name": { "commentStart": 4208, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4218, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 4222, "end": 0, "raw": "11.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.8, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4228, "end": 0, "name": { "commentStart": 4228, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4235, "end": 0, "raw": "1.2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.2, "suffix": "None" } }, { "abs_path": false, "commentStart": 4240, "end": 0, "name": { "commentStart": 4240, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 4251, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4254, "end": 0, "name": { "commentStart": 4254, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4201, "end": 0, "name": { "commentStart": 4201, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4201, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4270, "end": 0, "expression": { "arguments": [ { "commentStart": 4309, "elements": [ { "commentStart": 4310, "end": 0, "left": { "abs_path": false, "commentStart": 4310, "end": 0, "name": { "commentStart": 4310, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4320, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4323, "end": 0, "name": { "commentStart": 4323, "end": 0, "name": "row5", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4330, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "abs_path": false, "commentStart": 4335, "end": 0, "name": { "commentStart": 4335, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 4346, "end": 0, "raw": "12", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 12.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4350, "end": 0, "name": { "commentStart": 4350, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4303, "end": 0, "name": { "commentStart": 4303, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4303, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Build the fifth row of keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4367, "end": 0, "expression": { "arguments": [ { "commentStart": 4373, "elements": [ { "commentStart": 4374, "end": 0, "left": { "commentStart": 4374, "end": 0, "left": { "abs_path": false, "commentStart": 4374, "end": 0, "name": { "commentStart": 4374, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4384, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 4388, "end": 0, "raw": "11.7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.7, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4394, "end": 0, "name": { "commentStart": 4394, "end": 0, "name": "row5", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4401, "end": 0, "raw": "1.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.3, "suffix": "None" } }, { "abs_path": false, "commentStart": 4406, "end": 0, "name": { "commentStart": 4406, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, { "commentStart": 4417, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4420, "end": 0, "name": { "commentStart": 4420, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4367, "end": 0, "name": { "commentStart": 4367, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4367, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4436, "end": 0, "expression": { "arguments": [ { "commentStart": 4475, "elements": [ { "commentStart": 4476, "end": 0, "left": { "abs_path": false, "commentStart": 4476, "end": 0, "name": { "commentStart": 4476, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4486, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4489, "end": 0, "name": { "commentStart": 4489, "end": 0, "name": "row6", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4496, "end": 0, "raw": "1.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.1, "suffix": "None" } }, { "commentStart": 4501, "end": 0, "left": { "abs_path": false, "commentStart": 4501, "end": 0, "name": { "commentStart": 4501, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4513, "end": 0, "raw": ".6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.6, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 4517, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4520, "end": 0, "name": { "commentStart": 4520, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4469, "end": 0, "name": { "commentStart": 4469, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4469, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Build the sixth row of keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4537, "end": 0, "expression": { "arguments": [ { "commentStart": 4543, "elements": [ { "commentStart": 4544, "end": 0, "left": { "commentStart": 4544, "end": 0, "left": { "abs_path": false, "commentStart": 4544, "end": 0, "name": { "commentStart": 4544, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4554, "end": 0, "raw": "4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 4.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 4558, "end": 0, "raw": "1.1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.1, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4563, "end": 0, "name": { "commentStart": 4563, "end": 0, "name": "row6", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4570, "end": 0, "raw": "0.8", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.8, "suffix": "None" } }, { "commentStart": 4575, "end": 0, "left": { "abs_path": false, "commentStart": 4575, "end": 0, "name": { "commentStart": 4575, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4587, "end": 0, "raw": ".6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.6, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 4591, "end": 0, "raw": "11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4595, "end": 0, "name": { "commentStart": 4595, "end": 0, "name": "highlightColor1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4537, "end": 0, "name": { "commentStart": 4537, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4537, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4612, "end": 0, "expression": { "arguments": [ { "commentStart": 4618, "elements": [ { "commentStart": 4619, "end": 0, "left": { "commentStart": 4619, "end": 0, "left": { "abs_path": false, "commentStart": 4619, "end": 0, "name": { "commentStart": 4619, "end": 0, "name": "spacing", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4629, "end": 0, "raw": "3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 3.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 4633, "end": 0, "raw": "12", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 12.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "abs_path": false, "commentStart": 4637, "end": 0, "name": { "commentStart": 4637, "end": 0, "name": "row6", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 4644, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 4647, "end": 0, "left": { "abs_path": false, "commentStart": 4647, "end": 0, "name": { "commentStart": 4647, "end": 0, "name": "keyHeight", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "*", "right": { "commentStart": 4659, "end": 0, "raw": ".6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.6, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 4663, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "abs_path": false, "commentStart": 4666, "end": 0, "name": { "commentStart": 4666, "end": 0, "name": "highlightColor2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4612, "end": 0, "name": { "commentStart": 4612, "end": 0, "name": "keyFn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4612, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 4682, "declaration": { "commentStart": 4733, "end": 0, "id": { "commentStart": 4733, "end": 0, "name": "plane002", "start": 0, "type": "Identifier" }, "init": { "commentStart": 4744, "end": 0, "properties": [ { "commentStart": 4748, "end": 0, "key": { "commentStart": 4748, "end": 0, "name": "plane", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 4756, "end": 0, "properties": [ { "commentStart": 4762, "end": 0, "key": { "commentStart": 4762, "end": 0, "name": "origin", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 4771, "elements": [ { "commentStart": 4772, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 4777, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 4782, "end": 0, "raw": ".81", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.81, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 4792, "end": 0, "key": { "commentStart": 4792, "end": 0, "name": "xAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 4800, "elements": [ { "commentStart": 4801, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "commentStart": 4806, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 4811, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 4821, "end": 0, "key": { "commentStart": 4821, "end": 0, "name": "yAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 4829, "elements": [ { "commentStart": 4830, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 4835, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, { "arguments": [ { "arguments": [ { "commentStart": 4854, "end": 0, "raw": "7", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 7.0, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 4844, "end": 0, "name": { "commentStart": 4844, "end": 0, "name": "toRadians", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4844, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "callee": { "abs_path": false, "commentStart": 4840, "end": 0, "name": { "commentStart": 4840, "end": 0, "name": "sin", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4840, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "commentStart": 4864, "end": 0, "key": { "commentStart": 4864, "end": 0, "name": "zAxis", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 4872, "elements": [ { "commentStart": 4873, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 4878, "end": 0, "raw": "0.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "commentStart": 4883, "end": 0, "raw": "1.0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "preComments": [ "", "", "// Create a plane to sketch ZOO brand letters on" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 4893, "declaration": { "commentStart": 4939, "end": 0, "id": { "commentStart": 4939, "end": 0, "name": "z", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 4967, "declaration": { "commentStart": 4967, "end": 0, "id": { "commentStart": 4967, "end": 0, "name": "z", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 4985, "end": 0, "name": { "commentStart": 4985, "end": 0, "name": "plane002", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 4971, "end": 0, "name": { "commentStart": 4971, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 4971, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 5017, "elements": [ { "commentStart": 5028, "end": 0, "left": { "commentStart": 5028, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 5032, "computed": false, "end": 0, "object": { "commentStart": 5032, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 5039, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 5052, "end": 0, "left": { "commentStart": 5052, "end": 0, "left": { "commentStart": 5052, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5059, "end": 0, "name": { "commentStart": 5059, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 5067, "computed": false, "end": 0, "object": { "commentStart": 5067, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 5074, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 5087, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 5002, "end": 0, "name": { "commentStart": 5002, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5002, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5103, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5112, "end": 0, "left": { "argument": { "commentStart": 5113, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "commentStart": 5112, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 5120, "end": 0, "name": { "commentStart": 5120, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5097, "end": 0, "name": { "commentStart": 5097, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5097, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5140, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5149, "end": 0, "left": { "commentStart": 5149, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5156, "end": 0, "name": { "commentStart": 5156, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5134, "end": 0, "name": { "commentStart": 5134, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5134, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 5184, "end": 0, "properties": [ { "commentStart": 5195, "end": 0, "key": { "commentStart": 5195, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5203, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } } }, { "commentStart": 5219, "end": 0, "key": { "commentStart": 5219, "end": 0, "name": "to", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5224, "end": 0, "left": { "commentStart": 5224, "end": 0, "left": { "commentStart": 5224, "end": 0, "raw": "0.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.3, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5230, "end": 0, "name": { "commentStart": 5230, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 5238, "computed": false, "end": 0, "object": { "commentStart": 5238, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 5245, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 5258, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "commentStart": 5261, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg1" } ], "callee": { "abs_path": false, "commentStart": 5170, "end": 0, "name": { "commentStart": 5170, "end": 0, "name": "angledLineToX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5170, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5281, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5295, "end": 0, "left": { "commentStart": 5295, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 5299, "computed": false, "end": 0, "object": { "commentStart": 5299, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 5306, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 5310, "end": 0, "name": "tag", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5316, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg3" } } ], "callee": { "abs_path": false, "commentStart": 5275, "end": 0, "name": { "commentStart": 5275, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5275, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5336, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5345, "end": 0, "left": { "commentStart": 5345, "end": 0, "raw": "0.63", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.63, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5352, "end": 0, "name": { "commentStart": 5352, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5330, "end": 0, "name": { "commentStart": 5330, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5330, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5372, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5381, "end": 0, "left": { "commentStart": 5381, "end": 0, "raw": "0.225", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.225, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5389, "end": 0, "name": { "commentStart": 5389, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5366, "end": 0, "name": { "commentStart": 5366, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5366, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5409, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5418, "end": 0, "left": { "argument": { "commentStart": 5419, "end": 0, "raw": "0.57", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.57, "suffix": "None" } }, "commentStart": 5418, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 5426, "end": 0, "name": { "commentStart": 5426, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5403, "end": 0, "name": { "commentStart": 5403, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5403, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 5454, "end": 0, "properties": [ { "commentStart": 5465, "end": 0, "key": { "commentStart": 5465, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5473, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } } }, { "commentStart": 5489, "end": 0, "key": { "commentStart": 5489, "end": 0, "name": "to", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5494, "end": 0, "left": { "commentStart": 5494, "end": 0, "left": { "commentStart": 5494, "end": 0, "raw": "0.93", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.93, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5501, "end": 0, "name": { "commentStart": 5501, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 5509, "computed": false, "end": 0, "object": { "commentStart": 5509, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 5516, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 5529, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 5440, "end": 0, "name": { "commentStart": 5440, "end": 0, "name": "angledLineToX", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5440, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5545, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5554, "end": 0, "left": { "commentStart": 5554, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 5561, "end": 0, "name": { "commentStart": 5561, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5539, "end": 0, "name": { "commentStart": 5539, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5539, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5581, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5590, "end": 0, "left": { "argument": { "commentStart": 5591, "end": 0, "raw": "0.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.15, "suffix": "None" } }, "commentStart": 5590, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 5598, "end": 0, "name": { "commentStart": 5598, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5575, "end": 0, "name": { "commentStart": 5575, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5575, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 5623, "end": 0, "properties": [ { "commentStart": 5634, "end": 0, "key": { "commentStart": 5634, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5642, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } } }, { "commentStart": 5658, "end": 0, "key": { "commentStart": 5658, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "argument": { "arguments": [ { "abs_path": false, "commentStart": 5675, "end": 0, "name": { "commentStart": 5675, "end": 0, "name": "seg1", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 5668, "end": 0, "name": { "commentStart": 5668, "end": 0, "name": "segLen", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5668, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "commentStart": 5667, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 5691, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" }, { "commentStart": 5694, "end": 0, "start": 0, "type": "TagDeclarator", "type": "TagDeclarator", "value": "seg2" } ], "callee": { "abs_path": false, "commentStart": 5612, "end": 0, "name": { "commentStart": 5612, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5612, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5714, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "arguments": [ { "abs_path": false, "commentStart": 5730, "end": 0, "name": { "commentStart": 5730, "end": 0, "name": "seg3", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 5723, "end": 0, "name": { "commentStart": 5723, "end": 0, "name": "segLen", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5723, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" } } ], "callee": { "abs_path": false, "commentStart": 5708, "end": 0, "name": { "commentStart": 5708, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5708, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5750, "end": 0, "name": "endAbsolute", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5764, "end": 0, "left": { "commentStart": 5764, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 5768, "computed": false, "end": 0, "object": { "commentStart": 5768, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 5775, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5744, "end": 0, "name": { "commentStart": 5744, "end": 0, "name": "xLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5744, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5792, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 5801, "end": 0, "left": { "argument": { "commentStart": 5802, "end": 0, "raw": "0.225", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.225, "suffix": "None" } }, "commentStart": 5801, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 5810, "end": 0, "name": { "commentStart": 5810, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5786, "end": 0, "name": { "commentStart": 5786, "end": 0, "name": "yLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5786, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "commentStart": 5849, "end": 0, "properties": [ { "commentStart": 5860, "end": 0, "key": { "commentStart": 5860, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5868, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "commentStart": 5880, "end": 0, "key": { "commentStart": 5880, "end": 0, "name": "intersectTag", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 5895, "end": 0, "name": { "commentStart": 5895, "end": 0, "name": "seg2", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } }, { "commentStart": 5910, "end": 0, "key": { "commentStart": 5910, "end": 0, "name": "offset", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 5919, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 5931, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 5824, "end": 0, "name": { "commentStart": 5824, "end": 0, "name": "angledLineThatIntersects", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5824, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 5941, "end": 0, "name": { "commentStart": 5941, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5941, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5964, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 5974, "end": 0, "name": { "commentStart": 5974, "end": 0, "name": "depth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 5973, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 5956, "end": 0, "name": { "commentStart": 5956, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5956, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 5999, "end": 0, "name": "color", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 6007, "end": 0, "name": { "commentStart": 6007, "end": 0, "name": "baseColor", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 5988, "end": 0, "name": { "commentStart": 5988, "end": 0, "name": "appearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 5988, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 4971, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 6027, "end": 0, "name": { "commentStart": 6027, "end": 0, "name": "z", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 6020, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 4963, "end": 0, "start": 0 }, "commentStart": 4940, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 4941, "end": 0, "name": "origin", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 4949, "end": 0, "name": "scale", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 4956, "end": 0, "name": "depth", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Define a function to draw the ZOO 'Z'" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 6030, "declaration": { "commentStart": 6076, "end": 0, "id": { "commentStart": 6076, "end": 0, "name": "o", "start": 0, "type": "Identifier" }, "init": { "body": { "body": [ { "commentStart": 6104, "declaration": { "commentStart": 6104, "end": 0, "id": { "commentStart": 6104, "end": 0, "name": "oSketch001", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 6131, "end": 0, "name": { "commentStart": 6131, "end": 0, "name": "plane002", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 6117, "end": 0, "name": { "commentStart": 6117, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6117, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6163, "elements": [ { "commentStart": 6174, "end": 0, "left": { "commentStart": 6174, "end": 0, "left": { "commentStart": 6174, "end": 0, "raw": ".788", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.788, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6181, "end": 0, "name": { "commentStart": 6181, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 6189, "computed": false, "end": 0, "object": { "commentStart": 6189, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 6196, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 6209, "end": 0, "left": { "commentStart": 6209, "end": 0, "left": { "commentStart": 6209, "end": 0, "raw": ".921", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.921, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6216, "end": 0, "name": { "commentStart": 6216, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 6224, "computed": false, "end": 0, "object": { "commentStart": 6224, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 6231, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 6244, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6148, "end": 0, "name": { "commentStart": 6148, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6148, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6258, "end": 0, "properties": [ { "commentStart": 6269, "end": 0, "key": { "commentStart": 6269, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6282, "end": 0, "left": { "commentStart": 6282, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 6290, "end": 0, "raw": "6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 6.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 6302, "end": 0, "key": { "commentStart": 6302, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6313, "end": 0, "left": { "commentStart": 6313, "end": 0, "left": { "commentStart": 6313, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "-", "right": { "commentStart": 6321, "end": 0, "raw": "6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 6.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 6325, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 6339, "end": 0, "key": { "commentStart": 6339, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6348, "end": 0, "left": { "commentStart": 6348, "end": 0, "raw": ".525", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.525, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6355, "end": 0, "name": { "commentStart": 6355, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 6371, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6254, "end": 0, "name": { "commentStart": 6254, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6254, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6392, "end": 0, "properties": [ { "commentStart": 6394, "end": 0, "key": { "commentStart": 6394, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6402, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } } }, { "commentStart": 6409, "end": 0, "key": { "commentStart": 6409, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6418, "end": 0, "left": { "commentStart": 6418, "end": 0, "raw": ".24", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.24, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6424, "end": 0, "name": { "commentStart": 6424, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 6433, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6381, "end": 0, "name": { "commentStart": 6381, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6381, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6447, "end": 0, "properties": [ { "commentStart": 6458, "end": 0, "key": { "commentStart": 6458, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6471, "end": 0, "left": { "commentStart": 6471, "end": 0, "left": { "commentStart": 6471, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "-", "right": { "commentStart": 6479, "end": 0, "raw": "11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 6484, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 6498, "end": 0, "key": { "commentStart": 6498, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6509, "end": 0, "left": { "commentStart": 6509, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 6517, "end": 0, "raw": "11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 6530, "end": 0, "key": { "commentStart": 6530, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6539, "end": 0, "left": { "commentStart": 6539, "end": 0, "raw": ".288", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.288, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6546, "end": 0, "name": { "commentStart": 6546, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 6562, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6443, "end": 0, "name": { "commentStart": 6443, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6443, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 6572, "end": 0, "name": { "commentStart": 6572, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6572, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 6595, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 6605, "end": 0, "name": { "commentStart": 6605, "end": 0, "name": "depth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 6604, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 6587, "end": 0, "name": { "commentStart": 6587, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6587, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 6630, "end": 0, "name": "color", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 6638, "end": 0, "name": { "commentStart": 6638, "end": 0, "name": "baseColor", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 6619, "end": 0, "name": { "commentStart": 6619, "end": 0, "name": "appearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6619, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 6117, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 6648, "declaration": { "commentStart": 6652, "end": 0, "id": { "commentStart": 6652, "end": 0, "name": "o", "start": 0, "type": "Identifier" }, "init": { "body": [ { "arguments": [ { "abs_path": false, "commentStart": 6670, "end": 0, "name": { "commentStart": 6670, "end": 0, "name": "plane002", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } ], "callee": { "abs_path": false, "commentStart": 6656, "end": 0, "name": { "commentStart": 6656, "end": 0, "name": "startSketchOn", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6656, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6702, "elements": [ { "commentStart": 6713, "end": 0, "left": { "commentStart": 6713, "end": 0, "left": { "commentStart": 6713, "end": 0, "raw": ".16", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.16, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6719, "end": 0, "name": { "commentStart": 6719, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 6727, "computed": false, "end": 0, "object": { "commentStart": 6727, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 6734, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 6747, "end": 0, "left": { "commentStart": 6747, "end": 0, "left": { "commentStart": 6747, "end": 0, "raw": ".079", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.079, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6754, "end": 0, "name": { "commentStart": 6754, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 6762, "computed": false, "end": 0, "object": { "commentStart": 6762, "end": 0, "name": "origin", "start": 0, "type": "Identifier", "type": "Identifier" }, "property": { "commentStart": 6769, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 0, "type": "MemberExpression", "type": "MemberExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 6782, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6687, "end": 0, "name": { "commentStart": 6687, "end": 0, "name": "startProfileAt", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6687, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6796, "end": 0, "properties": [ { "commentStart": 6807, "end": 0, "key": { "commentStart": 6807, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6820, "end": 0, "left": { "commentStart": 6820, "end": 0, "left": { "commentStart": 6820, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 6828, "end": 0, "raw": "6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 6.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 6832, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 6846, "end": 0, "key": { "commentStart": 6846, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6857, "end": 0, "left": { "commentStart": 6857, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "-", "right": { "commentStart": 6865, "end": 0, "raw": "6", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 6.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 6877, "end": 0, "key": { "commentStart": 6877, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6886, "end": 0, "left": { "commentStart": 6886, "end": 0, "raw": ".525", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.525, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 6893, "end": 0, "name": { "commentStart": 6893, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 6909, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6792, "end": 0, "name": { "commentStart": 6792, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6792, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6930, "end": 0, "properties": [ { "commentStart": 6932, "end": 0, "key": { "commentStart": 6932, "end": 0, "name": "angle", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6940, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } } }, { "commentStart": 6947, "end": 0, "key": { "commentStart": 6947, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 6956, "end": 0, "left": { "argument": { "commentStart": 6957, "end": 0, "raw": ".24", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.24, "suffix": "None" } }, "commentStart": 6956, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "*", "right": { "abs_path": false, "commentStart": 6963, "end": 0, "name": { "commentStart": 6963, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 6972, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6919, "end": 0, "name": { "commentStart": 6919, "end": 0, "name": "angledLine", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6919, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "commentStart": 6986, "end": 0, "properties": [ { "commentStart": 6997, "end": 0, "key": { "commentStart": 6997, "end": 0, "name": "angleStart", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 7010, "end": 0, "left": { "commentStart": 7010, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "-", "right": { "commentStart": 7018, "end": 0, "raw": "11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 7031, "end": 0, "key": { "commentStart": 7031, "end": 0, "name": "angleEnd", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 7042, "end": 0, "left": { "commentStart": 7042, "end": 0, "left": { "commentStart": 7042, "end": 0, "raw": "47.15", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 47.15, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 7050, "end": 0, "raw": "11", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 11.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 7055, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } }, { "commentStart": 7069, "end": 0, "key": { "commentStart": 7069, "end": 0, "name": "radius", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 7078, "end": 0, "left": { "commentStart": 7078, "end": 0, "raw": ".288", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.288, "suffix": "None" } }, "operator": "*", "right": { "abs_path": false, "commentStart": 7085, "end": 0, "name": { "commentStart": 7085, "end": 0, "name": "scale", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } } ], "start": 0, "type": "ObjectExpression", "type": "ObjectExpression" }, { "commentStart": 7101, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } ], "callee": { "abs_path": false, "commentStart": 6982, "end": 0, "name": { "commentStart": 6982, "end": 0, "name": "arc", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 6982, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [], "callee": { "abs_path": false, "commentStart": 7111, "end": 0, "name": { "commentStart": 7111, "end": 0, "name": "close", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 7111, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 7134, "end": 0, "name": "length", "start": 0, "type": "Identifier" }, "arg": { "argument": { "abs_path": false, "commentStart": 7144, "end": 0, "name": { "commentStart": 7144, "end": 0, "name": "depth", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 7143, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" } } ], "callee": { "abs_path": false, "commentStart": 7126, "end": 0, "name": { "commentStart": 7126, "end": 0, "name": "extrude", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 7126, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 7169, "end": 0, "name": "color", "start": 0, "type": "Identifier" }, "arg": { "abs_path": false, "commentStart": 7177, "end": 0, "name": { "commentStart": 7177, "end": 0, "name": "baseColor", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "callee": { "abs_path": false, "commentStart": 7158, "end": 0, "name": { "commentStart": 7158, "end": 0, "name": "appearance", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 7158, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 6656, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "argument": { "abs_path": false, "commentStart": 7197, "end": 0, "name": { "commentStart": 7197, "end": 0, "name": "o", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "commentStart": 7190, "end": 0, "start": 0, "type": "ReturnStatement", "type": "ReturnStatement" } ], "commentStart": 6100, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "0": [ { "commentStart": 6648, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [] }, "start": 0 }, "commentStart": 6077, "end": 0, "params": [ { "type": "Parameter", "identifier": { "commentStart": 6078, "end": 0, "name": "origin", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 6086, "end": 0, "name": "scale", "start": 0, "type": "Identifier" } }, { "type": "Parameter", "identifier": { "commentStart": 6093, "end": 0, "name": "depth", "start": 0, "type": "Identifier" } } ], "start": 0, "type": "FunctionExpression", "type": "FunctionExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 0, "kind": "fn", "preComments": [ "", "", "// Define a function to draw the ZOO 'O'" ], "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "commentStart": 7200, "end": 0, "expression": { "arguments": [ { "commentStart": 7275, "elements": [ { "commentStart": 7276, "end": 0, "raw": "2.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.3, "suffix": "None" } }, { "commentStart": 7281, "end": 0, "raw": "1.3", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.3, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 7287, "end": 0, "raw": ".4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } }, { "commentStart": 7291, "end": 0, "raw": "0.03", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.03, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 7273, "end": 0, "name": { "commentStart": 7273, "end": 0, "name": "z", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 7273, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// Place the Z logo on the Z key. Place the O logo on the O and P keys" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 7297, "end": 0, "expression": { "arguments": [ { "commentStart": 7299, "elements": [ { "commentStart": 7300, "end": 0, "raw": "8.71", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.71, "suffix": "None" } }, { "commentStart": 7306, "end": 0, "left": { "abs_path": false, "commentStart": 7306, "end": 0, "name": { "commentStart": 7306, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 7313, "end": 0, "raw": ".08", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.08, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 7319, "end": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } }, { "commentStart": 7324, "end": 0, "raw": "0.03", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.03, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 7297, "end": 0, "name": { "commentStart": 7297, "end": 0, "name": "o", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 7297, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 7330, "end": 0, "expression": { "arguments": [ { "commentStart": 7332, "elements": [ { "commentStart": 7333, "end": 0, "left": { "commentStart": 7333, "end": 0, "raw": "8.71", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 8.71, "suffix": "None" } }, "operator": "+", "right": { "commentStart": 7340, "end": 0, "raw": "0.9", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.9, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 7345, "end": 0, "left": { "abs_path": false, "commentStart": 7345, "end": 0, "name": { "commentStart": 7345, "end": 0, "name": "row4", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" }, "operator": "+", "right": { "commentStart": 7352, "end": 0, "raw": ".08", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.08, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" }, { "commentStart": 7358, "end": 0, "raw": "0.4", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.4, "suffix": "None" } }, { "commentStart": 7363, "end": 0, "raw": "0.03", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.03, "suffix": "None" } } ], "callee": { "abs_path": false, "commentStart": 7330, "end": 0, "name": { "commentStart": 7330, "end": 0, "name": "o", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name" }, "commentStart": 7330, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 77, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Zoo Keyboard", "// A custom keyboard with Zoo brand lettering", "", "", "// Set units" ], "properties": [ { "commentStart": 86, "end": 0, "key": { "commentStart": 86, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "abs_path": false, "commentStart": 106, "end": 0, "name": { "commentStart": 106, "end": 0, "name": "in", "start": 0, "type": "Identifier" }, "path": [], "start": 0, "type": "Name", "type": "Name" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": {}, "startNodes": [ { "commentStart": 109, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }