Files
modeling-app/rust/kcl-lib/tests/kcl_samples/router-template-cross-bar/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

16 KiB

flowchart LR
  subgraph path2 [Path]
    2["Path<br>[558, 601, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    3["Segment<br>[607, 660, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    4["Segment<br>[666, 777, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    5["Segment<br>[783, 836, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    6["Segment<br>[842, 889, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    7["Segment<br>[895, 991, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    8["Segment<br>[997, 1068, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    9["Segment<br>[1074, 1125, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    10["Segment<br>[1131, 1184, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
    11["Segment<br>[1190, 1259, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 10 }]
    12["Segment<br>[1265, 1301, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 11 }]
    13["Segment<br>[1307, 1337, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 12 }]
    14["Segment<br>[1343, 1373, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 13 }]
    15["Segment<br>[1379, 1409, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 14 }]
    16["Segment<br>[1415, 1445, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 15 }]
    17["Segment<br>[1451, 1480, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 16 }]
    18["Segment<br>[1486, 1516, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 17 }]
    19["Segment<br>[1522, 1551, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 18 }]
    20["Segment<br>[1557, 1586, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 19 }]
    21["Segment<br>[1592, 1655, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 20 }]
    22["Segment<br>[1661, 1717, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 21 }]
    23["Segment<br>[1723, 1730, 0]"]
      %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 22 }]
    24[Solid2d]
  end
  subgraph path85 [Path]
    85["Path<br>[1890, 1934, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    86["Segment<br>[1940, 2020, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    87["Segment<br>[2026, 2136, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    88["Segment<br>[2142, 2259, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    89["Segment<br>[2265, 2321, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    90["Segment<br>[2327, 2334, 0]"]
      %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    91[Solid2d]
  end
  subgraph path107 [Path]
    107["Path<br>[2495, 2540, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    108["Segment<br>[2546, 2624, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    109["Segment<br>[2630, 2740, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    110["Segment<br>[2746, 2863, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    111["Segment<br>[2869, 2925, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    112["Segment<br>[2931, 2938, 0]"]
      %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    113[Solid2d]
  end
  subgraph path129 [Path]
    129["Path<br>[3097, 3142, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    130["Segment<br>[3148, 3233, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    131["Segment<br>[3239, 3349, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    132["Segment<br>[3355, 3472, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    133["Segment<br>[3478, 3534, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    134["Segment<br>[3540, 3547, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    135[Solid2d]
  end
  1["Plane<br>[535, 552, 0]"]
    %% [ProgramBodyItem { index: 9 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  25["Sweep Extrusion<br>[1773, 1803, 0]"]
    %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  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[Wall]
    %% face_code_ref=Missing NodePath
  43[Wall]
    %% face_code_ref=Missing NodePath
  44[Wall]
    %% face_code_ref=Missing NodePath
  45["Cap Start"]
    %% face_code_ref=[ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  46["Cap End"]
    %% face_code_ref=Missing NodePath
  47["SweepEdge Opposite"]
  48["SweepEdge Adjacent"]
  49["SweepEdge Opposite"]
  50["SweepEdge Adjacent"]
  51["SweepEdge Opposite"]
  52["SweepEdge Adjacent"]
  53["SweepEdge Opposite"]
  54["SweepEdge Adjacent"]
  55["SweepEdge Opposite"]
  56["SweepEdge Adjacent"]
  57["SweepEdge Opposite"]
  58["SweepEdge Adjacent"]
  59["SweepEdge Opposite"]
  60["SweepEdge Adjacent"]
  61["SweepEdge Opposite"]
  62["SweepEdge Adjacent"]
  63["SweepEdge Opposite"]
  64["SweepEdge Adjacent"]
  65["SweepEdge Opposite"]
  66["SweepEdge Adjacent"]
  67["SweepEdge Opposite"]
  68["SweepEdge Adjacent"]
  69["SweepEdge Opposite"]
  70["SweepEdge Adjacent"]
  71["SweepEdge Opposite"]
  72["SweepEdge Adjacent"]
  73["SweepEdge Opposite"]
  74["SweepEdge Adjacent"]
  75["SweepEdge Opposite"]
  76["SweepEdge Adjacent"]
  77["SweepEdge Opposite"]
  78["SweepEdge Adjacent"]
  79["SweepEdge Opposite"]
  80["SweepEdge Adjacent"]
  81["SweepEdge Opposite"]
  82["SweepEdge Adjacent"]
  83["SweepEdge Opposite"]
  84["SweepEdge Adjacent"]
  92["Sweep Extrusion<br>[2378, 2409, 0]"]
    %% [ProgramBodyItem { index: 12 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  93[Wall]
    %% face_code_ref=Missing NodePath
  94[Wall]
    %% face_code_ref=Missing NodePath
  95[Wall]
    %% face_code_ref=Missing NodePath
  96[Wall]
    %% face_code_ref=Missing NodePath
  97["Cap Start"]
    %% face_code_ref=Missing NodePath
  98["Cap End"]
    %% face_code_ref=[ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  99["SweepEdge Opposite"]
  100["SweepEdge Adjacent"]
  101["SweepEdge Opposite"]
  102["SweepEdge Adjacent"]
  103["SweepEdge Opposite"]
  104["SweepEdge Adjacent"]
  105["SweepEdge Opposite"]
  106["SweepEdge Adjacent"]
  114["Sweep Extrusion<br>[2981, 3012, 0]"]
    %% [ProgramBodyItem { index: 14 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  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["Cap Start"]
    %% face_code_ref=Missing NodePath
  120["Cap End"]
    %% face_code_ref=Missing NodePath
  121["SweepEdge Opposite"]
  122["SweepEdge Adjacent"]
  123["SweepEdge Opposite"]
  124["SweepEdge Adjacent"]
  125["SweepEdge Opposite"]
  126["SweepEdge Adjacent"]
  127["SweepEdge Opposite"]
  128["SweepEdge Adjacent"]
  136["Sweep Extrusion<br>[3591, 3621, 0]"]
    %% [ProgramBodyItem { index: 16 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  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["Cap Start"]
    %% face_code_ref=Missing NodePath
  142["Cap End"]
    %% face_code_ref=Missing NodePath
  143["SweepEdge Opposite"]
  144["SweepEdge Adjacent"]
  145["SweepEdge Opposite"]
  146["SweepEdge Adjacent"]
  147["SweepEdge Opposite"]
  148["SweepEdge Adjacent"]
  149["SweepEdge Opposite"]
  150["SweepEdge Adjacent"]
  151["StartSketchOnFace<br>[1845, 1884, 0]"]
    %% [ProgramBodyItem { index: 11 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  152["StartSketchOnFace<br>[2450, 2489, 0]"]
    %% [ProgramBodyItem { index: 13 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  153["StartSketchOnFace<br>[3054, 3091, 0]"]
    %% [ProgramBodyItem { index: 15 }, 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
  2 --- 24
  2 ---- 25
  3 --- 26
  3 x--> 45
  3 --- 47
  3 --- 48
  4 --- 27
  4 x--> 45
  4 --- 49
  4 --- 50
  5 --- 28
  5 x--> 45
  5 --- 51
  5 --- 52
  6 --- 29
  6 x--> 45
  6 --- 53
  6 --- 54
  7 --- 30
  7 x--> 45
  7 --- 55
  7 --- 56
  8 --- 31
  8 x--> 45
  8 --- 57
  8 --- 58
  9 --- 32
  9 x--> 45
  9 --- 59
  9 --- 60
  10 --- 33
  10 x--> 45
  10 --- 61
  10 --- 62
  11 --- 34
  11 x--> 45
  11 --- 63
  11 --- 64
  12 --- 35
  12 x--> 45
  12 --- 65
  12 --- 66
  14 --- 36
  14 x--> 45
  14 --- 67
  14 --- 68
  15 --- 37
  15 x--> 45
  15 --- 69
  15 --- 70
  16 --- 38
  16 x--> 45
  16 --- 71
  16 --- 72
  17 --- 39
  17 x--> 45
  17 --- 73
  17 --- 74
  18 --- 40
  18 x--> 45
  18 --- 75
  18 --- 76
  19 --- 41
  19 x--> 45
  19 --- 77
  19 --- 78
  20 --- 42
  20 x--> 45
  20 --- 79
  20 --- 80
  21 --- 43
  21 x--> 45
  21 --- 81
  21 --- 82
  22 --- 44
  22 x--> 45
  22 --- 83
  22 --- 84
  25 --- 26
  25 --- 27
  25 --- 28
  25 --- 29
  25 --- 30
  25 --- 31
  25 --- 32
  25 --- 33
  25 --- 34
  25 --- 35
  25 --- 36
  25 --- 37
  25 --- 38
  25 --- 39
  25 --- 40
  25 --- 41
  25 --- 42
  25 --- 43
  25 --- 44
  25 --- 45
  25 --- 46
  25 --- 47
  25 --- 48
  25 --- 49
  25 --- 50
  25 --- 51
  25 --- 52
  25 --- 53
  25 --- 54
  25 --- 55
  25 --- 56
  25 --- 57
  25 --- 58
  25 --- 59
  25 --- 60
  25 --- 61
  25 --- 62
  25 --- 63
  25 --- 64
  25 --- 65
  25 --- 66
  25 --- 67
  25 --- 68
  25 --- 69
  25 --- 70
  25 --- 71
  25 --- 72
  25 --- 73
  25 --- 74
  25 --- 75
  25 --- 76
  25 --- 77
  25 --- 78
  25 --- 79
  25 --- 80
  25 --- 81
  25 --- 82
  25 --- 83
  25 --- 84
  26 --- 47
  26 --- 48
  84 <--x 26
  48 <--x 27
  27 --- 49
  27 --- 50
  50 <--x 28
  28 --- 51
  28 --- 52
  52 <--x 29
  29 --- 53
  29 --- 54
  54 <--x 30
  30 --- 55
  30 --- 56
  56 <--x 31
  31 --- 57
  31 --- 58
  58 <--x 32
  32 --- 59
  32 --- 60
  60 <--x 33
  33 --- 61
  33 --- 62
  62 <--x 34
  34 --- 63
  34 --- 64
  64 <--x 35
  35 --- 65
  35 --- 66
  66 <--x 36
  36 --- 67
  36 --- 68
  68 <--x 37
  37 --- 69
  37 --- 70
  70 <--x 38
  38 --- 71
  38 --- 72
  72 <--x 39
  39 --- 73
  39 --- 74
  74 <--x 40
  40 --- 75
  40 --- 76
  76 <--x 41
  41 --- 77
  41 --- 78
  78 <--x 42
  42 --- 79
  42 --- 80
  80 <--x 43
  43 --- 81
  43 --- 82
  82 <--x 44
  44 --- 83
  44 --- 84
  45 --- 85
  45 --- 107
  45 <--x 151
  45 <--x 152
  47 <--x 46
  49 <--x 46
  51 <--x 46
  53 <--x 46
  55 <--x 46
  57 <--x 46
  59 <--x 46
  61 <--x 46
  63 <--x 46
  65 <--x 46
  67 <--x 46
  69 <--x 46
  71 <--x 46
  73 <--x 46
  75 <--x 46
  77 <--x 46
  79 <--x 46
  81 <--x 46
  83 <--x 46
  85 --- 86
  85 --- 87
  85 --- 88
  85 --- 89
  85 --- 90
  85 --- 91
  85 ---- 92
  86 --- 93
  86 x--> 97
  86 --- 99
  86 --- 100
  87 --- 94
  87 x--> 97
  87 --- 101
  87 --- 102
  88 --- 95
  88 x--> 97
  88 --- 103
  88 --- 104
  89 --- 96
  89 x--> 97
  89 --- 105
  89 --- 106
  92 --- 93
  92 --- 94
  92 --- 95
  92 --- 96
  92 --- 97
  92 --- 98
  92 --- 99
  92 --- 100
  92 --- 101
  92 --- 102
  92 --- 103
  92 --- 104
  92 --- 105
  92 --- 106
  93 --- 99
  93 --- 100
  106 <--x 93
  100 <--x 94
  94 --- 101
  94 --- 102
  102 <--x 95
  95 --- 103
  95 --- 104
  104 <--x 96
  96 --- 105
  96 --- 106
  99 <--x 98
  101 <--x 98
  103 <--x 98
  105 <--x 98
  98 --- 129
  98 <--x 153
  107 --- 108
  107 --- 109
  107 --- 110
  107 --- 111
  107 --- 112
  107 --- 113
  107 ---- 114
  108 --- 118
  108 x--> 119
  108 --- 127
  108 --- 128
  109 --- 117
  109 x--> 119
  109 --- 125
  109 --- 126
  110 --- 116
  110 x--> 119
  110 --- 123
  110 --- 124
  111 --- 115
  111 x--> 119
  111 --- 121
  111 --- 122
  114 --- 115
  114 --- 116
  114 --- 117
  114 --- 118
  114 --- 119
  114 --- 120
  114 --- 121
  114 --- 122
  114 --- 123
  114 --- 124
  114 --- 125
  114 --- 126
  114 --- 127
  114 --- 128
  115 --- 121
  115 --- 122
  124 <--x 115
  116 --- 123
  116 --- 124
  126 <--x 116
  117 --- 125
  117 --- 126
  128 <--x 117
  122 <--x 118
  118 --- 127
  118 --- 128
  121 <--x 120
  123 <--x 120
  125 <--x 120
  127 <--x 120
  129 --- 130
  129 --- 131
  129 --- 132
  129 --- 133
  129 --- 134
  129 --- 135
  129 ---- 136
  130 --- 140
  130 x--> 141
  130 --- 149
  130 --- 150
  131 --- 139
  131 x--> 141
  131 --- 147
  131 --- 148
  132 --- 138
  132 x--> 141
  132 --- 145
  132 --- 146
  133 --- 137
  133 x--> 141
  133 --- 143
  133 --- 144
  136 --- 137
  136 --- 138
  136 --- 139
  136 --- 140
  136 --- 141
  136 --- 142
  136 --- 143
  136 --- 144
  136 --- 145
  136 --- 146
  136 --- 147
  136 --- 148
  136 --- 149
  136 --- 150
  137 --- 143
  137 --- 144
  146 <--x 137
  138 --- 145
  138 --- 146
  148 <--x 138
  139 --- 147
  139 --- 148
  150 <--x 139
  144 <--x 140
  140 --- 149
  140 --- 150
  143 <--x 142
  145 <--x 142
  147 <--x 142
  149 <--x 142