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

29 KiB

flowchart LR
  subgraph path2 [Path]
    2["Path<br>[757, 811, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    3["Segment<br>[817, 889, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    4["Segment<br>[895, 998, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    5["Segment<br>[1004, 1121, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    6["Segment<br>[1127, 1212, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    7["Segment<br>[1218, 1225, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    8[Solid2d]
  end
  subgraph path9 [Path]
    9["Path<br>[1249, 1304, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }, CallKwArg { index: 0 }]
    10["Segment<br>[1249, 1304, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }, CallKwArg { index: 0 }]
    11[Solid2d]
  end
  subgraph path31 [Path]
    31["Path<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    32["Segment<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    33[Solid2d]
  end
  subgraph path39 [Path]
    39["Path<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    40["Segment<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    41[Solid2d]
  end
  subgraph path47 [Path]
    47["Path<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    48["Segment<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    49[Solid2d]
  end
  subgraph path55 [Path]
    55["Path<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    56["Segment<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    57[Solid2d]
  end
  subgraph path63 [Path]
    63["Path<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    64["Segment<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    65[Solid2d]
  end
  subgraph path71 [Path]
    71["Path<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    72["Segment<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    73[Solid2d]
  end
  subgraph path79 [Path]
    79["Path<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    80["Segment<br>[1995, 2059, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    81[Solid2d]
  end
  subgraph path87 [Path]
    87["Path<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    88["Segment<br>[2159, 2230, 0]"]
      %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    89[Solid2d]
  end
  subgraph path96 [Path]
    96["Path<br>[2643, 2684, 0]"]
      %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    97["Segment<br>[2643, 2684, 0]"]
      %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    98[Solid2d]
  end
  subgraph path106 [Path]
    106["Path<br>[2840, 2911, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    107["Segment<br>[2840, 2911, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    108[Solid2d]
  end
  subgraph path109 [Path]
    109["Path<br>[2935, 2990, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    110["Segment<br>[2935, 2990, 0]"]
      %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }, CallKwArg { index: 0 }]
    111[Solid2d]
  end
  subgraph path120 [Path]
    120["Path<br>[3369, 3470, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    121["Segment<br>[3478, 3575, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    122["Segment<br>[3583, 3603, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    123["Segment<br>[3611, 3717, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    124["Segment<br>[3725, 3746, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    125["Segment<br>[3754, 3810, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    126["Segment<br>[3818, 3825, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    127[Solid2d]
  end
  subgraph path147 [Path]
    147["Path<br>[3369, 3470, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    148["Segment<br>[3478, 3575, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    149["Segment<br>[3583, 3603, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    150["Segment<br>[3611, 3717, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    151["Segment<br>[3725, 3746, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    152["Segment<br>[3754, 3810, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    153["Segment<br>[3818, 3825, 0]"]
      %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    154[Solid2d]
  end
  1["Plane<br>[734, 751, 0]"]
    %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  12["Sweep Extrusion<br>[1318, 1363, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  13[Wall]
    %% face_code_ref=Missing NodePath
  14[Wall]
    %% face_code_ref=Missing NodePath
  15[Wall]
    %% face_code_ref=Missing NodePath
  16[Wall]
    %% face_code_ref=Missing NodePath
  17["Cap Start"]
    %% face_code_ref=Missing NodePath
  18["Cap End"]
    %% face_code_ref=[ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  19["SweepEdge Opposite"]
  20["SweepEdge Adjacent"]
  21["SweepEdge Opposite"]
  22["SweepEdge Adjacent"]
  23["SweepEdge Opposite"]
  24["SweepEdge Adjacent"]
  25["SweepEdge Opposite"]
  26["SweepEdge Adjacent"]
  27["EdgeCut Chamfer<br>[1369, 1651, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
  28["EdgeCut Chamfer<br>[1369, 1651, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
  29["EdgeCut Chamfer<br>[1369, 1651, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
  30["EdgeCut Chamfer<br>[1369, 1651, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
  34["Sweep Extrusion<br>[2067, 2103, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  35[Wall]
    %% face_code_ref=Missing NodePath
  36["Cap Start"]
    %% face_code_ref=[ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  37["SweepEdge Opposite"]
  38["SweepEdge Adjacent"]
  42["Sweep Extrusion<br>[2238, 2291, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  43[Wall]
    %% face_code_ref=Missing NodePath
  44["SweepEdge Opposite"]
  45["SweepEdge Adjacent"]
  46["EdgeCut Chamfer<br>[2360, 2446, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  50["Sweep Extrusion<br>[2067, 2103, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  51[Wall]
    %% face_code_ref=Missing NodePath
  52["Cap Start"]
    %% face_code_ref=[ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  53["SweepEdge Opposite"]
  54["SweepEdge Adjacent"]
  58["Sweep Extrusion<br>[2238, 2291, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  59[Wall]
    %% face_code_ref=Missing NodePath
  60["SweepEdge Opposite"]
  61["SweepEdge Adjacent"]
  62["EdgeCut Chamfer<br>[2360, 2446, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  66["Sweep Extrusion<br>[2067, 2103, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  67[Wall]
    %% face_code_ref=Missing NodePath
  68["Cap Start"]
    %% face_code_ref=[ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  69["SweepEdge Opposite"]
  70["SweepEdge Adjacent"]
  74["Sweep Extrusion<br>[2238, 2291, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  75[Wall]
    %% face_code_ref=Missing NodePath
  76["SweepEdge Opposite"]
  77["SweepEdge Adjacent"]
  78["EdgeCut Chamfer<br>[2360, 2446, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  82["Sweep Extrusion<br>[2067, 2103, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  83[Wall]
    %% face_code_ref=Missing NodePath
  84["Cap Start"]
    %% face_code_ref=[ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  85["SweepEdge Opposite"]
  86["SweepEdge Adjacent"]
  90["Sweep Extrusion<br>[2238, 2291, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  91[Wall]
    %% face_code_ref=Missing NodePath
  92["SweepEdge Opposite"]
  93["SweepEdge Adjacent"]
  94["EdgeCut Chamfer<br>[2360, 2446, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  95["Plane<br>[2620, 2637, 0]"]
    %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  99["Sweep Extrusion<br>[2690, 2711, 0]"]
    %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
  100[Wall]
    %% face_code_ref=Missing NodePath
  101["Cap Start"]
    %% face_code_ref=Missing NodePath
  102["Cap End"]
    %% face_code_ref=Missing NodePath
  103["SweepEdge Opposite"]
  104["SweepEdge Adjacent"]
  105["Plane<br>[2793, 2833, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  112["Sweep Extrusion<br>[2997, 3025, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
  113[Wall]
    %% face_code_ref=Missing NodePath
  114["Cap Start"]
    %% face_code_ref=Missing NodePath
  115["Cap End"]
    %% face_code_ref=Missing NodePath
  116["SweepEdge Opposite"]
  117["SweepEdge Adjacent"]
  118["CompositeSolid Subtract<br>[3031, 3058, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
  119["Plane<br>[3337, 3361, 0]"]
    %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  128["Sweep Extrusion<br>[3833, 3882, 0]"]
    %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
  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["Cap Start"]
    %% face_code_ref=Missing NodePath
  135["Cap End"]
    %% face_code_ref=Missing NodePath
  136["SweepEdge Opposite"]
  137["SweepEdge Adjacent"]
  138["SweepEdge Opposite"]
  139["SweepEdge Adjacent"]
  140["SweepEdge Opposite"]
  141["SweepEdge Adjacent"]
  142["SweepEdge Opposite"]
  143["SweepEdge Adjacent"]
  144["SweepEdge Opposite"]
  145["SweepEdge Adjacent"]
  146["Plane<br>[3337, 3361, 0]"]
    %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  155["Sweep Extrusion<br>[3833, 3882, 0]"]
    %% [ProgramBodyItem { index: 18 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
  156[Wall]
    %% face_code_ref=Missing NodePath
  157[Wall]
    %% face_code_ref=Missing NodePath
  158[Wall]
    %% face_code_ref=Missing NodePath
  159[Wall]
    %% face_code_ref=Missing NodePath
  160[Wall]
    %% face_code_ref=Missing NodePath
  161["Cap Start"]
    %% face_code_ref=Missing NodePath
  162["Cap End"]
    %% face_code_ref=Missing NodePath
  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["StartSketchOnFace<br>[1951, 1987, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  174["StartSketchOnFace<br>[2115, 2151, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  175["StartSketchOnFace<br>[1951, 1987, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  176["StartSketchOnFace<br>[2115, 2151, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  177["StartSketchOnFace<br>[1951, 1987, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  178["StartSketchOnFace<br>[2115, 2151, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  179["StartSketchOnFace<br>[1951, 1987, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 0 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  180["StartSketchOnFace<br>[2115, 2151, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit, FunctionExpressionBody, FunctionExpressionBodyItem { index: 1 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  181["StartSketchOnPlane<br>[2779, 2834, 0]"]
    %% [ProgramBodyItem { index: 17 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  1 --- 2
  1 --- 9
  2 --- 3
  2 --- 4
  2 --- 5
  2 --- 6
  2 --- 7
  2 --- 8
  2 ---- 12
  3 --- 13
  3 x--> 17
  3 --- 19
  3 --- 20
  4 --- 14
  4 x--> 17
  4 --- 21
  4 --- 22
  5 --- 15
  5 x--> 17
  5 --- 23
  5 --- 24
  6 --- 16
  6 x--> 17
  6 --- 25
  6 --- 26
  9 --- 10
  9 --- 11
  12 --- 13
  12 --- 14
  12 --- 15
  12 --- 16
  12 --- 17
  12 --- 18
  12 --- 19
  12 --- 20
  12 --- 21
  12 --- 22
  12 --- 23
  12 --- 24
  12 --- 25
  12 --- 26
  13 --- 19
  13 --- 20
  26 <--x 13
  20 <--x 14
  14 --- 21
  14 --- 22
  22 <--x 15
  15 --- 23
  15 --- 24
  24 <--x 16
  16 --- 25
  16 --- 26
  44 <--x 17
  60 <--x 17
  76 <--x 17
  92 <--x 17
  19 <--x 18
  21 <--x 18
  23 <--x 18
  25 <--x 18
  18 --- 31
  32 <--x 18
  18 --- 47
  48 <--x 18
  18 --- 63
  64 <--x 18
  18 --- 79
  80 <--x 18
  18 <--x 173
  18 <--x 175
  18 <--x 177
  18 <--x 179
  20 <--x 28
  22 <--x 27
  24 <--x 29
  26 <--x 30
  31 --- 32
  31 --- 33
  31 ---- 34
  32 --- 35
  32 --- 37
  32 --- 38
  34 --- 35
  34 --- 36
  34 --- 37
  34 --- 38
  35 --- 37
  35 --- 38
  37 <--x 36
  36 --- 39
  40 <--x 36
  36 <--x 174
  39 --- 40
  39 --- 41
  39 ---- 42
  40 --- 43
  40 --- 44
  40 --- 45
  40 --- 46
  42 --- 43
  42 --- 44
  42 --- 45
  43 --- 44
  43 --- 45
  47 --- 48
  47 --- 49
  47 ---- 50
  48 --- 51
  48 --- 53
  48 --- 54
  50 --- 51
  50 --- 52
  50 --- 53
  50 --- 54
  51 --- 53
  51 --- 54
  53 <--x 52
  52 --- 55
  56 <--x 52
  52 <--x 176
  55 --- 56
  55 --- 57
  55 ---- 58
  56 --- 59
  56 --- 60
  56 --- 61
  56 --- 62
  58 --- 59
  58 --- 60
  58 --- 61
  59 --- 60
  59 --- 61
  63 --- 64
  63 --- 65
  63 ---- 66
  64 --- 67
  64 --- 69
  64 --- 70
  66 --- 67
  66 --- 68
  66 --- 69
  66 --- 70
  67 --- 69
  67 --- 70
  69 <--x 68
  68 --- 71
  72 <--x 68
  68 <--x 178
  71 --- 72
  71 --- 73
  71 ---- 74
  72 --- 75
  72 --- 76
  72 --- 77
  72 --- 78
  74 --- 75
  74 --- 76
  74 --- 77
  75 --- 76
  75 --- 77
  79 --- 80
  79 --- 81
  79 ---- 82
  80 --- 83
  80 --- 85
  80 --- 86
  82 --- 83
  82 --- 84
  82 --- 85
  82 --- 86
  83 --- 85
  83 --- 86
  85 <--x 84
  84 --- 87
  88 <--x 84
  84 <--x 180
  87 --- 88
  87 --- 89
  87 ---- 90
  88 --- 91
  88 --- 92
  88 --- 93
  88 --- 94
  90 --- 91
  90 --- 92
  90 --- 93
  91 --- 92
  91 --- 93
  95 --- 96
  96 --- 97
  96 --- 98
  96 ---- 99
  96 --- 118
  97 --- 100
  97 x--> 102
  97 --- 103
  97 --- 104
  99 --- 100
  99 --- 101
  99 --- 102
  99 --- 103
  99 --- 104
  100 --- 103
  100 --- 104
  103 <--x 101
  105 --- 106
  105 --- 109
  105 <--x 181
  106 --- 107
  106 --- 108
  106 ---- 112
  106 --- 118
  107 --- 113
  107 x--> 114
  107 --- 116
  107 --- 117
  109 --- 110
  109 --- 111
  112 --- 113
  112 --- 114
  112 --- 115
  112 --- 116
  112 --- 117
  113 --- 116
  113 --- 117
  116 <--x 115
  119 --- 120
  120 --- 121
  120 --- 122
  120 --- 123
  120 --- 124
  120 --- 125
  120 --- 126
  120 --- 127
  120 ---- 128
  121 --- 129
  121 x--> 134
  121 --- 136
  121 --- 137
  122 --- 130
  122 x--> 134
  122 --- 138
  122 --- 139
  123 --- 131
  123 x--> 134
  123 --- 140
  123 --- 141
  124 --- 132
  124 x--> 134
  124 --- 142
  124 --- 143
  125 --- 133
  125 x--> 134
  125 --- 144
  125 --- 145
  128 --- 129
  128 --- 130
  128 --- 131
  128 --- 132
  128 --- 133
  128 --- 134
  128 --- 135
  128 --- 136
  128 --- 137
  128 --- 138
  128 --- 139
  128 --- 140
  128 --- 141
  128 --- 142
  128 --- 143
  128 --- 144
  128 --- 145
  129 --- 136
  129 --- 137
  145 <--x 129
  137 <--x 130
  130 --- 138
  130 --- 139
  139 <--x 131
  131 --- 140
  131 --- 141
  141 <--x 132
  132 --- 142
  132 --- 143
  143 <--x 133
  133 --- 144
  133 --- 145
  136 <--x 135
  138 <--x 135
  140 <--x 135
  142 <--x 135
  144 <--x 135
  146 --- 147
  147 --- 148
  147 --- 149
  147 --- 150
  147 --- 151
  147 --- 152
  147 --- 153
  147 --- 154
  147 ---- 155
  148 --- 156
  148 x--> 161
  148 --- 163
  148 --- 164
  149 --- 157
  149 x--> 161
  149 --- 165
  149 --- 166
  150 --- 158
  150 x--> 161
  150 --- 167
  150 --- 168
  151 --- 159
  151 x--> 161
  151 --- 169
  151 --- 170
  152 --- 160
  152 x--> 161
  152 --- 171
  152 --- 172
  155 --- 156
  155 --- 157
  155 --- 158
  155 --- 159
  155 --- 160
  155 --- 161
  155 --- 162
  155 --- 163
  155 --- 164
  155 --- 165
  155 --- 166
  155 --- 167
  155 --- 168
  155 --- 169
  155 --- 170
  155 --- 171
  155 --- 172
  156 --- 163
  156 --- 164
  172 <--x 156
  164 <--x 157
  157 --- 165
  157 --- 166
  166 <--x 158
  158 --- 167
  158 --- 168
  168 <--x 159
  159 --- 169
  159 --- 170
  170 <--x 160
  160 --- 171
  160 --- 172
  163 <--x 162
  165 <--x 162
  167 <--x 162
  169 <--x 162
  171 <--x 162