Files
modeling-app/rust/kcl-lib/tests/i_shape/ast.snap
Adam Chalmers aea82e004a KCL: Convert x/y lines to use keyword arguments (#5615)
Previously, `xLine`, `xLineTo`, `yLine` and `yLineTo` used positional arguments. Now:

- `xLineTo` and `yLineTo` have been removed
- `xLine` and `yLine` both use keyword arguments:
  - `length`, optional (i.e. a relative distance along the X or Y axis)
  - `endAbsolute` optional (i.e. an absolute point along the X or Y axis)
  - `tag` optional
- Exactly one of `length` or `endAbsolute` must be given. Not both, not neither.

For example:

```
// Old way
|> xLine(6.04, %)
|> yLineTo(20, %, $base)

// New way
|> xLine(length = 6.04)
|> yLine(endAbsolute = 20, tag = $base)
```

This also improves some of the general-purpose keyword arguments code in modeling app's TS codebase.
2025-03-07 22:07:16 -06:00

2648 lines
88 KiB
Plaintext

---
source: kcl-lib/src/simulation_tests.rs
description: Result of parsing i_shape.kcl
---
{
"Ok": {
"body": [
{
"declaration": {
"end": 48,
"id": {
"end": 21,
"name": "d_wrist_circumference",
"start": 0,
"type": "Identifier"
},
"init": {
"elements": [
{
"end": 29,
"raw": "22.8",
"start": 25,
"type": "Literal",
"type": "Literal",
"value": {
"value": 22.8,
"suffix": "None"
}
},
{
"end": 35,
"raw": "10.7",
"start": 31,
"type": "Literal",
"type": "Literal",
"value": {
"value": 10.7,
"suffix": "None"
}
},
{
"end": 41,
"raw": "16.4",
"start": 37,
"type": "Literal",
"type": "Literal",
"value": {
"value": 16.4,
"suffix": "None"
}
},
{
"end": 47,
"raw": "18.5",
"start": 43,
"type": "Literal",
"type": "Literal",
"value": {
"value": 18.5,
"suffix": "None"
}
}
],
"end": 48,
"start": 24,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 48,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 162,
"id": {
"end": 54,
"name": "width",
"start": 49,
"type": "Identifier"
},
"init": {
"end": 162,
"left": {
"end": 135,
"left": {
"end": 108,
"left": {
"computed": false,
"end": 81,
"object": {
"end": 78,
"name": "d_wrist_circumference",
"start": 57,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 80,
"raw": "0",
"start": 79,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 57,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "+",
"right": {
"computed": false,
"end": 108,
"object": {
"end": 105,
"name": "d_wrist_circumference",
"start": 84,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 107,
"raw": "1",
"start": 106,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 84,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 57,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"computed": false,
"end": 135,
"object": {
"end": 132,
"name": "d_wrist_circumference",
"start": 111,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 134,
"raw": "2",
"start": 133,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 111,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 57,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"computed": false,
"end": 162,
"object": {
"end": 159,
"name": "d_wrist_circumference",
"start": 138,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 161,
"raw": "3",
"start": 160,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
"start": 138,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 57,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 49,
"type": "VariableDeclarator"
},
"end": 162,
"kind": "const",
"start": 49,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 177,
"id": {
"end": 169,
"name": "length",
"start": 163,
"type": "Identifier"
},
"init": {
"end": 177,
"raw": "120.0",
"start": 172,
"type": "Literal",
"type": "Literal",
"value": {
"value": 120.0,
"suffix": "None"
}
},
"start": 163,
"type": "VariableDeclarator"
},
"end": 177,
"kind": "const",
"start": 163,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 199,
"id": {
"end": 192,
"name": "hand_thickness",
"start": 178,
"type": "Identifier"
},
"init": {
"end": 199,
"raw": "24.0",
"start": 195,
"type": "Literal",
"type": "Literal",
"value": {
"value": 24.0,
"suffix": "None"
}
},
"start": 178,
"type": "VariableDeclarator"
},
"end": 199,
"kind": "const",
"start": 178,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 219,
"id": {
"end": 213,
"name": "corner_radius",
"start": 200,
"type": "Identifier"
},
"init": {
"end": 219,
"raw": "5.0",
"start": 216,
"type": "Literal",
"type": "Literal",
"value": {
"value": 5.0,
"suffix": "None"
}
},
"start": 200,
"type": "VariableDeclarator"
},
"end": 219,
"kind": "const",
"start": 200,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 1982,
"id": {
"end": 396,
"name": "brace_base",
"start": 386,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 415,
"name": "XY",
"start": 413,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 412,
"name": "startSketchOn",
"start": 399,
"type": "Identifier"
},
"end": 416,
"start": 399,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 451,
"name": "corner_radius",
"start": 438,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 454,
"raw": "0",
"start": 453,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 455,
"start": 437,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 458,
"start": 457,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 436,
"name": "startProfileAt",
"start": 422,
"type": "Identifier"
},
"end": 459,
"start": 422,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 473,
"name": "end",
"start": 470,
"type": "Identifier"
},
"arg": {
"elements": [
{
"end": 498,
"left": {
"end": 482,
"name": "width",
"start": 477,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 498,
"name": "corner_radius",
"start": 485,
"type": "Identifier",
"type": "Identifier"
},
"start": 477,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
{
"end": 503,
"raw": "0.0",
"start": 500,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 504,
"start": 476,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 469,
"name": "line",
"start": 465,
"type": "Identifier"
},
"end": 505,
"start": 465,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 549,
"name": "corner_radius",
"start": 536,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 564,
"name": "corner_radius",
"start": 551,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 565,
"start": 535,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 568,
"start": 567,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 534,
"name": "tangentialArcToRelative",
"start": 511,
"type": "Identifier"
},
"end": 569,
"start": 511,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 587,
"name": "length",
"start": 581,
"type": "Identifier"
},
"arg": {
"end": 610,
"left": {
"end": 594,
"raw": "25.0",
"start": 590,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 610,
"name": "corner_radius",
"start": 597,
"type": "Identifier",
"type": "Identifier"
},
"start": 590,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 580,
"name": "yLine",
"start": 575,
"type": "Identifier"
},
"end": 611,
"start": 575,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 656,
"name": "corner_radius",
"start": 643,
"type": "Identifier",
"type": "Identifier"
},
"end": 656,
"operator": "-",
"start": 642,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 671,
"name": "corner_radius",
"start": 658,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 672,
"start": 641,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 675,
"start": 674,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 640,
"name": "tangentialArcToRelative",
"start": 617,
"type": "Identifier"
},
"end": 676,
"start": 617,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 694,
"name": "length",
"start": 688,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 744,
"left": {
"computed": false,
"end": 723,
"object": {
"end": 720,
"name": "d_wrist_circumference",
"start": 699,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 722,
"raw": "0",
"start": 721,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
"start": 699,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "-",
"right": {
"end": 744,
"left": {
"end": 740,
"name": "corner_radius",
"start": 727,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 744,
"raw": "2",
"start": 743,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 727,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 699,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 744,
"operator": "-",
"start": 697,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 687,
"name": "xLine",
"start": 682,
"type": "Identifier"
},
"end": 747,
"start": 682,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 792,
"name": "corner_radius",
"start": 779,
"type": "Identifier",
"type": "Identifier"
},
"end": 792,
"operator": "-",
"start": 778,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 807,
"name": "corner_radius",
"start": 794,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 808,
"start": 777,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 811,
"start": 810,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 776,
"name": "tangentialArcToRelative",
"start": 753,
"type": "Identifier"
},
"end": 812,
"start": 753,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 830,
"name": "length",
"start": 824,
"type": "Identifier"
},
"arg": {
"end": 874,
"left": {
"end": 853,
"left": {
"end": 846,
"left": {
"end": 839,
"name": "length",
"start": 833,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 846,
"raw": "25.0",
"start": 842,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"start": 833,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 853,
"raw": "23.0",
"start": 849,
"type": "Literal",
"type": "Literal",
"value": {
"value": 23.0,
"suffix": "None"
}
},
"start": 833,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 874,
"left": {
"end": 870,
"name": "corner_radius",
"start": 857,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 874,
"raw": "2",
"start": 873,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 857,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 833,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 823,
"name": "yLine",
"start": 818,
"type": "Identifier"
},
"end": 876,
"start": 818,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 920,
"name": "corner_radius",
"start": 907,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 935,
"name": "corner_radius",
"start": 922,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 936,
"start": 906,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 939,
"start": 938,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 905,
"name": "tangentialArcToRelative",
"start": 882,
"type": "Identifier"
},
"end": 940,
"start": 882,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 958,
"name": "length",
"start": 952,
"type": "Identifier"
},
"arg": {
"end": 986,
"left": {
"end": 965,
"raw": "15.0",
"start": 961,
"type": "Literal",
"type": "Literal",
"value": {
"value": 15.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 986,
"left": {
"end": 982,
"name": "corner_radius",
"start": 969,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 986,
"raw": "2",
"start": 985,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 969,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 961,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 951,
"name": "xLine",
"start": 946,
"type": "Identifier"
},
"end": 988,
"start": 946,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 1032,
"name": "corner_radius",
"start": 1019,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 1047,
"name": "corner_radius",
"start": 1034,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 1048,
"start": 1018,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1051,
"start": 1050,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1017,
"name": "tangentialArcToRelative",
"start": 994,
"type": "Identifier"
},
"end": 1052,
"start": 994,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1070,
"name": "length",
"start": 1064,
"type": "Identifier"
},
"arg": {
"end": 1093,
"left": {
"end": 1077,
"raw": "23.0",
"start": 1073,
"type": "Literal",
"type": "Literal",
"value": {
"value": 23.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 1093,
"name": "corner_radius",
"start": 1080,
"type": "Identifier",
"type": "Identifier"
},
"start": 1073,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 1063,
"name": "yLine",
"start": 1058,
"type": "Identifier"
},
"end": 1094,
"start": 1058,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 1139,
"name": "corner_radius",
"start": 1126,
"type": "Identifier",
"type": "Identifier"
},
"end": 1139,
"operator": "-",
"start": 1125,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 1154,
"name": "corner_radius",
"start": 1141,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 1155,
"start": 1124,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1158,
"start": 1157,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1123,
"name": "tangentialArcToRelative",
"start": 1100,
"type": "Identifier"
},
"end": 1159,
"start": 1100,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1177,
"name": "length",
"start": 1171,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 1231,
"left": {
"end": 1210,
"left": {
"end": 1203,
"left": {
"end": 1196,
"name": "hand_thickness",
"start": 1182,
"type": "Identifier",
"type": "Identifier"
},
"operator": "+",
"right": {
"end": 1203,
"raw": "15.0",
"start": 1199,
"type": "Literal",
"type": "Literal",
"value": {
"value": 15.0,
"suffix": "None"
}
},
"start": 1182,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"end": 1210,
"raw": "15.0",
"start": 1206,
"type": "Literal",
"type": "Literal",
"value": {
"value": 15.0,
"suffix": "None"
}
},
"start": 1182,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 1231,
"left": {
"end": 1227,
"name": "corner_radius",
"start": 1214,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 1231,
"raw": "2",
"start": 1230,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1214,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 1182,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 1231,
"operator": "-",
"start": 1180,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 1170,
"name": "xLine",
"start": 1165,
"type": "Identifier"
},
"end": 1234,
"start": 1165,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 1279,
"name": "corner_radius",
"start": 1266,
"type": "Identifier",
"type": "Identifier"
},
"end": 1279,
"operator": "-",
"start": 1265,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"end": 1295,
"name": "corner_radius",
"start": 1282,
"type": "Identifier",
"type": "Identifier"
},
"end": 1295,
"operator": "-",
"start": 1281,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 1296,
"start": 1264,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1299,
"start": 1298,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1263,
"name": "tangentialArcToRelative",
"start": 1240,
"type": "Identifier"
},
"end": 1300,
"start": 1240,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1318,
"name": "length",
"start": 1312,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 1343,
"left": {
"end": 1327,
"raw": "23.0",
"start": 1323,
"type": "Literal",
"type": "Literal",
"value": {
"value": 23.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 1343,
"name": "corner_radius",
"start": 1330,
"type": "Identifier",
"type": "Identifier"
},
"start": 1323,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 1343,
"operator": "-",
"start": 1321,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 1311,
"name": "yLine",
"start": 1306,
"type": "Identifier"
},
"end": 1345,
"start": 1306,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 1389,
"name": "corner_radius",
"start": 1376,
"type": "Identifier",
"type": "Identifier"
},
{
"argument": {
"end": 1405,
"name": "corner_radius",
"start": 1392,
"type": "Identifier",
"type": "Identifier"
},
"end": 1405,
"operator": "-",
"start": 1391,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 1406,
"start": 1375,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1409,
"start": 1408,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1374,
"name": "tangentialArcToRelative",
"start": 1351,
"type": "Identifier"
},
"end": 1410,
"start": 1351,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1428,
"name": "length",
"start": 1422,
"type": "Identifier"
},
"arg": {
"end": 1456,
"left": {
"end": 1435,
"raw": "15.0",
"start": 1431,
"type": "Literal",
"type": "Literal",
"value": {
"value": 15.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 1456,
"left": {
"end": 1452,
"name": "corner_radius",
"start": 1439,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 1456,
"raw": "2",
"start": 1455,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1439,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 1431,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 1421,
"name": "xLine",
"start": 1416,
"type": "Identifier"
},
"end": 1458,
"start": 1416,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 1502,
"name": "corner_radius",
"start": 1489,
"type": "Identifier",
"type": "Identifier"
},
{
"argument": {
"end": 1518,
"name": "corner_radius",
"start": 1505,
"type": "Identifier",
"type": "Identifier"
},
"end": 1518,
"operator": "-",
"start": 1504,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 1519,
"start": 1488,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1522,
"start": 1521,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1487,
"name": "tangentialArcToRelative",
"start": 1464,
"type": "Identifier"
},
"end": 1523,
"start": 1464,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1541,
"name": "length",
"start": 1535,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 1587,
"left": {
"end": 1566,
"left": {
"end": 1559,
"left": {
"end": 1552,
"name": "length",
"start": 1546,
"type": "Identifier",
"type": "Identifier"
},
"operator": "-",
"right": {
"end": 1559,
"raw": "25.0",
"start": 1555,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"start": 1546,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 1566,
"raw": "23.0",
"start": 1562,
"type": "Literal",
"type": "Literal",
"value": {
"value": 23.0,
"suffix": "None"
}
},
"start": 1546,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 1587,
"left": {
"end": 1583,
"name": "corner_radius",
"start": 1570,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 1587,
"raw": "2",
"start": 1586,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1570,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 1546,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 1587,
"operator": "-",
"start": 1544,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 1534,
"name": "yLine",
"start": 1529,
"type": "Identifier"
},
"end": 1590,
"start": 1529,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 1635,
"name": "corner_radius",
"start": 1622,
"type": "Identifier",
"type": "Identifier"
},
"end": 1635,
"operator": "-",
"start": 1621,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"end": 1651,
"name": "corner_radius",
"start": 1638,
"type": "Identifier",
"type": "Identifier"
},
"end": 1651,
"operator": "-",
"start": 1637,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 1652,
"start": 1620,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1655,
"start": 1654,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1619,
"name": "tangentialArcToRelative",
"start": 1596,
"type": "Identifier"
},
"end": 1656,
"start": 1596,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1674,
"name": "length",
"start": 1668,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 1790,
"left": {
"end": 1774,
"left": {
"end": 1757,
"left": {
"end": 1730,
"left": {
"computed": false,
"end": 1703,
"object": {
"end": 1700,
"name": "d_wrist_circumference",
"start": 1679,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 1702,
"raw": "1",
"start": 1701,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"start": 1679,
"type": "MemberExpression",
"type": "MemberExpression"
},
"operator": "+",
"right": {
"computed": false,
"end": 1730,
"object": {
"end": 1727,
"name": "d_wrist_circumference",
"start": 1706,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 1729,
"raw": "2",
"start": 1728,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 1706,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 1679,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"computed": false,
"end": 1757,
"object": {
"end": 1754,
"name": "d_wrist_circumference",
"start": 1733,
"type": "Identifier",
"type": "Identifier"
},
"property": {
"end": 1756,
"raw": "3",
"start": 1755,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
},
"start": 1733,
"type": "MemberExpression",
"type": "MemberExpression"
},
"start": 1679,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 1774,
"name": "hand_thickness",
"start": 1760,
"type": "Identifier",
"type": "Identifier"
},
"start": 1679,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "-",
"right": {
"end": 1790,
"name": "corner_radius",
"start": 1777,
"type": "Identifier",
"type": "Identifier"
},
"start": 1679,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 1790,
"operator": "-",
"start": 1677,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 1667,
"name": "xLine",
"start": 1662,
"type": "Identifier"
},
"end": 1792,
"start": 1662,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 1837,
"name": "corner_radius",
"start": 1824,
"type": "Identifier",
"type": "Identifier"
},
"end": 1837,
"operator": "-",
"start": 1823,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"end": 1853,
"name": "corner_radius",
"start": 1840,
"type": "Identifier",
"type": "Identifier"
},
"end": 1853,
"operator": "-",
"start": 1839,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 1854,
"start": 1822,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1857,
"start": 1856,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1821,
"name": "tangentialArcToRelative",
"start": 1798,
"type": "Identifier"
},
"end": 1858,
"start": 1798,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 1876,
"name": "length",
"start": 1870,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 1901,
"left": {
"end": 1885,
"raw": "25.0",
"start": 1881,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 1901,
"name": "corner_radius",
"start": 1888,
"type": "Identifier",
"type": "Identifier"
},
"start": 1881,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 1901,
"operator": "-",
"start": 1879,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 1869,
"name": "yLine",
"start": 1864,
"type": "Identifier"
},
"end": 1903,
"start": 1864,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 1947,
"name": "corner_radius",
"start": 1934,
"type": "Identifier",
"type": "Identifier"
},
{
"argument": {
"end": 1963,
"name": "corner_radius",
"start": 1950,
"type": "Identifier",
"type": "Identifier"
},
"end": 1963,
"operator": "-",
"start": 1949,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 1964,
"start": 1933,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 1967,
"start": 1966,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1932,
"name": "tangentialArcToRelative",
"start": 1909,
"type": "Identifier"
},
"end": 1968,
"start": 1909,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 1981,
"start": 1980,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 1979,
"name": "close",
"start": 1974,
"type": "Identifier"
},
"end": 1982,
"start": 1974,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 1982,
"start": 399,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 386,
"type": "VariableDeclarator"
},
"end": 1982,
"kind": "const",
"start": 386,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2464,
"id": {
"end": 1989,
"name": "inner",
"start": 1984,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"end": 2008,
"name": "XY",
"start": 2006,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 2005,
"name": "startSketchOn",
"start": 1992,
"type": "Identifier"
},
"end": 2009,
"start": 1992,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 2032,
"raw": "0",
"start": 2031,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 2035,
"raw": "0",
"start": 2034,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 2036,
"start": 2030,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 2039,
"start": 2038,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2029,
"name": "startProfileAt",
"start": 2015,
"type": "Identifier"
},
"end": 2040,
"start": 2015,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2058,
"name": "length",
"start": 2052,
"type": "Identifier"
},
"arg": {
"end": 2064,
"raw": "1.0",
"start": 2061,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"callee": {
"end": 2051,
"name": "xLine",
"start": 2046,
"type": "Identifier"
},
"end": 2065,
"start": 2046,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 2109,
"name": "corner_radius",
"start": 2096,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 2124,
"name": "corner_radius",
"start": 2111,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 2125,
"start": 2095,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 2128,
"start": 2127,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2094,
"name": "tangentialArcToRelative",
"start": 2071,
"type": "Identifier"
},
"end": 2129,
"start": 2071,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2147,
"name": "length",
"start": 2141,
"type": "Identifier"
},
"arg": {
"end": 2175,
"left": {
"end": 2154,
"raw": "25.0",
"start": 2150,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 2175,
"left": {
"end": 2171,
"name": "corner_radius",
"start": 2158,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 2175,
"raw": "2",
"start": 2174,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2158,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 2150,
"type": "BinaryExpression",
"type": "BinaryExpression"
}
}
],
"callee": {
"end": 2140,
"name": "yLine",
"start": 2135,
"type": "Identifier"
},
"end": 2177,
"start": 2135,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 2222,
"name": "corner_radius",
"start": 2209,
"type": "Identifier",
"type": "Identifier"
},
"end": 2222,
"operator": "-",
"start": 2208,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 2237,
"name": "corner_radius",
"start": 2224,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 2238,
"start": 2207,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 2241,
"start": 2240,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2206,
"name": "tangentialArcToRelative",
"start": 2183,
"type": "Identifier"
},
"end": 2242,
"start": 2183,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2260,
"name": "length",
"start": 2254,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 2267,
"raw": "1.0",
"start": 2264,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
},
"end": 2267,
"operator": "-",
"start": 2263,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 2253,
"name": "xLine",
"start": 2248,
"type": "Identifier"
},
"end": 2268,
"start": 2248,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"argument": {
"end": 2313,
"name": "corner_radius",
"start": 2300,
"type": "Identifier",
"type": "Identifier"
},
"end": 2313,
"operator": "-",
"start": 2299,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"argument": {
"end": 2329,
"name": "corner_radius",
"start": 2316,
"type": "Identifier",
"type": "Identifier"
},
"end": 2329,
"operator": "-",
"start": 2315,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 2330,
"start": 2298,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 2333,
"start": 2332,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2297,
"name": "tangentialArcToRelative",
"start": 2274,
"type": "Identifier"
},
"end": 2334,
"start": 2274,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2352,
"name": "length",
"start": 2346,
"type": "Identifier"
},
"arg": {
"argument": {
"end": 2382,
"left": {
"end": 2361,
"raw": "25.0",
"start": 2357,
"type": "Literal",
"type": "Literal",
"value": {
"value": 25.0,
"suffix": "None"
}
},
"operator": "-",
"right": {
"end": 2382,
"left": {
"end": 2378,
"name": "corner_radius",
"start": 2365,
"type": "Identifier",
"type": "Identifier"
},
"operator": "*",
"right": {
"end": 2382,
"raw": "2",
"start": 2381,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
},
"start": 2365,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"start": 2357,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"end": 2382,
"operator": "-",
"start": 2355,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
}
],
"callee": {
"end": 2345,
"name": "yLine",
"start": 2340,
"type": "Identifier"
},
"end": 2385,
"start": 2340,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
},
{
"arguments": [
{
"elements": [
{
"end": 2429,
"name": "corner_radius",
"start": 2416,
"type": "Identifier",
"type": "Identifier"
},
{
"argument": {
"end": 2445,
"name": "corner_radius",
"start": 2432,
"type": "Identifier",
"type": "Identifier"
},
"end": 2445,
"operator": "-",
"start": 2431,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 2446,
"start": 2415,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 2449,
"start": 2448,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2414,
"name": "tangentialArcToRelative",
"start": 2391,
"type": "Identifier"
},
"end": 2450,
"start": 2391,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 2463,
"start": 2462,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2461,
"name": "close",
"start": 2456,
"type": "Identifier"
},
"end": 2464,
"start": 2456,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 2464,
"start": 1992,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 1984,
"type": "VariableDeclarator"
},
"end": 2464,
"kind": "const",
"start": 1984,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
},
{
"declaration": {
"end": 2531,
"id": {
"end": 2471,
"name": "final",
"start": 2466,
"type": "Identifier"
},
"init": {
"body": [
{
"end": 2484,
"name": "brace_base",
"start": 2474,
"type": "Identifier",
"type": "Identifier"
},
{
"arguments": [
{
"end": 2500,
"name": "inner",
"start": 2495,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 2503,
"start": 2502,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 2494,
"name": "hole",
"start": 2490,
"type": "Identifier"
},
"end": 2504,
"start": 2490,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"type": "LabeledArg",
"label": {
"end": 2524,
"name": "length",
"start": 2518,
"type": "Identifier"
},
"arg": {
"end": 2530,
"raw": "3.0",
"start": 2527,
"type": "Literal",
"type": "Literal",
"value": {
"value": 3.0,
"suffix": "None"
}
}
}
],
"callee": {
"end": 2517,
"name": "extrude",
"start": 2510,
"type": "Identifier"
},
"end": 2531,
"start": 2510,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 2531,
"start": 2474,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 2466,
"type": "VariableDeclarator"
},
"end": 2531,
"kind": "const",
"start": 2466,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 2532,
"nonCodeMeta": {
"nonCodeNodes": {
"4": [
{
"end": 274,
"start": 219,
"type": "NonCodeNode",
"value": {
"type": "newLineBlockComment",
"value": "At first I thought this was going to be symmetric,",
"style": "line"
}
},
{
"end": 327,
"start": 275,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "but I measured intentionally to not be symmetric,",
"style": "line"
}
},
{
"end": 385,
"start": 328,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "because your wrist isn't a perfect cylindrical surface",
"style": "line"
}
}
],
"5": [
{
"end": 1984,
"start": 1982,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
],
"6": [
{
"end": 2466,
"start": 2464,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": []
},
"start": 0
}
}