--- source: kcl-lib/src/simulation_tests.rs description: Result of parsing walkie-talkie.kcl --- { "Ok": { "body": [ { "commentStart": 383, "end": 0, "path": { "type": "Kcl", "filename": "globals.kcl" }, "preComments": [ "// import constants" ], "selector": { "commentStart": 412, "end": 0, "start": 0, "type": "Glob" }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 432, "end": 0, "path": { "type": "Kcl", "filename": "body.kcl" }, "preComments": [ "", "", "// import parts and constants" ], "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 471, "end": 0, "name": { "commentStart": 471, "end": 0, "name": "body", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 492, "end": 0, "path": { "type": "Kcl", "filename": "case.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 499, "end": 0, "name": { "commentStart": 499, "end": 0, "name": "case", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 520, "end": 0, "path": { "type": "Kcl", "filename": "antenna.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 527, "end": 0, "name": { "commentStart": 527, "end": 0, "name": "antenna", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 554, "end": 0, "path": { "type": "Kcl", "filename": "talk-button.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 561, "end": 0, "name": { "commentStart": 561, "end": 0, "name": "talkButton", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 595, "end": 0, "path": { "type": "Kcl", "filename": "knob.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 602, "end": 0, "name": { "commentStart": 602, "end": 0, "name": "knob", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 623, "end": 0, "path": { "type": "Kcl", "filename": "button.kcl" }, "selector": { "type": "List", "items": [ { "alias": null, "commentStart": 630, "end": 0, "name": { "commentStart": 630, "end": 0, "name": "button", "start": 0, "type": "Identifier" }, "start": 0, "type": "ImportItem" } ] }, "start": 0, "type": "ImportStatement", "type": "ImportStatement" }, { "commentStart": 654, "end": 0, "expression": { "arguments": [], "callee": { "commentStart": 675, "end": 0, "name": "body", "start": 0, "type": "Identifier" }, "commentStart": 675, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, "preComments": [ "", "", "// import the body" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 681, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 705, "end": 0, "name": "antenna", "start": 0, "type": "Identifier" }, "commentStart": 705, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 730, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 742, "elements": [ { "commentStart": 743, "end": 0, "left": { "commentStart": 743, "end": 0, "left": { "argument": { "commentStart": 744, "end": 0, "name": "width", "start": 0, "type": "Identifier", "type": "Identifier" }, "commentStart": 743, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 752, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 756, "end": 0, "raw": ".45", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.45, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "argument": { "commentStart": 762, "end": 0, "raw": "0.10", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.1, "suffix": "None" } }, "commentStart": 761, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 768, "end": 0, "left": { "commentStart": 768, "end": 0, "name": "height", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 775, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 720, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 720, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 705, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 778, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "import the case", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "preComments": [ "", "", "// import the antenna" ], "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 799, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 799, "end": 0, "name": "case", "start": 0, "type": "Identifier" }, "commentStart": 799, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 821, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 833, "elements": [ { "commentStart": 834, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } }, { "argument": { "commentStart": 838, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 837, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 841, "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": { "commentStart": 811, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 811, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 799, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 844, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "import the talk button", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 872, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 872, "end": 0, "name": "talkButton", "start": 0, "type": "Identifier" }, "commentStart": 872, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 900, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 912, "elements": [ { "commentStart": 913, "end": 0, "left": { "commentStart": 913, "end": 0, "name": "width", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 921, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 924, "end": 0, "left": { "argument": { "commentStart": 925, "end": 0, "name": "thickness", "start": 0, "type": "Identifier", "type": "Identifier" }, "commentStart": 924, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 937, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 940, "end": 0, "raw": ".5", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.5, "suffix": "None" } } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 890, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 890, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 872, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 944, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "import the frequency knob", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 975, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 975, "end": 0, "name": "knob", "start": 0, "type": "Identifier" }, "commentStart": 975, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 997, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1009, "elements": [ { "commentStart": 1010, "end": 0, "left": { "commentStart": 1010, "end": 0, "left": { "commentStart": 1010, "end": 0, "name": "width", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1018, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 1022, "end": 0, "raw": "0.70", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.7, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1028, "end": 0, "left": { "argument": { "commentStart": 1029, "end": 0, "name": "thickness", "start": 0, "type": "Identifier", "type": "Identifier" }, "commentStart": 1028, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, "operator": "/", "right": { "commentStart": 1041, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "commentStart": 1044, "end": 0, "left": { "commentStart": 1044, "end": 0, "name": "height", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1053, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 987, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 987, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 975, "end": 0, "nonCodeMeta": { "nonCodeNodes": { "1": [ { "commentStart": 1056, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLineBlockComment", "value": "import the buttons", "style": "line" } } ] }, "startNodes": [] }, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1080, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 1080, "end": 0, "name": "button", "start": 0, "type": "Identifier" }, "commentStart": 1080, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1104, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1116, "elements": [ { "argument": { "commentStart": 1119, "end": 0, "left": { "commentStart": 1119, "end": 0, "left": { "commentStart": 1119, "end": 0, "name": "screenWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1133, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1137, "end": 0, "name": "tolerance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1117, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 1150, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 1149, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1153, "end": 0, "name": "screenYPosition", "start": 0, "type": "Identifier", "type": "Identifier" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 1094, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 1094, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1080, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1171, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 1171, "end": 0, "name": "button", "start": 0, "type": "Identifier" }, "commentStart": 1171, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1195, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1207, "elements": [ { "argument": { "commentStart": 1210, "end": 0, "left": { "commentStart": 1210, "end": 0, "left": { "commentStart": 1210, "end": 0, "name": "screenWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1224, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1228, "end": 0, "name": "tolerance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "commentStart": 1208, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "argument": { "commentStart": 1241, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 1240, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1244, "end": 0, "left": { "commentStart": 1244, "end": 0, "left": { "commentStart": 1244, "end": 0, "name": "screenYPosition", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1262, "end": 0, "name": "buttonHeight", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 1277, "end": 0, "left": { "commentStart": 1277, "end": 0, "name": "tolerance", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 1287, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } } ], "callee": { "commentStart": 1185, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 1185, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1171, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1291, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 1291, "end": 0, "name": "button", "start": 0, "type": "Identifier" }, "commentStart": 1291, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1315, "end": 0, "name": "roll", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1322, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1325, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1333, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1338, "end": 0, "name": "yaw", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1344, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } } ], "callee": { "commentStart": 1305, "end": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "commentStart": 1305, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 1312, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1362, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1374, "elements": [ { "commentStart": 1375, "end": 0, "left": { "commentStart": 1375, "end": 0, "left": { "commentStart": 1375, "end": 0, "name": "screenWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1389, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1393, "end": 0, "name": "tolerance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "argument": { "commentStart": 1405, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 1404, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1408, "end": 0, "left": { "commentStart": 1408, "end": 0, "name": "screenYPosition", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1426, "end": 0, "name": "buttonHeight", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1441, "end": 0, "name": "global", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1450, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "commentStart": 1352, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 1352, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1291, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "commentStart": 1456, "end": 0, "expression": { "body": [ { "arguments": [], "callee": { "commentStart": 1456, "end": 0, "name": "button", "start": 0, "type": "Identifier" }, "commentStart": 1456, "end": 0, "start": 0, "type": "CallExpression", "type": "CallExpression" }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1480, "end": 0, "name": "roll", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1487, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1490, "end": 0, "name": "pitch", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1498, "end": 0, "raw": "180", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 180.0, "suffix": "None" } } }, { "type": "LabeledArg", "label": { "commentStart": 1503, "end": 0, "name": "yaw", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1509, "end": 0, "raw": "0", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 0.0, "suffix": "None" } } } ], "callee": { "commentStart": 1470, "end": 0, "name": "rotate", "start": 0, "type": "Identifier" }, "commentStart": 1470, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": { "commentStart": 1477, "end": 0, "start": 0, "type": "PipeSubstitution", "type": "PipeSubstitution" } }, { "arguments": [ { "type": "LabeledArg", "label": { "commentStart": 1527, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1539, "elements": [ { "commentStart": 1540, "end": 0, "left": { "commentStart": 1540, "end": 0, "left": { "commentStart": 1540, "end": 0, "name": "screenWidth", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "/", "right": { "commentStart": 1554, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "+", "right": { "commentStart": 1558, "end": 0, "name": "tolerance", "start": 0, "type": "Identifier", "type": "Identifier" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, { "argument": { "commentStart": 1570, "end": 0, "raw": "1", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "commentStart": 1569, "end": 0, "operator": "-", "start": 0, "type": "UnaryExpression", "type": "UnaryExpression" }, { "commentStart": 1573, "end": 0, "left": { "commentStart": 1573, "end": 0, "left": { "commentStart": 1573, "end": 0, "name": "screenYPosition", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "-", "right": { "commentStart": 1591, "end": 0, "left": { "commentStart": 1591, "end": 0, "name": "buttonHeight", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 1604, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "operator": "-", "right": { "commentStart": 1608, "end": 0, "left": { "commentStart": 1608, "end": 0, "name": "tolerance", "start": 0, "type": "Identifier", "type": "Identifier" }, "operator": "*", "right": { "commentStart": 1620, "end": 0, "raw": "2", "start": 0, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "BinaryExpression", "type": "BinaryExpression" } ], "end": 0, "start": 0, "type": "ArrayExpression", "type": "ArrayExpression" } }, { "type": "LabeledArg", "label": { "commentStart": 1624, "end": 0, "name": "global", "start": 0, "type": "Identifier" }, "arg": { "commentStart": 1633, "end": 0, "raw": "true", "start": 0, "type": "Literal", "type": "Literal", "value": true } } ], "callee": { "commentStart": 1517, "end": 0, "name": "translate", "start": 0, "type": "Identifier" }, "commentStart": 1517, "end": 0, "start": 0, "type": "CallExpressionKw", "type": "CallExpressionKw", "unlabeled": null } ], "commentStart": 1456, "end": 0, "start": 0, "type": "PipeExpression", "type": "PipeExpression" }, "start": 0, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "commentStart": 0, "end": 0, "innerAttrs": [ { "commentStart": 0, "end": 0, "name": { "commentStart": 351, "end": 0, "name": "settings", "start": 0, "type": "Identifier" }, "preComments": [ "// Walkie Talkie", "// A portable, handheld two-way radio device that allows users to communicate wirelessly over short to medium distances. It operates on specific radio frequencies and features a push-to-talk button for transmitting messages, making it ideal for quick and reliable communication in outdoor, work, or emergency settings.", "", "", "// set units" ], "properties": [ { "commentStart": 360, "end": 0, "key": { "commentStart": 360, "end": 0, "name": "defaultLengthUnit", "start": 0, "type": "Identifier" }, "start": 0, "type": "ObjectProperty", "value": { "commentStart": 380, "end": 0, "name": "in", "start": 0, "type": "Identifier", "type": "Identifier" } } ], "start": 0, "type": "Annotation" } ], "nonCodeMeta": { "nonCodeNodes": {}, "startNodes": [ { "commentStart": 383, "end": 0, "start": 0, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "start": 0 } }