Files
modeling-app/rust/kcl-lib/tests/kcl_samples/helium-tank/artifact_graph_flowchart.snap.md
Jonathan Tran aae34cf1e5 Deterministic artifact graph - bring back the clockwork universe (#7483)
* Change to use deterministic artifact graph

* Update output to use the new order

* Fix to clear everything when scene is cleared

* Fix lots

* Update artifact graph output for the last time

* Delete unused sorting code

* Remove unneeded cfg

* Fix to preserve top-level artifacts when there's an error

* Update output after error fix

* Add better doc comments

* Remove duplicate global operations

* Update comments

* Update ignored tests that were flaky

* Update graph for new samples after rebase

* Fix test assertion message
2025-06-16 17:55:24 +00:00

27 KiB

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