Files
modeling-app/rust/kcl-lib/tests/kcl_samples/helium-tank/artifact_graph_flowchart.snap.md
Adam Chalmers 4575b32dbc KCL parser: Allow .prop or [index] to follow any expression (#7371)
Previously in a member expression like `foo.x` or `foo[3]`, `foo` had to be an identifier. You could not do something like `f().x` (and if you tried, you got a cryptic error). Rather than make the error better, we should just accept any expression to be the LHS of a member expression (aka its 'object').

This does knock our "parse lots of function calls" from 58 to 55 calls before it stack overflows. But I think it's fine, we'll address this in https://github.com/KittyCAD/modeling-app/pull/6226 when I get back to it.

Closes https://github.com/KittyCAD/modeling-app/issues/7273
2025-06-05 09:23:48 -04:00

27 KiB

flowchart LR
  subgraph path15 [Path]
    15["Path<br>[478, 527, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    26["Segment<br>[533, 553, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    27["Segment<br>[559, 578, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    28["Segment<br>[584, 625, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    29["Segment<br>[631, 670, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    30["Segment<br>[676, 717, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    31["Segment<br>[723, 763, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    32["Segment<br>[769, 850, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    33["Segment<br>[856, 929, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    34["Segment<br>[935, 987, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 10 }]
    35["Segment<br>[993, 1068, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 11 }]
    36["Segment<br>[1074, 1103, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 12 }]
    37["Segment<br>[1109, 1138, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 13 }]
    38["Segment<br>[1144, 1197, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 14 }]
    39["Segment<br>[1203, 1232, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 15 }]
    40["Segment<br>[1238, 1312, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 16 }]
    41["Segment<br>[1318, 1360, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 17 }]
    42["Segment<br>[1366, 1403, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 18 }]
    43["Segment<br>[1409, 1465, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 19 }]
    44["Segment<br>[1471, 1478, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 20 }]
    94[Solid2d]
  end
  subgraph path16 [Path]
    16["Path<br>[1776, 1842, 0]"]
      %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    45["Segment<br>[1776, 1842, 0]"]
      %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    89[Solid2d]
  end
  subgraph path17 [Path]
    17["Path<br>[2111, 2176, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    46["Segment<br>[2111, 2176, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    98[Solid2d]
  end
  subgraph path18 [Path]
    18["Path<br>[2200, 2268, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    47["Segment<br>[2200, 2268, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    90[Solid2d]
  end
  subgraph path19 [Path]
    19["Path<br>[2511, 2567, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    48["Segment<br>[2573, 2593, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    49["Segment<br>[2599, 2667, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    50["Segment<br>[2673, 2745, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    51["Segment<br>[2751, 2817, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    52["Segment<br>[2823, 2894, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    53["Segment<br>[2900, 2957, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    54["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    55["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    56["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    57["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    58["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    59["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    60["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    61["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    62["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    63["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    64["Segment<br>[2963, 2981, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    65["Segment<br>[2987, 2994, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    93[Solid2d]
  end
  subgraph path20 [Path]
    20["Path<br>[3209, 3249, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    66["Segment<br>[3255, 3275, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    67["Segment<br>[3281, 3333, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    68["Segment<br>[3339, 3395, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    69["Segment<br>[3401, 3467, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    70["Segment<br>[3473, 3528, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    71["Segment<br>[3534, 3591, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    72["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    73["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    74["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    75["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    76["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    77["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    78["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    79["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    80["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    81["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    82["Segment<br>[3597, 3615, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    83["Segment<br>[3621, 3628, 0]"]
      %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    92[Solid2d]
  end
  subgraph path21 [Path]
    21["Path<br>[3845, 3890, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    84["Segment<br>[3845, 3890, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    96[Solid2d]
  end
  subgraph path22 [Path]
    22["Path<br>[3914, 3959, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    85["Segment<br>[3914, 3959, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    99[Solid2d]
  end
  subgraph path23 [Path]
    23["Path<br>[4235, 4314, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    86["Segment<br>[4235, 4314, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    95[Solid2d]
  end
  subgraph path24 [Path]
    24["Path<br>[4735, 4794, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    87["Segment<br>[4735, 4794, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    97[Solid2d]
  end
  subgraph path25 [Path]
    25["Path<br>[4818, 4883, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    88["Segment<br>[4818, 4883, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    91[Solid2d]
  end
  1["Plane<br>[455, 472, 0]"]
    %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  2["Plane<br>[1727, 1769, 0]"]
    %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  3["Plane<br>[2088, 2105, 0]"]
    %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  4["Plane<br>[2461, 2504, 0]"]
    %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  5["Plane<br>[3159, 3202, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  6["Plane<br>[3795, 3838, 0]"]
    %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  7["Plane<br>[4183, 4228, 0]"]
    %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  8["Plane<br>[4685, 4728, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  9["StartSketchOnPlane<br>[2447, 2505, 0]"]
    %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  10["StartSketchOnPlane<br>[3145, 3203, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  11["StartSketchOnPlane<br>[1713, 1770, 0]"]
    %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  12["StartSketchOnPlane<br>[4169, 4229, 0]"]
    %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  13["StartSketchOnPlane<br>[3781, 3839, 0]"]
    %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  14["StartSketchOnPlane<br>[4671, 4729, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  100["Sweep Revolve<br>[1608, 1650, 0]"]
    %% [ProgramBodyItem { index: 7 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  101["Sweep Extrusion<br>[1848, 1890, 0]"]
    %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  102["Sweep Extrusion<br>[2275, 2296, 0]"]
    %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  103["Sweep Extrusion<br>[3679, 3716, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 11 }]
  104["Sweep Extrusion<br>[3966, 4004, 0]"]
    %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  105["Sweep Extrusion<br>[4320, 4340, 0]"]
    %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  106["Sweep Extrusion<br>[4890, 4929, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  107["CompositeSolid Subtract<br>[4352, 4558, 0]"]
    %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  108["CompositeSolid Union<br>[4401, 4550, 0]"]
    %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwArg { index: 0 }]
  109["CompositeSolid Subtract<br>[4021, 4070, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  110["CompositeSolid Union<br>[2305, 2334, 0]"]
    %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  111[Wall]
    %% face_code_ref=Missing NodePath
  112[Wall]
    %% face_code_ref=Missing NodePath
  113[Wall]
    %% face_code_ref=Missing NodePath
  114[Wall]
    %% face_code_ref=Missing NodePath
  115[Wall]
    %% face_code_ref=Missing NodePath
  116[Wall]
    %% face_code_ref=Missing NodePath
  117[Wall]
    %% face_code_ref=Missing NodePath
  118[Wall]
    %% face_code_ref=Missing NodePath
  119[Wall]
    %% face_code_ref=Missing NodePath
  120[Wall]
    %% face_code_ref=Missing NodePath
  121[Wall]
    %% face_code_ref=Missing NodePath
  122[Wall]
    %% face_code_ref=Missing NodePath
  123[Wall]
    %% face_code_ref=Missing NodePath
  124[Wall]
    %% face_code_ref=Missing NodePath
  125[Wall]
    %% face_code_ref=Missing NodePath
  126[Wall]
    %% face_code_ref=Missing NodePath
  127[Wall]
    %% face_code_ref=Missing NodePath
  128[Wall]
    %% face_code_ref=Missing NodePath
  129[Wall]
    %% face_code_ref=Missing NodePath
  130[Wall]
    %% face_code_ref=Missing NodePath
  131[Wall]
    %% face_code_ref=Missing NodePath
  132[Wall]
    %% face_code_ref=Missing NodePath
  133[Wall]
    %% face_code_ref=Missing NodePath
  134[Wall]
    %% face_code_ref=Missing NodePath
  135[Wall]
    %% face_code_ref=Missing NodePath
  136[Wall]
    %% face_code_ref=Missing NodePath
  137[Wall]
    %% face_code_ref=Missing NodePath
  138[Wall]
    %% face_code_ref=Missing NodePath
  139[Wall]
    %% face_code_ref=Missing NodePath
  140[Wall]
    %% face_code_ref=Missing NodePath
  141[Wall]
    %% face_code_ref=Missing NodePath
  142[Wall]
    %% face_code_ref=Missing NodePath
  143[Wall]
    %% face_code_ref=Missing NodePath
  144[Wall]
    %% face_code_ref=Missing NodePath
  145["Cap Start"]
    %% face_code_ref=Missing NodePath
  146["Cap Start"]
    %% face_code_ref=Missing NodePath
  147["Cap Start"]
    %% face_code_ref=Missing NodePath
  148["Cap Start"]
    %% face_code_ref=Missing NodePath
  149["Cap Start"]
    %% face_code_ref=Missing NodePath
  150["Cap Start"]
    %% face_code_ref=Missing NodePath
  151["Cap Start"]
    %% face_code_ref=Missing NodePath
  152["Cap End"]
    %% face_code_ref=Missing NodePath
  153["Cap End"]
    %% face_code_ref=Missing NodePath
  154["Cap End"]
    %% face_code_ref=Missing NodePath
  155["Cap End"]
    %% face_code_ref=Missing NodePath
  156["Cap End"]
    %% face_code_ref=Missing NodePath
  157["Cap End"]
    %% face_code_ref=Missing NodePath
  158["Cap End"]
    %% face_code_ref=Missing NodePath
  159["SweepEdge Opposite"]
  160["SweepEdge Opposite"]
  161["SweepEdge Opposite"]
  162["SweepEdge Opposite"]
  163["SweepEdge Opposite"]
  164["SweepEdge Opposite"]
  165["SweepEdge Opposite"]
  166["SweepEdge Opposite"]
  167["SweepEdge Opposite"]
  168["SweepEdge Opposite"]
  169["SweepEdge Opposite"]
  170["SweepEdge Opposite"]
  171["SweepEdge Opposite"]
  172["SweepEdge Opposite"]
  173["SweepEdge Opposite"]
  174["SweepEdge Opposite"]
  175["SweepEdge Opposite"]
  176["SweepEdge Opposite"]
  177["SweepEdge Opposite"]
  178["SweepEdge Opposite"]
  179["SweepEdge Opposite"]
  180["SweepEdge Opposite"]
  181["SweepEdge Opposite"]
  182["SweepEdge Opposite"]
  183["SweepEdge Opposite"]
  184["SweepEdge Opposite"]
  185["SweepEdge Opposite"]
  186["SweepEdge Opposite"]
  187["SweepEdge Opposite"]
  188["SweepEdge Opposite"]
  189["SweepEdge Opposite"]
  190["SweepEdge Opposite"]
  191["SweepEdge Opposite"]
  192["SweepEdge Opposite"]
  193["SweepEdge Adjacent"]
  194["SweepEdge Adjacent"]
  195["SweepEdge Adjacent"]
  196["SweepEdge Adjacent"]
  197["SweepEdge Adjacent"]
  198["SweepEdge Adjacent"]
  199["SweepEdge Adjacent"]
  200["SweepEdge Adjacent"]
  201["SweepEdge Adjacent"]
  202["SweepEdge Adjacent"]
  203["SweepEdge Adjacent"]
  204["SweepEdge Adjacent"]
  205["SweepEdge Adjacent"]
  206["SweepEdge Adjacent"]
  207["SweepEdge Adjacent"]
  208["SweepEdge Adjacent"]
  209["SweepEdge Adjacent"]
  210["SweepEdge Adjacent"]
  211["SweepEdge Adjacent"]
  212["SweepEdge Adjacent"]
  213["SweepEdge Adjacent"]
  214["SweepEdge Adjacent"]
  215["SweepEdge Adjacent"]
  216["SweepEdge Adjacent"]
  217["SweepEdge Adjacent"]
  218["SweepEdge Adjacent"]
  219["SweepEdge Adjacent"]
  220["SweepEdge Adjacent"]
  221["SweepEdge Adjacent"]
  222["SweepEdge Adjacent"]
  223["SweepEdge Adjacent"]
  224["SweepEdge Adjacent"]
  225["SweepEdge Adjacent"]
  226["SweepEdge Adjacent"]
  227["EdgeCut Fillet<br>[1896, 2008, 0]"]
    %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  1 --- 15
  2 <--x 11
  2 --- 16
  3 --- 17
  3 --- 18
  4 <--x 9
  4 --- 19
  5 <--x 10
  5 --- 20
  6 <--x 13
  6 --- 21
  6 --- 22
  7 <--x 12
  7 --- 23
  8 <--x 14
  8 --- 24
  8 --- 25
  15 --- 26
  15 --- 27
  15 --- 28
  15 --- 29
  15 --- 30
  15 --- 31
  15 --- 32
  15 --- 33
  15 --- 34
  15 --- 35
  15 --- 36
  15 --- 37
  15 --- 38
  15 --- 39
  15 --- 40
  15 --- 41
  15 --- 42
  15 --- 43
  15 --- 44
  15 --- 94
  15 ---- 100
  16 --- 45
  16 --- 89
  16 ---- 101
  16 --- 110
  17 --- 46
  17 --- 98
  17 ---- 102
  17 --- 110
  18 --- 47
  18 --- 90
  19 --- 48
  19 --- 49
  19 --- 50
  19 --- 51
  19 --- 52
  19 --- 53
  19 --- 54
  19 --- 55
  19 --- 56
  19 --- 57
  19 --- 58
  19 --- 59
  19 --- 60
  19 --- 61
  19 --- 62
  19 --- 63
  19 --- 64
  19 --- 65
  19 --- 93
  20 --- 66
  20 --- 67
  20 --- 68
  20 --- 69
  20 --- 70
  20 --- 71
  20 --- 72
  20 --- 73
  20 --- 74
  20 --- 75
  20 --- 76
  20 --- 77
  20 --- 78
  20 --- 79
  20 --- 80
  20 --- 81
  20 --- 82
  20 --- 83
  20 --- 92
  20 ---- 103
  20 --- 109
  21 --- 84
  21 --- 96
  21 ---- 104
  21 --- 109
  22 --- 85
  22 --- 99
  23 --- 86
  23 --- 95
  23 ---- 105
  23 --- 108
  24 --- 87
  24 --- 97
  24 ---- 106
  25 --- 88
  25 --- 91
  26 --- 137
  26 x--> 146
  26 --- 172
  26 --- 206
  27 --- 132
  27 x--> 146
  27 --- 173
  27 --- 207
  28 --- 131
  28 x--> 146
  28 --- 174
  28 --- 208
  29 --- 133
  29 x--> 146
  29 --- 175
  29 --- 209
  30 --- 129
  30 x--> 146
  30 --- 176
  30 --- 210
  31 --- 128
  31 x--> 146
  31 --- 177
  31 --- 211
  32 --- 136
  32 x--> 146
  32 --- 178
  32 --- 212
  33 --- 140
  33 x--> 146
  33 --- 179
  33 --- 213
  34 --- 139
  34 x--> 146
  34 --- 180
  34 --- 214
  35 --- 126
  35 x--> 146
  35 --- 181
  35 --- 215
  36 --- 127
  36 x--> 146
  36 --- 182
  36 --- 216
  37 --- 141
  37 x--> 146
  37 --- 183
  37 --- 217
  38 --- 134
  38 x--> 146
  38 --- 184
  38 --- 218
  39 --- 130
  39 x--> 146
  39 --- 185
  39 --- 219
  40 --- 124
  40 x--> 146
  40 --- 186
  40 --- 220
  41 --- 135
  41 x--> 146
  41 --- 187
  41 --- 221
  42 --- 125
  42 x--> 146
  42 --- 188
  42 --- 222
  43 --- 138
  43 x--> 146
  43 --- 189
  43 --- 223
  45 --- 142
  45 x--> 147
  45 --- 190
  45 --- 224
  46 --- 144
  46 x--> 148
  46 --- 192
  46 --- 226
  72 --- 112
  72 x--> 151
  72 --- 166
  72 --- 200
  73 --- 113
  73 x--> 151
  73 --- 164
  73 --- 198
  74 --- 114
  74 x--> 151
  74 --- 162
  74 --- 196
  75 --- 115
  75 x--> 151
  75 --- 165
  75 --- 199
  76 --- 116
  76 x--> 151
  76 --- 160
  76 --- 194
  77 --- 117
  77 x--> 151
  77 --- 168
  77 --- 202
  78 --- 118
  78 x--> 151
  78 --- 169
  78 --- 203
  79 --- 119
  79 x--> 151
  79 --- 163
  79 --- 197
  80 --- 120
  80 x--> 151
  80 --- 170
  80 --- 204
  81 --- 121
  81 x--> 151
  81 --- 161
  81 --- 195
  82 --- 122
  82 x--> 151
  82 --- 167
  82 --- 201
  84 --- 123
  84 x--> 145
  84 --- 171
  84 --- 205
  86 --- 143
  86 x--> 157
  86 --- 191
  86 --- 225
  87 --- 111
  87 x--> 149
  87 --- 159
  87 --- 193
  100 --- 124
  100 --- 125
  100 --- 126
  100 --- 127
  100 --- 128
  100 --- 129
  100 --- 130
  100 --- 131
  100 --- 132
  100 --- 133
  100 --- 134
  100 --- 135
  100 --- 136
  100 --- 137
  100 --- 138
  100 --- 139
  100 --- 140
  100 --- 141
  100 --- 146
  100 --- 153
  100 --- 172
  100 --- 173
  100 --- 174
  100 --- 175
  100 --- 176
  100 --- 177
  100 --- 178
  100 --- 179
  100 --- 180
  100 --- 181
  100 --- 182
  100 --- 183
  100 --- 184
  100 --- 185
  100 --- 186
  100 --- 187
  100 --- 188
  100 --- 189
  100 --- 206
  100 --- 207
  100 --- 208
  100 --- 209
  100 --- 210
  100 --- 211
  100 --- 212
  100 --- 213
  100 --- 214
  100 --- 215
  100 --- 216
  100 --- 217
  100 --- 218
  100 --- 219
  100 --- 220
  100 --- 221
  100 --- 222
  100 --- 223
  101 --- 142
  101 --- 147
  101 --- 154
  101 --- 190
  101 --- 224
  102 --- 144
  102 --- 148
  102 --- 155
  102 --- 192
  102 --- 226
  103 --- 112
  103 --- 113
  103 --- 114
  103 --- 115
  103 --- 116
  103 --- 117
  103 --- 118
  103 --- 119
  103 --- 120
  103 --- 121
  103 --- 122
  103 --- 151
  103 --- 158
  103 --- 160
  103 --- 161
  103 --- 162
  103 --- 163
  103 --- 164
  103 --- 165
  103 --- 166
  103 --- 167
  103 --- 168
  103 --- 169
  103 --- 170
  103 --- 194
  103 --- 195
  103 --- 196
  103 --- 197
  103 --- 198
  103 --- 199
  103 --- 200
  103 --- 201
  103 --- 202
  103 --- 203
  103 --- 204
  104 --- 123
  104 --- 145
  104 --- 152
  104 --- 171
  104 --- 205
  105 --- 143
  105 --- 150
  105 --- 157
  105 --- 191
  105 --- 225
  106 --- 111
  106 --- 149
  106 --- 156
  106 --- 159
  106 --- 193
  108 --- 107
  109 --- 107
  111 --- 159
  111 --- 193
  112 --- 166
  112 --- 200
  201 <--x 112
  113 --- 164
  113 --- 198
  199 <--x 113
  114 --- 162
  114 --- 196
  197 <--x 114
  115 --- 165
  115 --- 199
  200 <--x 115
  116 --- 160
  116 --- 194
  195 <--x 116
  117 --- 168
  117 --- 202
  203 <--x 117
  118 --- 169
  118 --- 203
  204 <--x 118
  119 --- 163
  119 --- 197
  198 <--x 119
  120 --- 170
  194 <--x 120
  120 --- 204
  121 --- 161
  121 --- 195
  196 <--x 121
  122 --- 167
  122 --- 201
  202 <--x 122
  123 --- 171
  123 --- 205
  124 --- 186
  219 <--x 124
  124 --- 220
  125 --- 188
  221 <--x 125
  125 --- 222
  126 --- 181
  214 <--x 126
  126 --- 215
  127 --- 182
  215 <--x 127
  127 --- 216
  128 --- 177
  210 <--x 128
  128 --- 211
  129 --- 176
  209 <--x 129
  129 --- 210
  130 --- 185
  218 <--x 130
  130 --- 219
  131 --- 174
  207 <--x 131
  131 --- 208
  132 --- 173
  206 <--x 132
  132 --- 207
  133 --- 175
  208 <--x 133
  133 --- 209
  134 --- 184
  217 <--x 134
  134 --- 218
  135 --- 187
  220 <--x 135
  135 --- 221
  136 --- 178
  211 <--x 136
  136 --- 212
  137 --- 172
  137 --- 206
  223 <--x 137
  138 --- 189
  222 <--x 138
  138 --- 223
  139 --- 180
  213 <--x 139
  139 --- 214
  140 --- 179
  212 <--x 140
  140 --- 213
  141 --- 183
  216 <--x 141
  141 --- 217
  142 --- 190
  142 --- 224
  143 --- 191
  143 --- 225
  144 --- 192
  144 --- 226
  191 <--x 150
  171 <--x 152
  172 <--x 153
  173 <--x 153
  174 <--x 153
  175 <--x 153
  176 <--x 153
  177 <--x 153
  178 <--x 153
  179 <--x 153
  180 <--x 153
  181 <--x 153
  182 <--x 153
  183 <--x 153
  184 <--x 153
  185 <--x 153
  186 <--x 153
  187 <--x 153
  188 <--x 153
  189 <--x 153
  190 <--x 154
  192 <--x 155
  159 <--x 156
  160 <--x 158
  161 <--x 158
  162 <--x 158
  163 <--x 158
  164 <--x 158
  165 <--x 158
  166 <--x 158
  167 <--x 158
  168 <--x 158
  169 <--x 158
  170 <--x 158
  190 <--x 227