* Support paths to names rather than just raw idents Signed-off-by: Nick Cameron <nrc@ncameron.org> * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 * A snapshot a day keeps the bugs away! 📷🐛 --------- Signed-off-by: Nick Cameron <nrc@ncameron.org> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
		
			
				
	
	
		
			2887 lines
		
	
	
		
			91 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2887 lines
		
	
	
		
			91 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ---
 | |
| source: kcl-lib/src/simulation_tests.rs
 | |
| description: Result of parsing bracket.kcl
 | |
| ---
 | |
| {
 | |
|   "Ok": {
 | |
|     "body": [
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "declaration": {
 | |
|           "commentStart": 424,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 424,
 | |
|             "end": 0,
 | |
|             "name": "sigmaAllow",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 437,
 | |
|             "end": 0,
 | |
|             "raw": "35000",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 35000.0,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "preComments": [
 | |
|           "// Shelf Bracket",
 | |
|           "// This is a bracket that holds a shelf. It is made of aluminum and is designed to hold a force of 300 lbs. The bracket is 6 inches wide and the force is applied at the end of the shelf, 12 inches from the wall. The bracket has a factor of safety of 1.2. The legs of the bracket are 5 inches and 2 inches long. The thickness of the bracket is calculated from the constraints provided.",
 | |
|           "",
 | |
|           "",
 | |
|           "// Define constants"
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 442,
 | |
|         "declaration": {
 | |
|           "commentStart": 469,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 469,
 | |
|             "end": 0,
 | |
|             "name": "width",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 477,
 | |
|             "end": 0,
 | |
|             "raw": "6",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 6.0,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 478,
 | |
|         "declaration": {
 | |
|           "commentStart": 487,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 487,
 | |
|             "end": 0,
 | |
|             "name": "p",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 491,
 | |
|             "end": 0,
 | |
|             "raw": "300",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 300.0,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 494,
 | |
|         "declaration": {
 | |
|           "commentStart": 519,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 519,
 | |
|             "end": 0,
 | |
|             "name": "factorOfSafety",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 536,
 | |
|             "end": 0,
 | |
|             "raw": "1.2",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 1.2,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 539,
 | |
|         "declaration": {
 | |
|           "commentStart": 554,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 554,
 | |
|             "end": 0,
 | |
|             "name": "shelfMountL",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 568,
 | |
|             "end": 0,
 | |
|             "raw": "5",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 5.0,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 569,
 | |
|         "declaration": {
 | |
|           "commentStart": 580,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 580,
 | |
|             "end": 0,
 | |
|             "name": "wallMountL",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 593,
 | |
|             "end": 0,
 | |
|             "raw": "2",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 2.0,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 594,
 | |
|         "declaration": {
 | |
|           "commentStart": 605,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 605,
 | |
|             "end": 0,
 | |
|             "name": "shelfDepth",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 618,
 | |
|             "end": 0,
 | |
|             "raw": "12",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 12.0,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 620,
 | |
|         "declaration": {
 | |
|           "commentStart": 666,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 666,
 | |
|             "end": 0,
 | |
|             "name": "moment",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 675,
 | |
|             "end": 0,
 | |
|             "left": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 675,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 675,
 | |
|                 "end": 0,
 | |
|                 "name": "shelfDepth",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             },
 | |
|             "operator": "*",
 | |
|             "right": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 688,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 688,
 | |
|                 "end": 0,
 | |
|                 "name": "p",
 | |
|                 "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": 689,
 | |
|         "declaration": {
 | |
|           "commentStart": 816,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 816,
 | |
|             "end": 0,
 | |
|             "name": "thickness",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "arguments": [
 | |
|               {
 | |
|                 "commentStart": 833,
 | |
|                 "end": 0,
 | |
|                 "left": {
 | |
|                   "commentStart": 833,
 | |
|                   "end": 0,
 | |
|                   "left": {
 | |
|                     "commentStart": 833,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 833,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 833,
 | |
|                         "end": 0,
 | |
|                         "name": "moment",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "operator": "*",
 | |
|                     "right": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 842,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 842,
 | |
|                         "end": 0,
 | |
|                         "name": "factorOfSafety",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   },
 | |
|                   "operator": "*",
 | |
|                   "right": {
 | |
|                     "commentStart": 859,
 | |
|                     "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": 864,
 | |
|                   "end": 0,
 | |
|                   "left": {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 864,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 864,
 | |
|                       "end": 0,
 | |
|                       "name": "sigmaAllow",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   },
 | |
|                   "operator": "*",
 | |
|                   "right": {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 877,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 877,
 | |
|                       "end": 0,
 | |
|                       "name": "width",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   },
 | |
|                   "start": 0,
 | |
|                   "type": "BinaryExpression",
 | |
|                   "type": "BinaryExpression"
 | |
|                 },
 | |
|                 "start": 0,
 | |
|                 "type": "BinaryExpression",
 | |
|                 "type": "BinaryExpression"
 | |
|               }
 | |
|             ],
 | |
|             "callee": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 828,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 828,
 | |
|                 "end": 0,
 | |
|                 "name": "sqrt",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name"
 | |
|             },
 | |
|             "commentStart": 828,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "CallExpression",
 | |
|             "type": "CallExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "preComments": [
 | |
|           "// Calculate required thickness of bracket"
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 884,
 | |
|         "declaration": {
 | |
|           "commentStart": 959,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 959,
 | |
|             "end": 0,
 | |
|             "name": "filletRadius",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 974,
 | |
|             "end": 0,
 | |
|             "raw": ".25",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 0.25,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 978,
 | |
|         "declaration": {
 | |
|           "commentStart": 978,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 978,
 | |
|             "end": 0,
 | |
|             "name": "extFilletRadius",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 996,
 | |
|             "end": 0,
 | |
|             "left": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 996,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 996,
 | |
|                 "end": 0,
 | |
|                 "name": "filletRadius",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             },
 | |
|             "operator": "+",
 | |
|             "right": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 1011,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 1011,
 | |
|                 "end": 0,
 | |
|                 "name": "thickness",
 | |
|                 "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": 1021,
 | |
|         "declaration": {
 | |
|           "commentStart": 1021,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 1021,
 | |
|             "end": 0,
 | |
|             "name": "mountingHoleDiameter",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "commentStart": 1044,
 | |
|             "end": 0,
 | |
|             "raw": "0.5",
 | |
|             "start": 0,
 | |
|             "type": "Literal",
 | |
|             "type": "Literal",
 | |
|             "value": {
 | |
|               "value": 0.5,
 | |
|               "suffix": "None"
 | |
|             }
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 1047,
 | |
|         "declaration": {
 | |
|           "commentStart": 1049,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 1049,
 | |
|             "end": 0,
 | |
|             "name": "sketch001",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "commentStart": 1075,
 | |
|                     "end": 0,
 | |
|                     "raw": "'XZ'",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": "XZ"
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1061,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1061,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1061,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpression",
 | |
|                 "type": "CallExpression"
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "commentStart": 1101,
 | |
|                     "elements": [
 | |
|                       {
 | |
|                         "commentStart": 1102,
 | |
|                         "end": 0,
 | |
|                         "raw": "0",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 0.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       {
 | |
|                         "commentStart": 1105,
 | |
|                         "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": 1109,
 | |
|                     "end": 0,
 | |
|                     "start": 0,
 | |
|                     "type": "PipeSubstitution",
 | |
|                     "type": "PipeSubstitution"
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1086,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1086,
 | |
|                     "end": 0,
 | |
|                     "name": "startProfileAt",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1086,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpression",
 | |
|                 "type": "CallExpression"
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1123,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1132,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 1132,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 1132,
 | |
|                           "end": 0,
 | |
|                           "name": "shelfMountL",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "-",
 | |
|                       "right": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 1146,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 1146,
 | |
|                           "end": 0,
 | |
|                           "name": "thickness",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1157,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1163,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg01"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1117,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1117,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1117,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1182,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1191,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1191,
 | |
|                         "end": 0,
 | |
|                         "name": "thickness",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1202,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1208,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg02"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1176,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1176,
 | |
|                     "end": 0,
 | |
|                     "name": "yLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1176,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1227,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 1237,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 1237,
 | |
|                           "end": 0,
 | |
|                           "name": "shelfMountL",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 1236,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1250,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1256,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg03"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1221,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1221,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1221,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1275,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "argument": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 1285,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 1285,
 | |
|                           "end": 0,
 | |
|                           "name": "wallMountL",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 1284,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1297,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1303,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg04"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1269,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1269,
 | |
|                     "end": 0,
 | |
|                     "name": "yLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1269,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1322,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1331,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1331,
 | |
|                         "end": 0,
 | |
|                         "name": "thickness",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1342,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1348,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg05"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1316,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1316,
 | |
|                     "end": 0,
 | |
|                     "name": "xLine",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1316,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1366,
 | |
|                       "end": 0,
 | |
|                       "name": "endAbsolute",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1380,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "commentStart": 1395,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "PipeSubstitution",
 | |
|                               "type": "PipeSubstitution"
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 1381,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 1381,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartX",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 1381,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpression",
 | |
|                           "type": "CallExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "commentStart": 1413,
 | |
|                               "end": 0,
 | |
|                               "start": 0,
 | |
|                               "type": "PipeSubstitution",
 | |
|                               "type": "PipeSubstitution"
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 1399,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 1399,
 | |
|                               "end": 0,
 | |
|                               "name": "profileStartY",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 1399,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpression",
 | |
|                           "type": "CallExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1418,
 | |
|                       "end": 0,
 | |
|                       "name": "tag",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1424,
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "TagDeclarator",
 | |
|                       "type": "TagDeclarator",
 | |
|                       "value": "seg06"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1361,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1361,
 | |
|                     "end": 0,
 | |
|                     "name": "line",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1361,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1437,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1437,
 | |
|                     "end": 0,
 | |
|                     "name": "close",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1437,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpression",
 | |
|                 "type": "CallExpression"
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1461,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1470,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1470,
 | |
|                         "end": 0,
 | |
|                         "name": "width",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1450,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1450,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1450,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 1458,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "PipeSubstitution",
 | |
|                   "type": "PipeSubstitution"
 | |
|                 }
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1497,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1506,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1506,
 | |
|                         "end": 0,
 | |
|                         "name": "extFilletRadius",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1530,
 | |
|                       "end": 0,
 | |
|                       "name": "tags",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1537,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 1558,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 1558,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg03",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 1538,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 1538,
 | |
|                               "end": 0,
 | |
|                               "name": "getNextAdjacentEdge",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 1538,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpression",
 | |
|                           "type": "CallExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1482,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1482,
 | |
|                     "end": 0,
 | |
|                     "name": "fillet",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1482,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1594,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1603,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1603,
 | |
|                         "end": 0,
 | |
|                         "name": "filletRadius",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1624,
 | |
|                       "end": 0,
 | |
|                       "name": "tags",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1631,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 1652,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 1652,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg06",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 1632,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 1632,
 | |
|                               "end": 0,
 | |
|                               "name": "getNextAdjacentEdge",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 1632,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpression",
 | |
|                           "type": "CallExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1579,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1579,
 | |
|                     "end": 0,
 | |
|                     "name": "fillet",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1579,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1687,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1696,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1696,
 | |
|                         "end": 0,
 | |
|                         "name": "filletRadius",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1716,
 | |
|                       "end": 0,
 | |
|                       "name": "tags",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1723,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 1724,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 1724,
 | |
|                             "end": 0,
 | |
|                             "name": "seg02",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 1747,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 1747,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg02",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 1731,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 1731,
 | |
|                               "end": 0,
 | |
|                               "name": "getOppositeEdge",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 1731,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpression",
 | |
|                           "type": "CallExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1673,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1673,
 | |
|                     "end": 0,
 | |
|                     "name": "fillet",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1673,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1781,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 1790,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 1790,
 | |
|                         "end": 0,
 | |
|                         "name": "filletRadius",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1810,
 | |
|                       "end": 0,
 | |
|                       "name": "tags",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1817,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 1818,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 1818,
 | |
|                             "end": 0,
 | |
|                             "name": "seg05",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         {
 | |
|                           "arguments": [
 | |
|                             {
 | |
|                               "abs_path": false,
 | |
|                               "commentStart": 1841,
 | |
|                               "end": 0,
 | |
|                               "name": {
 | |
|                                 "commentStart": 1841,
 | |
|                                 "end": 0,
 | |
|                                 "name": "seg05",
 | |
|                                 "start": 0,
 | |
|                                 "type": "Identifier"
 | |
|                               },
 | |
|                               "path": [],
 | |
|                               "start": 0,
 | |
|                               "type": "Name",
 | |
|                               "type": "Name"
 | |
|                             }
 | |
|                           ],
 | |
|                           "callee": {
 | |
|                             "abs_path": false,
 | |
|                             "commentStart": 1825,
 | |
|                             "end": 0,
 | |
|                             "name": {
 | |
|                               "commentStart": 1825,
 | |
|                               "end": 0,
 | |
|                               "name": "getOppositeEdge",
 | |
|                               "start": 0,
 | |
|                               "type": "Identifier"
 | |
|                             },
 | |
|                             "path": [],
 | |
|                             "start": 0,
 | |
|                             "type": "Name"
 | |
|                           },
 | |
|                           "commentStart": 1825,
 | |
|                           "end": 0,
 | |
|                           "start": 0,
 | |
|                           "type": "CallExpression",
 | |
|                           "type": "CallExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1767,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1767,
 | |
|                     "end": 0,
 | |
|                     "name": "fillet",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1767,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 1061,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 1855,
 | |
|         "declaration": {
 | |
|           "commentStart": 1857,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 1857,
 | |
|             "end": 0,
 | |
|             "name": "sketch002",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 1883,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 1883,
 | |
|                       "end": 0,
 | |
|                       "name": "sketch001",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   },
 | |
|                   {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 1894,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 1894,
 | |
|                       "end": 0,
 | |
|                       "name": "seg03",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1869,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1869,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1869,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpression",
 | |
|                 "type": "CallExpression"
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1918,
 | |
|                       "end": 0,
 | |
|                       "name": "center",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1927,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 1929,
 | |
|                             "end": 0,
 | |
|                             "raw": "1.25",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.25,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 1928,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 1935,
 | |
|                           "end": 0,
 | |
|                           "raw": "1",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 1943,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 1952,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 1952,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 1952,
 | |
|                           "end": 0,
 | |
|                           "name": "mountingHoleDiameter",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 1975,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 1906,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1906,
 | |
|                     "end": 0,
 | |
|                     "name": "circle",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1906,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2008,
 | |
|                       "end": 0,
 | |
|                       "name": "instances",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2020,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2027,
 | |
|                       "end": 0,
 | |
|                       "name": "distance",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2038,
 | |
|                       "end": 0,
 | |
|                       "raw": "2.5",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.5,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2047,
 | |
|                       "end": 0,
 | |
|                       "name": "axis",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2054,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 2056,
 | |
|                             "end": 0,
 | |
|                             "raw": "1",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.0,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 2055,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 2059,
 | |
|                           "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": 1987,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 1987,
 | |
|                     "end": 0,
 | |
|                     "name": "patternLinear2d",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 1987,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2093,
 | |
|                       "end": 0,
 | |
|                       "name": "instances",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2105,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2112,
 | |
|                       "end": 0,
 | |
|                       "name": "distance",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2123,
 | |
|                       "end": 0,
 | |
|                       "raw": "4",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 4.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2130,
 | |
|                       "end": 0,
 | |
|                       "name": "axis",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2137,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 2138,
 | |
|                           "end": 0,
 | |
|                           "raw": "0",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 0.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 2141,
 | |
|                           "end": 0,
 | |
|                           "raw": "1",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 2072,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 2072,
 | |
|                     "end": 0,
 | |
|                     "name": "patternLinear2d",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 2072,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2165,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2174,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "argument": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 2175,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 2175,
 | |
|                             "end": 0,
 | |
|                             "name": "thickness",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "commentStart": 2174,
 | |
|                         "end": 0,
 | |
|                         "operator": "-",
 | |
|                         "start": 0,
 | |
|                         "type": "UnaryExpression",
 | |
|                         "type": "UnaryExpression"
 | |
|                       },
 | |
|                       "operator": "-",
 | |
|                       "right": {
 | |
|                         "commentStart": 2185,
 | |
|                         "end": 0,
 | |
|                         "raw": ".01",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 0.01,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 2154,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 2154,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 2154,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 2162,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "PipeSubstitution",
 | |
|                   "type": "PipeSubstitution"
 | |
|                 }
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 1869,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 2189,
 | |
|         "declaration": {
 | |
|           "commentStart": 2191,
 | |
|           "end": 0,
 | |
|           "id": {
 | |
|             "commentStart": 2191,
 | |
|             "end": 0,
 | |
|             "name": "sketch003",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "init": {
 | |
|             "body": [
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 2217,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 2217,
 | |
|                       "end": 0,
 | |
|                       "name": "sketch001",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   },
 | |
|                   {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 2228,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 2228,
 | |
|                       "end": 0,
 | |
|                       "name": "seg04",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 2203,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 2203,
 | |
|                     "end": 0,
 | |
|                     "name": "startSketchOn",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 2203,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpression",
 | |
|                 "type": "CallExpression"
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2252,
 | |
|                       "end": 0,
 | |
|                       "name": "center",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2261,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 2262,
 | |
|                           "end": 0,
 | |
|                           "raw": "1",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "argument": {
 | |
|                             "commentStart": 2266,
 | |
|                             "end": 0,
 | |
|                             "raw": "1",
 | |
|                             "start": 0,
 | |
|                             "type": "Literal",
 | |
|                             "type": "Literal",
 | |
|                             "value": {
 | |
|                               "value": 1.0,
 | |
|                               "suffix": "None"
 | |
|                             }
 | |
|                           },
 | |
|                           "commentStart": 2265,
 | |
|                           "end": 0,
 | |
|                           "operator": "-",
 | |
|                           "start": 0,
 | |
|                           "type": "UnaryExpression",
 | |
|                           "type": "UnaryExpression"
 | |
|                         }
 | |
|                       ],
 | |
|                       "end": 0,
 | |
|                       "start": 0,
 | |
|                       "type": "ArrayExpression",
 | |
|                       "type": "ArrayExpression"
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2274,
 | |
|                       "end": 0,
 | |
|                       "name": "radius",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2283,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 2283,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 2283,
 | |
|                           "end": 0,
 | |
|                           "name": "mountingHoleDiameter",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 2306,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 2240,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 2240,
 | |
|                     "end": 0,
 | |
|                     "name": "circle",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 2240,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2339,
 | |
|                       "end": 0,
 | |
|                       "name": "instances",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2351,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2358,
 | |
|                       "end": 0,
 | |
|                       "name": "distance",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2369,
 | |
|                       "end": 0,
 | |
|                       "raw": "4",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 4.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     }
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2376,
 | |
|                       "end": 0,
 | |
|                       "name": "axis",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2383,
 | |
|                       "elements": [
 | |
|                         {
 | |
|                           "commentStart": 2384,
 | |
|                           "end": 0,
 | |
|                           "raw": "1",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 1.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         {
 | |
|                           "commentStart": 2387,
 | |
|                           "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": 2318,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 2318,
 | |
|                     "end": 0,
 | |
|                     "name": "patternLinear2d",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 2318,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": null
 | |
|               },
 | |
|               {
 | |
|                 "arguments": [
 | |
|                   {
 | |
|                     "type": "LabeledArg",
 | |
|                     "label": {
 | |
|                       "commentStart": 2411,
 | |
|                       "end": 0,
 | |
|                       "name": "length",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "arg": {
 | |
|                       "commentStart": 2420,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "argument": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 2421,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 2421,
 | |
|                             "end": 0,
 | |
|                             "name": "thickness",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "commentStart": 2420,
 | |
|                         "end": 0,
 | |
|                         "operator": "-",
 | |
|                         "start": 0,
 | |
|                         "type": "UnaryExpression",
 | |
|                         "type": "UnaryExpression"
 | |
|                       },
 | |
|                       "operator": "-",
 | |
|                       "right": {
 | |
|                         "commentStart": 2431,
 | |
|                         "end": 0,
 | |
|                         "raw": "0.1",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 0.1,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     }
 | |
|                   }
 | |
|                 ],
 | |
|                 "callee": {
 | |
|                   "abs_path": false,
 | |
|                   "commentStart": 2400,
 | |
|                   "end": 0,
 | |
|                   "name": {
 | |
|                     "commentStart": 2400,
 | |
|                     "end": 0,
 | |
|                     "name": "extrude",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "path": [],
 | |
|                   "start": 0,
 | |
|                   "type": "Name"
 | |
|                 },
 | |
|                 "commentStart": 2400,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "type": "CallExpressionKw",
 | |
|                 "unlabeled": {
 | |
|                   "commentStart": 2408,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "PipeSubstitution",
 | |
|                   "type": "PipeSubstitution"
 | |
|                 }
 | |
|               }
 | |
|             ],
 | |
|             "commentStart": 2203,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "PipeExpression",
 | |
|             "type": "PipeExpression"
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "VariableDeclarator"
 | |
|         },
 | |
|         "end": 0,
 | |
|         "kind": "const",
 | |
|         "start": 0,
 | |
|         "type": "VariableDeclaration",
 | |
|         "type": "VariableDeclaration"
 | |
|       }
 | |
|     ],
 | |
|     "commentStart": 0,
 | |
|     "end": 0,
 | |
|     "nonCodeMeta": {
 | |
|       "nonCodeNodes": {
 | |
|         "0": [
 | |
|           {
 | |
|             "commentStart": 442,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "psi (6061-T6 aluminum)",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "1": [
 | |
|           {
 | |
|             "commentStart": 478,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "inch",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "2": [
 | |
|           {
 | |
|             "commentStart": 494,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "Force on shelf - lbs",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "3": [
 | |
|           {
 | |
|             "commentStart": 539,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "FOS of 1.2",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "4": [
 | |
|           {
 | |
|             "commentStart": 569,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "inches",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "5": [
 | |
|           {
 | |
|             "commentStart": 594,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "inches",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "6": [
 | |
|           {
 | |
|             "commentStart": 620,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "Shelf is 12 inches in depth from the wall",
 | |
|               "style": "line"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "7": [
 | |
|           {
 | |
|             "commentStart": 689,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "assume the force is applied at the end of the shelf to be conservative (lb-in)",
 | |
|               "style": "line"
 | |
|             }
 | |
|           },
 | |
|           {
 | |
|             "commentStart": 771,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "8": [
 | |
|           {
 | |
|             "commentStart": 884,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "inlineComment",
 | |
|               "value": "this is the calculation of two brackets holding up the shelf (inches)",
 | |
|               "style": "line"
 | |
|             }
 | |
|           },
 | |
|           {
 | |
|             "commentStart": 957,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "11": [
 | |
|           {
 | |
|             "commentStart": 1047,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "12": [
 | |
|           {
 | |
|             "commentStart": 1855,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "13": [
 | |
|           {
 | |
|             "commentStart": 2189,
 | |
|             "end": 0,
 | |
|             "start": 0,
 | |
|             "type": "NonCodeNode",
 | |
|             "value": {
 | |
|               "type": "newLine"
 | |
|             }
 | |
|           }
 | |
|         ]
 | |
|       },
 | |
|       "startNodes": []
 | |
|     },
 | |
|     "start": 0
 | |
|   }
 | |
| }
 |