Files
modeling-app/rust/kcl-lib/tests/kcl_samples/hammer/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

28 KiB

flowchart LR
  subgraph path2 [Path]
    2["Path<br>[266, 298, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    3["Segment<br>[304, 323, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    4["Segment<br>[329, 371, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    5["Segment<br>[377, 433, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    6["Segment<br>[439, 496, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    7["Segment<br>[502, 561, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    8["Segment<br>[567, 624, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    9["Segment<br>[630, 673, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    10["Segment<br>[679, 699, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    11["Segment<br>[705, 744, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 10 }]
    12["Segment<br>[750, 786, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 11 }]
    13["Segment<br>[792, 831, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 12 }]
    14["Segment<br>[837, 870, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 13 }]
    15["Segment<br>[876, 912, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 14 }]
    16["Segment<br>[918, 972, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 15 }]
    17["Segment<br>[978, 1015, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 16 }]
    18["Segment<br>[1021, 1028, 0]"]
      %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 17 }]
    19[Solid2d]
  end
  subgraph path69 [Path]
    69["Path<br>[1193, 1238, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
    70["Segment<br>[1244, 1300, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    71["Segment<br>[1306, 1396, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    72["Segment<br>[1402, 1437, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    73["Segment<br>[1443, 1552, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    74["Segment<br>[1558, 1600, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    75["Segment<br>[1606, 1643, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    76["Segment<br>[1649, 1705, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    77["Segment<br>[1711, 1718, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    78[Solid2d]
  end
  subgraph path103 [Path]
    103["Path<br>[1757, 1805, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
    104["Segment<br>[1811, 1848, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    105["Segment<br>[1854, 1896, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    106["Segment<br>[1902, 1958, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    107["Segment<br>[1964, 2030, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    108["Segment<br>[2036, 2092, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    109["Segment<br>[2098, 2105, 0]"]
      %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    110[Solid2d]
  end
  subgraph path129 [Path]
    129["Path<br>[2149, 2193, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
    130["Segment<br>[2199, 2254, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    131["Segment<br>[2260, 2352, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    132["Segment<br>[2358, 2393, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    133["Segment<br>[2399, 2508, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    134["Segment<br>[2514, 2555, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    135["Segment<br>[2561, 2598, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    136["Segment<br>[2604, 2660, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    137["Segment<br>[2666, 2673, 0]"]
      %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    138[Solid2d]
  end
  subgraph path167 [Path]
    167["Path<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    168["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    169["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    170["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    171["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    172["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    173["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    174["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    175["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    176["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    177["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    178["Segment<br>[3050, 3142, 0]"]
      %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    179[Solid2d]
  end
  subgraph path214 [Path]
    214["Path<br>[3331, 3382, 0]"]
      %% [ProgramBodyItem { index: 7 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    215["Segment<br>[3331, 3382, 0]"]
      %% [ProgramBodyItem { index: 7 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    216[Solid2d]
  end
  subgraph path227 [Path]
    227["Path<br>[3814, 3842, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    228["Segment<br>[3848, 3873, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    229["Segment<br>[3879, 3919, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    230["Segment<br>[3925, 3974, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    231["Segment<br>[3980, 4021, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    232["Segment<br>[4027, 4064, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    233["Segment<br>[4070, 4126, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    234["Segment<br>[4132, 4139, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    235[Solid2d]
  end
  1["Plane<br>[243, 260, 0]"]
    %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  20["Sweep Extrusion<br>[1034, 1071, 0]"]
    %% [ProgramBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 18 }]
  21[Wall]
    %% face_code_ref=Missing NodePath
  22[Wall]
    %% face_code_ref=Missing NodePath
  23[Wall]
    %% face_code_ref=Missing NodePath
  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["Cap Start"]
    %% face_code_ref=Missing NodePath
  37["Cap End"]
    %% face_code_ref=Missing NodePath
  38["SweepEdge Opposite"]
  39["SweepEdge Adjacent"]
  40["SweepEdge Opposite"]
  41["SweepEdge Adjacent"]
  42["SweepEdge Opposite"]
  43["SweepEdge Adjacent"]
  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["Plane<br>[1149, 1177, 0]"]
    %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwUnlabeledArg]
  79["Sweep Extrusion<br>[1724, 1745, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
  80[Wall]
    %% face_code_ref=Missing NodePath
  81[Wall]
    %% face_code_ref=Missing NodePath
  82[Wall]
    %% face_code_ref=Missing NodePath
  83[Wall]
    %% face_code_ref=Missing NodePath
  84[Wall]
    %% face_code_ref=Missing NodePath
  85[Wall]
    %% face_code_ref=Missing NodePath
  86[Wall]
    %% face_code_ref=Missing NodePath
  87["Cap Start"]
    %% face_code_ref=Missing NodePath
  88["Cap End"]
    %% face_code_ref=Missing NodePath
  89["SweepEdge Opposite"]
  90["SweepEdge Adjacent"]
  91["SweepEdge Opposite"]
  92["SweepEdge Adjacent"]
  93["SweepEdge Opposite"]
  94["SweepEdge Adjacent"]
  95["SweepEdge Opposite"]
  96["SweepEdge Adjacent"]
  97["SweepEdge Opposite"]
  98["SweepEdge Adjacent"]
  99["SweepEdge Opposite"]
  100["SweepEdge Adjacent"]
  101["SweepEdge Opposite"]
  102["SweepEdge Adjacent"]
  111["Sweep Extrusion<br>[2111, 2132, 0]"]
    %% [ProgramBodyItem { index: 3 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
  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["Cap Start"]
    %% face_code_ref=Missing NodePath
  118["Cap End"]
    %% face_code_ref=Missing NodePath
  119["SweepEdge Opposite"]
  120["SweepEdge Adjacent"]
  121["SweepEdge Opposite"]
  122["SweepEdge Adjacent"]
  123["SweepEdge Opposite"]
  124["SweepEdge Adjacent"]
  125["SweepEdge Opposite"]
  126["SweepEdge Adjacent"]
  127["SweepEdge Opposite"]
  128["SweepEdge Adjacent"]
  139["Sweep Extrusion<br>[2679, 2700, 0]"]
    %% [ProgramBodyItem { index: 4 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
  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[Wall]
    %% face_code_ref=Missing NodePath
  146[Wall]
    %% face_code_ref=Missing NodePath
  147["Cap Start"]
    %% face_code_ref=Missing NodePath
  148["Cap End"]
    %% face_code_ref=Missing NodePath
  149["SweepEdge Opposite"]
  150["SweepEdge Adjacent"]
  151["SweepEdge Opposite"]
  152["SweepEdge Adjacent"]
  153["SweepEdge Opposite"]
  154["SweepEdge Adjacent"]
  155["SweepEdge Opposite"]
  156["SweepEdge Adjacent"]
  157["SweepEdge Opposite"]
  158["SweepEdge Adjacent"]
  159["SweepEdge Opposite"]
  160["SweepEdge Adjacent"]
  161["SweepEdge Opposite"]
  162["SweepEdge Adjacent"]
  163["CompositeSolid Union<br>[2870, 2900, 0]"]
    %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwArg { index: 0 }, ArrayElement { index: 0 }, CallKwUnlabeledArg, ArrayElement { index: 1 }]
  164["CompositeSolid Union<br>[2845, 2903, 0]"]
    %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, CallKwArg { index: 0 }, ArrayElement { index: 0 }]
  165["CompositeSolid Subtract<br>[2798, 2910, 0]"]
    %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  166["Plane<br>[3027, 3044, 0]"]
    %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  180["Sweep Extrusion<br>[3148, 3168, 0]"]
    %% [ProgramBodyItem { index: 6 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  181[Wall]
    %% face_code_ref=Missing NodePath
  182[Wall]
    %% face_code_ref=Missing NodePath
  183[Wall]
    %% face_code_ref=Missing NodePath
  184[Wall]
    %% face_code_ref=Missing NodePath
  185[Wall]
    %% face_code_ref=Missing NodePath
  186[Wall]
    %% face_code_ref=Missing NodePath
  187[Wall]
    %% face_code_ref=Missing NodePath
  188[Wall]
    %% face_code_ref=Missing NodePath
  189[Wall]
    %% face_code_ref=Missing NodePath
  190[Wall]
    %% face_code_ref=Missing NodePath
  191["Cap Start"]
    %% face_code_ref=Missing NodePath
  192["Cap End"]
    %% face_code_ref=Missing NodePath
  193["SweepEdge Opposite"]
  194["SweepEdge Adjacent"]
  195["SweepEdge Opposite"]
  196["SweepEdge Adjacent"]
  197["SweepEdge Opposite"]
  198["SweepEdge Adjacent"]
  199["SweepEdge Opposite"]
  200["SweepEdge Adjacent"]
  201["SweepEdge Opposite"]
  202["SweepEdge Adjacent"]
  203["SweepEdge Opposite"]
  204["SweepEdge Adjacent"]
  205["SweepEdge Opposite"]
  206["SweepEdge Adjacent"]
  207["SweepEdge Opposite"]
  208["SweepEdge Adjacent"]
  209["SweepEdge Opposite"]
  210["SweepEdge Adjacent"]
  211["SweepEdge Opposite"]
  212["SweepEdge Adjacent"]
  213["Plane<br>[3294, 3324, 0]"]
    %% [ProgramBodyItem { index: 7 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  217["Sweep Extrusion<br>[3388, 3432, 0]"]
    %% [ProgramBodyItem { index: 7 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  218[Wall]
    %% face_code_ref=Missing NodePath
  219["Cap Start"]
    %% face_code_ref=Missing NodePath
  220["Cap End"]
    %% face_code_ref=Missing NodePath
  221["SweepEdge Opposite"]
  222["SweepEdge Adjacent"]
  223["EdgeCut Fillet<br>[3438, 3552, 0]"]
    %% [ProgramBodyItem { index: 7 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  224["CompositeSolid Union<br>[3633, 3668, 0]"]
    %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  225["CompositeSolid Subtract<br>[3674, 3704, 0]"]
    %% [ProgramBodyItem { index: 8 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
  226["Plane<br>[3791, 3808, 0]"]
    %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  236["Sweep Revolve<br>[4149, 4193, 0]"]
    %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  237[Wall]
    %% face_code_ref=Missing NodePath
  238[Wall]
    %% face_code_ref=Missing NodePath
  239[Wall]
    %% face_code_ref=Missing NodePath
  240[Wall]
    %% face_code_ref=Missing NodePath
  241[Wall]
    %% face_code_ref=Missing NodePath
  242[Wall]
    %% face_code_ref=Missing NodePath
  243["SweepEdge Adjacent"]
  244["SweepEdge Adjacent"]
  245["SweepEdge Adjacent"]
  246["SweepEdge Adjacent"]
  247["SweepEdge Adjacent"]
  248["SweepEdge Adjacent"]
  249["StartSketchOnPlane<br>[1135, 1178, 0]"]
    %% [ProgramBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  250["StartSketchOnPlane<br>[3280, 3325, 0]"]
    %% [ProgramBodyItem { index: 7 }, 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 --- 165
  3 --- 21
  3 x--> 36
  3 --- 38
  3 --- 39
  4 --- 22
  4 x--> 36
  4 --- 40
  4 --- 41
  5 --- 23
  5 x--> 36
  5 --- 42
  5 --- 43
  6 --- 24
  6 x--> 36
  6 --- 44
  6 --- 45
  7 --- 25
  7 x--> 36
  7 --- 46
  7 --- 47
  8 --- 26
  8 x--> 36
  8 --- 48
  8 --- 49
  9 --- 27
  9 x--> 36
  9 --- 50
  9 --- 51
  10 --- 28
  10 x--> 36
  10 --- 52
  10 --- 53
  11 --- 29
  11 x--> 36
  11 --- 54
  11 --- 55
  12 --- 30
  12 x--> 36
  12 --- 56
  12 --- 57
  13 --- 31
  13 x--> 36
  13 --- 58
  13 --- 59
  14 --- 32
  14 x--> 36
  14 --- 60
  14 --- 61
  15 --- 33
  15 x--> 36
  15 --- 62
  15 --- 63
  16 --- 34
  16 x--> 36
  16 --- 64
  16 --- 65
  17 --- 35
  17 x--> 36
  17 --- 66
  17 --- 67
  20 --- 21
  20 --- 22
  20 --- 23
  20 --- 24
  20 --- 25
  20 --- 26
  20 --- 27
  20 --- 28
  20 --- 29
  20 --- 30
  20 --- 31
  20 --- 32
  20 --- 33
  20 --- 34
  20 --- 35
  20 --- 36
  20 --- 37
  20 --- 38
  20 --- 39
  20 --- 40
  20 --- 41
  20 --- 42
  20 --- 43
  20 --- 44
  20 --- 45
  20 --- 46
  20 --- 47
  20 --- 48
  20 --- 49
  20 --- 50
  20 --- 51
  20 --- 52
  20 --- 53
  20 --- 54
  20 --- 55
  20 --- 56
  20 --- 57
  20 --- 58
  20 --- 59
  20 --- 60
  20 --- 61
  20 --- 62
  20 --- 63
  20 --- 64
  20 --- 65
  20 --- 66
  20 --- 67
  21 --- 38
  21 --- 39
  67 <--x 21
  39 <--x 22
  22 --- 40
  22 --- 41
  41 <--x 23
  23 --- 42
  23 --- 43
  43 <--x 24
  24 --- 44
  24 --- 45
  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
  38 <--x 37
  40 <--x 37
  42 <--x 37
  44 <--x 37
  46 <--x 37
  48 <--x 37
  50 <--x 37
  52 <--x 37
  54 <--x 37
  56 <--x 37
  58 <--x 37
  60 <--x 37
  62 <--x 37
  64 <--x 37
  66 <--x 37
  68 --- 69
  68 --- 103
  68 --- 129
  68 <--x 249
  69 --- 70
  69 --- 71
  69 --- 72
  69 --- 73
  69 --- 74
  69 --- 75
  69 --- 76
  69 --- 77
  69 --- 78
  69 ---- 79
  69 --- 164
  70 --- 86
  70 x--> 88
  70 --- 101
  70 --- 102
  71 --- 85
  71 x--> 88
  71 --- 99
  71 --- 100
  72 --- 84
  72 x--> 88
  72 --- 97
  72 --- 98
  73 --- 83
  73 x--> 88
  73 --- 95
  73 --- 96
  74 --- 82
  74 x--> 88
  74 --- 93
  74 --- 94
  75 --- 81
  75 x--> 88
  75 --- 91
  75 --- 92
  76 --- 80
  76 x--> 88
  76 --- 89
  76 --- 90
  79 --- 80
  79 --- 81
  79 --- 82
  79 --- 83
  79 --- 84
  79 --- 85
  79 --- 86
  79 --- 87
  79 --- 88
  79 --- 89
  79 --- 90
  79 --- 91
  79 --- 92
  79 --- 93
  79 --- 94
  79 --- 95
  79 --- 96
  79 --- 97
  79 --- 98
  79 --- 99
  79 --- 100
  79 --- 101
  79 --- 102
  80 --- 89
  80 --- 90
  92 <--x 80
  81 --- 91
  81 --- 92
  94 <--x 81
  82 --- 93
  82 --- 94
  96 <--x 82
  83 --- 95
  83 --- 96
  98 <--x 83
  84 --- 97
  84 --- 98
  100 <--x 84
  85 --- 99
  85 --- 100
  102 <--x 85
  90 <--x 86
  86 --- 101
  86 --- 102
  89 <--x 87
  91 <--x 87
  93 <--x 87
  95 <--x 87
  97 <--x 87
  99 <--x 87
  101 <--x 87
  103 --- 104
  103 --- 105
  103 --- 106
  103 --- 107
  103 --- 108
  103 --- 109
  103 --- 110
  103 ---- 111
  103 --- 163
  104 --- 116
  104 x--> 118
  104 --- 127
  104 --- 128
  105 --- 115
  105 x--> 118
  105 --- 125
  105 --- 126
  106 --- 114
  106 x--> 118
  106 --- 123
  106 --- 124
  107 --- 113
  107 x--> 118
  107 --- 121
  107 --- 122
  108 --- 112
  108 x--> 118
  108 --- 119
  108 --- 120
  111 --- 112
  111 --- 113
  111 --- 114
  111 --- 115
  111 --- 116
  111 --- 117
  111 --- 118
  111 --- 119
  111 --- 120
  111 --- 121
  111 --- 122
  111 --- 123
  111 --- 124
  111 --- 125
  111 --- 126
  111 --- 127
  111 --- 128
  112 --- 119
  112 --- 120
  122 <--x 112
  113 --- 121
  113 --- 122
  124 <--x 113
  114 --- 123
  114 --- 124
  126 <--x 114
  115 --- 125
  115 --- 126
  128 <--x 115
  120 <--x 116
  116 --- 127
  116 --- 128
  119 <--x 117
  121 <--x 117
  123 <--x 117
  125 <--x 117
  127 <--x 117
  129 --- 130
  129 --- 131
  129 --- 132
  129 --- 133
  129 --- 134
  129 --- 135
  129 --- 136
  129 --- 137
  129 --- 138
  129 ---- 139
  129 --- 163
  130 --- 140
  130 x--> 148
  130 --- 149
  130 --- 150
  131 --- 141
  131 x--> 148
  131 --- 151
  131 --- 152
  132 --- 142
  132 x--> 148
  132 --- 153
  132 --- 154
  133 --- 143
  133 x--> 148
  133 --- 155
  133 --- 156
  134 --- 144
  134 x--> 148
  134 --- 157
  134 --- 158
  135 --- 145
  135 x--> 148
  135 --- 159
  135 --- 160
  136 --- 146
  136 x--> 148
  136 --- 161
  136 --- 162
  139 --- 140
  139 --- 141
  139 --- 142
  139 --- 143
  139 --- 144
  139 --- 145
  139 --- 146
  139 --- 147
  139 --- 148
  139 --- 149
  139 --- 150
  139 --- 151
  139 --- 152
  139 --- 153
  139 --- 154
  139 --- 155
  139 --- 156
  139 --- 157
  139 --- 158
  139 --- 159
  139 --- 160
  139 --- 161
  139 --- 162
  140 --- 149
  140 --- 150
  162 <--x 140
  150 <--x 141
  141 --- 151
  141 --- 152
  152 <--x 142
  142 --- 153
  142 --- 154
  154 <--x 143
  143 --- 155
  143 --- 156
  156 <--x 144
  144 --- 157
  144 --- 158
  158 <--x 145
  145 --- 159
  145 --- 160
  160 <--x 146
  146 --- 161
  146 --- 162
  149 <--x 147
  151 <--x 147
  153 <--x 147
  155 <--x 147
  157 <--x 147
  159 <--x 147
  161 <--x 147
  163 --- 164
  164 --- 165
  165 --- 224
  166 --- 167
  167 --- 168
  167 --- 169
  167 --- 170
  167 --- 171
  167 --- 172
  167 --- 173
  167 --- 174
  167 --- 175
  167 --- 176
  167 --- 177
  167 --- 178
  167 --- 179
  167 ---- 180
  167 --- 225
  168 --- 181
  168 x--> 191
  168 --- 193
  168 --- 194
  169 --- 182
  169 x--> 191
  169 --- 195
  169 --- 196
  170 --- 183
  170 x--> 191
  170 --- 197
  170 --- 198
  171 --- 184
  171 x--> 191
  171 --- 199
  171 --- 200
  172 --- 185
  172 x--> 191
  172 --- 201
  172 --- 202
  173 --- 186
  173 x--> 191
  173 --- 203
  173 --- 204
  174 --- 187
  174 x--> 191
  174 --- 205
  174 --- 206
  175 --- 188
  175 x--> 191
  175 --- 207
  175 --- 208
  176 --- 189
  176 x--> 191
  176 --- 209
  176 --- 210
  177 --- 190
  177 x--> 191
  177 --- 211
  177 --- 212
  180 --- 181
  180 --- 182
  180 --- 183
  180 --- 184
  180 --- 185
  180 --- 186
  180 --- 187
  180 --- 188
  180 --- 189
  180 --- 190
  180 --- 191
  180 --- 192
  180 --- 193
  180 --- 194
  180 --- 195
  180 --- 196
  180 --- 197
  180 --- 198
  180 --- 199
  180 --- 200
  180 --- 201
  180 --- 202
  180 --- 203
  180 --- 204
  180 --- 205
  180 --- 206
  180 --- 207
  180 --- 208
  180 --- 209
  180 --- 210
  180 --- 211
  180 --- 212
  181 --- 193
  181 --- 194
  212 <--x 181
  194 <--x 182
  182 --- 195
  182 --- 196
  196 <--x 183
  183 --- 197
  183 --- 198
  198 <--x 184
  184 --- 199
  184 --- 200
  200 <--x 185
  185 --- 201
  185 --- 202
  202 <--x 186
  186 --- 203
  186 --- 204
  204 <--x 187
  187 --- 205
  187 --- 206
  206 <--x 188
  188 --- 207
  188 --- 208
  208 <--x 189
  189 --- 209
  189 --- 210
  210 <--x 190
  190 --- 211
  190 --- 212
  193 <--x 192
  195 <--x 192
  197 <--x 192
  199 <--x 192
  201 <--x 192
  203 <--x 192
  205 <--x 192
  207 <--x 192
  209 <--x 192
  211 <--x 192
  213 --- 214
  213 <--x 250
  214 --- 215
  214 --- 216
  214 ---- 217
  214 --- 224
  215 --- 218
  215 x--> 219
  215 --- 221
  215 --- 222
  215 --- 223
  217 --- 218
  217 --- 219
  217 --- 220
  217 --- 221
  217 --- 222
  218 --- 221
  218 --- 222
  221 <--x 220
  224 --- 225
  226 --- 227
  227 --- 228
  227 --- 229
  227 --- 230
  227 --- 231
  227 --- 232
  227 --- 233
  227 --- 234
  227 --- 235
  227 ---- 236
  236 <--x 228
  228 --- 237
  228 --- 243
  236 <--x 229
  229 --- 238
  229 --- 244
  236 <--x 230
  230 --- 239
  230 --- 245
  236 <--x 231
  231 --- 240
  231 --- 246
  236 <--x 232
  232 --- 241
  232 --- 247
  236 <--x 233
  233 --- 242
  233 --- 248
  236 --- 237
  236 --- 238
  236 --- 239
  236 --- 240
  236 --- 241
  236 --- 242
  236 --- 243
  236 --- 244
  236 --- 245
  236 --- 246
  236 --- 247
  236 --- 248
  237 --- 243
  248 <--x 237
  243 <--x 238
  238 --- 244
  244 <--x 239
  239 --- 245
  245 <--x 240
  240 --- 246
  246 <--x 241
  241 --- 247
  247 <--x 242
  242 --- 248