2025-03-06 18:01:24 -05:00
---
source: kcl-lib/src/simulation_tests.rs
2025-03-13 23:38:51 -07:00
description: Result of parsing bench.kcl
2025-03-06 18:01:24 -05:00
---
{
"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-03-06 18:01:24 -05:00
"name": "benchLength",
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
"raw": "56",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 56.0,
"suffix": "None"
}
},
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-03-20 16:23:20 +13:00
"preComments": [
"// Define the bench length"
],
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-20 11:06:27 +13:00
"end": 0,
2025-03-06 18:01:24 -05:00
"path": {
"type": "Kcl",
2025-03-13 23:38:51 -07:00
"filename": "bench-parts.kcl"
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Import various constants and functions from our library"
],
2025-03-06 18:01:24 -05:00
"selector": {
"type": "List",
"items": [
{
"alias": null,
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
"name": {
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
"name": "dividerThickness",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportItem"
}
]
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportStatement",
"type": "ImportStatement"
},
{
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
"path": {
"type": "Kcl",
2025-03-13 23:38:51 -07:00
"filename": "bench-parts.kcl"
2025-03-06 18:01:24 -05:00
},
"selector": {
"type": "List",
"items": [
{
"alias": null,
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
"name": {
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
"name": "divider",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportItem"
}
]
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportStatement",
"type": "ImportStatement"
},
{
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
"path": {
"type": "Kcl",
2025-03-13 23:38:51 -07:00
"filename": "bench-parts.kcl"
2025-03-06 18:01:24 -05:00
},
"selector": {
"type": "List",
"items": [
{
"alias": null,
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
"name": {
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
"name": "connector",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportItem"
}
]
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportStatement",
"type": "ImportStatement"
},
{
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
"path": {
"type": "Kcl",
2025-03-13 23:38:51 -07:00
"filename": "bench-parts.kcl"
2025-03-06 18:01:24 -05:00
},
"selector": {
"type": "List",
"items": [
{
"alias": null,
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
"name": {
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
"name": "seatSlats",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportItem"
}
]
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportStatement",
"type": "ImportStatement"
},
{
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
"path": {
"type": "Kcl",
2025-03-13 23:38:51 -07:00
"filename": "bench-parts.kcl"
2025-03-06 18:01:24 -05:00
},
"selector": {
"type": "List",
"items": [
{
"alias": null,
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
"name": {
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
"name": "backSlats",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportItem"
}
]
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportStatement",
"type": "ImportStatement"
},
{
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
"path": {
"type": "Kcl",
2025-03-13 23:38:51 -07:00
"filename": "bench-parts.kcl"
2025-03-06 18:01:24 -05:00
},
"selector": {
"type": "List",
"items": [
{
"alias": null,
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
"name": {
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
"name": "armRest",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Identifier"
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportItem"
}
]
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ImportStatement",
"type": "ImportStatement"
},
{
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
"expression": {
"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-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,
"name": "divider",
"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,
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Create the dividers, these hold the seat and back slats"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
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
"expression": {
"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-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,
"name": "divider",
"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,
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"left": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-02 16:08:12 -05:00
"name": {
2025-04-24 22:01:27 +12:00
"commentStart": 0,
"end": 0,
2025-05-02 16:08:12 -05:00
"name": "benchLength",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-02 16:08:12 -05:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
2025-03-06 18:01:24 -05:00
}
2025-05-02 16:08:12 -05:00
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-02 16:08:12 -05:00
"name": "offsetPlane",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-02 16:08:12 -05:00
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-02 16:08:12 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-02 16:08:12 -05:00
"name": "YZ",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
2025-05-02 16:08:12 -05:00
}
},
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
"commentStart": 0,
"end": 0,
"expression": {
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-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,
"name": "divider",
"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,
"start": 0,
2025-05-02 16:08:12 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "benchLength",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "offsetPlane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"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": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
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
"expression": {
"arguments": [
{
2025-05-01 11:36:51 -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-05-01 11:36:51 -05:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"arg": {
2025-03-26 08:53:34 -07: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-03-26 08:53:34 -07:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-26 08:53:34 -07:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "benchLength",
2025-03-26 08:53:34 -07:00
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-26 08:53:34 -07: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-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,
"name": "connector",
"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,
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"left": {
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "benchLength",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "offsetPlane",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Create the connectors to join the dividers"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
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
"expression": {
"arguments": [
{
2025-05-01 11:36:51 -05:00
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "length",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "benchLength",
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
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"operator": "+",
"right": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "dividerThickness",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "seatSlats",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"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-05-01 11:36:51 -05:00
"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-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-05-01 11:36:51 -05:00
"name": "benchLength",
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",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"commentStart": 0,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "dividerThickness",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.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": "BinaryExpression",
"type": "BinaryExpression"
2025-05-01 11:36:51 -05:00
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
2025-03-06 18:01:24 -05:00
}
2025-05-01 11:36:51 -05:00
}
],
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "offsetPlane",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "YZ",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
}
},
"preComments": [
"",
"",
"// Create the seat slats"
],
"start": 0,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
"commentStart": 0,
"end": 0,
"expression": {
"arguments": [
2025-03-06 18:01:24 -05:00
{
2025-05-01 11:36:51 -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-05-01 11:36:51 -05:00
"name": "length",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"left": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": {
"commentStart": 0,
"end": 0,
"name": "benchLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-24 20:58:55 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
},
"operator": "+",
"right": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "dividerThickness",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
2025-03-24 20:58:55 +13:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
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-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-05-01 11:36:51 -05:00
"name": "backSlats",
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,
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"arguments": [
{
"type": "LabeledArg",
"label": {
"commentStart": 0,
"end": 0,
"name": "offset",
"start": 0,
"type": "Identifier"
},
"arg": {
"commentStart": 0,
"end": 0,
"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-05-01 11:36:51 -05:00
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "benchLength",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"commentStart": 0,
"end": 0,
"left": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "dividerThickness",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"operator": "/",
2025-03-06 18:01:24 -05:00
"right": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"raw": "2",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.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": "BinaryExpression",
"type": "BinaryExpression"
2025-05-01 11:36:51 -05:00
},
2025-03-24 20:58:55 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "offsetPlane",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "YZ",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Identifier"
2025-03-06 18:01:24 -05:00
},
2025-05-01 11:36:51 -05:00
"path": [],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
2025-03-06 18:01:24 -05:00
}
2025-05-01 11:36:51 -05:00
}
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Create the back slats"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
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
"expression": {
"arguments": [
{
2025-05-01 11:36:51 -05:00
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-26 08:53:34 -07:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "offset",
2025-03-26 08:53:34 -07:00
"start": 0,
2025-04-24 22:01:27 +12:00
"type": "Identifier"
2025-03-26 08:53:34 -07:00
},
2025-05-01 11:36:51 -05:00
"arg": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-20 11:06:27 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"left": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": {
"commentStart": 0,
"end": 0,
"name": "benchLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-24 20:58:55 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
2025-03-24 20:58:55 +13:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
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-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,
"name": "armRest",
"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,
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
}
2025-03-06 18:01:24 -05:00
},
2025-03-20 16:23:20 +13:00
"preComments": [
"",
"",
"// Create the arm rests"
],
2025-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "ExpressionStatement",
"type": "ExpressionStatement"
},
{
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
"expression": {
"arguments": [
{
2025-05-01 11:36:51 -05:00
"type": "LabeledArg",
"label": {
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-26 08:53:34 -07:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": "offset",
2025-03-26 08:53:34 -07:00
"start": 0,
2025-04-24 22:01:27 +12:00
"type": "Identifier"
2025-03-26 08:53:34 -07:00
},
2025-05-01 11:36:51 -05:00
"arg": {
"commentStart": 0,
"end": 0,
"left": {
"argument": {
"abs_path": false,
2025-04-07 17:42:15 +12:00
"commentStart": 0,
2025-03-24 20:58:55 +13:00
"end": 0,
2025-05-01 11:36:51 -05:00
"name": {
"commentStart": 0,
"end": 0,
"name": "benchLength",
"start": 0,
"type": "Identifier"
},
"path": [],
2025-03-24 20:58:55 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "Name",
"type": "Name"
2025-03-24 20:58:55 +13:00
},
2025-05-01 11:36:51 -05:00
"commentStart": 0,
"end": 0,
"operator": "-",
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "UnaryExpression",
"type": "UnaryExpression"
},
"operator": "/",
"right": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
2025-03-06 18:01:24 -05:00
},
2025-03-20 11:06:27 +13:00
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "BinaryExpression",
"type": "BinaryExpression"
}
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-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,
"name": "armRest",
"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,
"start": 0,
2025-05-01 11:36:51 -05:00
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "YZ",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"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": "ExpressionStatement",
"type": "ExpressionStatement"
}
],
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-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-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": [
"// Bench",
"// This is a slight remix of Depep1's original 3D Boaty (https://www.printables.com/model/1141963-3d-boaty). This is a tool used for benchmarking 3D FDM printers for bed adhesion, overhangs, bridging and top surface quality. The name of this file is a bit of misnomer, the shape of the object is a typical park bench.",
"",
"",
"// 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-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-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-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,
"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-03-20 11:06:27 +13:00
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "Annotation"
}
],
"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,
"start": 0,
2025-03-06 18:01:24 -05:00
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"start": 0
}
}