2025-03-06 18:01:24 -05:00
---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing gridfinity-baseplate.kcl
---
{
"Ok": {
"body": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "binLength",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "42.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 42.0,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
2025-04-04 11:03:13 -07:00
"// Define parameters"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "cornerRadius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "4.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "firstStep",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.7",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.7,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "secondStep",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.8",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.8,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "thirdStep",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2.15",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.15,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "countBinWidth",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Number of bins in each direction"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "countBinLength",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "3",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "height",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "firstStep",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "+",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "secondStep",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "+",
"right": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "thirdStep",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// The total height of the baseplate is a summation of the vertical heights of the baseplate steps"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "face",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": {
"body": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "faceSketch",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
2025-06-24 14:38:43 -04:00
"arguments": [],
2025-03-06 18:01:24 -05:00
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "startSketchOn",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "plane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
2025-04-25 16:01:35 -05:00
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-25 16:01:35 -05:00
"name": "at",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"elements": [
{
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-25 16:01:35 -05:00
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-25 16:01:35 -05:00
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
2025-03-06 18:01:24 -05:00
}
2025-04-25 16:01:35 -05:00
],
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-25 16:01:35 -05:00
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-25 16:01:35 -05:00
"name": "startProfile",
2025-03-24 20:58:55 +13:00
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-04-25 16:01:35 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
2025-03-07 22:07:16 -06:00
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-07 22:07:16 -06:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "height",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-07 22:07:16 -06:00
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "angle",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"raw": "45",
2025-03-20 11:06:27 +13:00
"start": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "Literal",
"type": "Literal",
2025-03-06 18:01:24 -05:00
"value": {
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"value": 45.0,
"suffix": "None"
2025-03-06 18:01:24 -05:00
}
},
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "lengthY",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "thirdStep",
2025-03-20 11:06:27 +13:00
"start": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "angledLine",
2025-03-24 20:58:55 +13:00
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
2025-03-07 22:07:16 -06:00
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-07 22:07:16 -06:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-07 22:07:16 -06:00
"arg": {
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "secondStep",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-07 22:07:16 -06:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-07 22:07:16 -06:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "yLine",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-07 22:07:16 -06:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
"arguments": [
{
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "angle",
"start": 0,
"type": "Identifier"
},
"arg": {
"argument": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"raw": "45",
2025-03-20 11:06:27 +13:00
"start": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "Literal",
"type": "Literal",
2025-03-06 18:01:24 -05:00
"value": {
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"value": 45.0,
"suffix": "None"
2025-03-06 18:01:24 -05:00
}
},
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
},
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "lengthY",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "firstStep",
2025-03-20 11:06:27 +13:00
"start": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"name": "angledLine",
2025-03-24 20:58:55 +13:00
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
},
{
2025-06-24 14:38:43 -04:00
"arguments": [],
2025-03-06 18:01:24 -05:00
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "close",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
2025-03-06 18:01:24 -05:00
}
],
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"argument": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "faceSketch",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ReturnStatement",
"type": "ReturnStatement"
}
],
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"params": [
{
"type": "Parameter",
"identifier": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "plane",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
2025-05-01 11:36:51 -05:00
},
"labeled": false
2025-03-06 18:01:24 -05:00
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "FunctionExpression",
"type": "FunctionExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "fn",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Define a function which builds the profile of the baseplate bin"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "singleSide",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "-",
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "cornerRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "*",
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "extrude",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-06-24 14:38:43 -04:00
"arguments": [],
2025-03-06 18:01:24 -05:00
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "face",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "cornerRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "offsetPlane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
2025-03-06 18:01:24 -05:00
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Extrude a single side of the bin"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "sides",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "arcDegrees",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "/",
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "/",
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "4",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "rotateDuplicates",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "true",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "patternCircular3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "singleSide",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Create the other sides of the bin by using a circular pattern"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis000",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"name": "direction",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-04-03 22:44:52 +13:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-04-03 22:44:52 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"raw": "0.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-04-03 22:44:52 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"start": 0,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-04-03 22:44:52 +13:00
"end": 0,
"key": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-04-03 22:44:52 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"name": "origin",
"start": 0,
"type": "Identifier"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"start": 0,
"type": "ObjectProperty",
"value": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-04-03 22:44:52 +13:00
"elements": [
2025-03-06 18:01:24 -05:00
{
2025-04-03 22:44:52 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"name": "cornerRadius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-04-03 22:44:52 +13:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-04-03 22:44:52 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
{
2025-04-03 22:44:52 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-04-03 22:44:52 +13:00
"name": "cornerRadius",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-04-03 22:44:52 +13:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-04-03 22:44:52 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
],
2025-04-03 22:44:52 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-04-03 22:44:52 +13:00
"type": "ArrayExpression",
"type": "ArrayExpression"
2025-03-06 18:01:24 -05:00
}
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectExpression",
"type": "ObjectExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Define an axis axis000"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "singleCorner",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
2025-03-18 20:34:44 -07:00
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-18 20:34:44 -07:00
"name": "angle",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-18 20:34:44 -07:00
"type": "Identifier"
},
"arg": {
"argument": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-18 20:34:44 -07:00
"raw": "90",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-18 20:34:44 -07:00
"type": "Literal",
"type": "Literal",
2025-03-06 18:01:24 -05:00
"value": {
2025-03-18 20:34:44 -07:00
"value": 90.0,
"suffix": "None"
2025-03-06 18:01:24 -05:00
}
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-18 20:34:44 -07:00
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-18 20:34:44 -07:00
"type": "UnaryExpression",
"type": "UnaryExpression"
}
2025-03-06 18:01:24 -05:00
},
{
2025-03-18 20:34:44 -07:00
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-18 20:34:44 -07:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-18 20:34:44 -07:00
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "axis000",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-18 20:34:44 -07:00
}
2025-03-06 18:01:24 -05:00
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "revolve",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-18 20:34:44 -07:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-06-24 14:38:43 -04:00
"arguments": [],
2025-03-18 20:34:44 -07:00
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "face",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-18 20:34:44 -07:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "cornerRadius",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "offsetPlane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-02 16:08:12 -05:00
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
2025-03-18 20:34:44 -07:00
}
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Create a single corner of the bin"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "corners",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "arcDegrees",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "360",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 360.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "center",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "/",
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"left": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"operator": "/",
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "4",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 4.0,
"suffix": "None"
}
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "rotateDuplicates",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "true",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": true
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "patternCircular3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "singleCorner",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Create the corners of the bin"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "basePlateSides",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "countBinWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "distance",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "patternLinear3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "sides",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "countBinLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "distance",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "patternLinear3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
"nonCodeNodes": {
"1": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
2025-04-04 11:03:13 -07:00
"value": "Create the corners of the baseplate by patterning the corners",
2025-03-06 18:01:24 -05:00
"style": "line"
}
}
]
},
"startNodes": []
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
2025-04-04 11:03:13 -07:00
"// Create the baseplate by patterning sides"
2025-03-20 16:23:20 +13:00
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"declaration": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"id": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "basePlateCorners",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "countBinWidth",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "distance",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "patternLinear3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "corners",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "axis",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-06 18:01:24 -05:00
"elements": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "1.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"raw": "0.0",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ArrayExpression",
"type": "ArrayExpression"
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "instances",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "countBinLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
},
{
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "distance",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
"arg": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "binLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
}
],
"callee": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "patternLinear3d",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "PipeExpression",
"type": "PipeExpression"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclarator"
},
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"kind": "const",
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
2025-03-20 16:23:20 +13:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"innerAttrs": [
{
2025-03-20 16:23:20 +13:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "settings",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 16:23:20 +13:00
"preComments": [
"// Gridfinity Baseplate",
"// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion",
"",
"",
"// Set units in millimeters (mm)"
],
2025-03-06 18:01:24 -05:00
"properties": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"key": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"name": "defaultLengthUnit",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ObjectProperty",
"value": {
2025-03-24 20:58:55 +13:00
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-24 20:58:55 +13:00
"name": "mm",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-24 20:58:55 +13:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
2025-05-06 08:44:03 +12:00
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-06 08:44:03 +12:00
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-06 08:44:03 +12:00
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-05-06 08:44:03 +12:00
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
2025-03-06 18:01:24 -05:00
}
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Annotation"
}
],
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-06 18:01:24 -05:00
"nonCodeMeta": {
2025-03-20 16:23:20 +13:00
"nonCodeNodes": {},
2025-03-06 18:01:24 -05:00
"startNodes": [
{
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-06-24 14:38:43 -04:00
"moduleId": 0,
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"start": 0
}
}