cubing 0.55.2 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/bin/chunks/{chunk-DFQMTDRG.js → chunk-J53ID3VX.js} +2 -2
  2. package/dist/bin/chunks/chunk-J53ID3VX.js.map +7 -0
  3. package/dist/bin/order.js +1 -1
  4. package/dist/bin/order.js.map +2 -2
  5. package/dist/bin/puzzle-geometry-bin.js +1 -1
  6. package/dist/bin/puzzle-geometry-bin.js.map +2 -2
  7. package/dist/bin/scramble.js +2 -1
  8. package/dist/bin/scramble.js.map +2 -2
  9. package/dist/lib/cubing/{PuzzleLoader-DGpDr4U9.d.ts → PuzzleLoader-Dd4G1VlU.d.ts} +358 -314
  10. package/dist/lib/cubing/alg/index.d.ts +9 -9
  11. package/dist/lib/cubing/alg/index.js +1 -1
  12. package/dist/lib/cubing/bluetooth/index.d.ts +11 -12
  13. package/dist/lib/cubing/bluetooth/index.js +72 -57
  14. package/dist/lib/cubing/bluetooth/index.js.map +3 -3
  15. package/dist/lib/cubing/{bluetooth-puzzle-C097rA5h.d.ts → bluetooth-puzzle-FIXncgc8.d.ts} +1 -1
  16. package/dist/lib/cubing/chunks/big-puzzle-orientation-IZASZS5A.js +70 -0
  17. package/dist/lib/cubing/chunks/big-puzzle-orientation-IZASZS5A.js.map +7 -0
  18. package/dist/lib/cubing/chunks/{chunk-TQF5J7MH.js → chunk-3YVVF3KK.js} +79 -79
  19. package/dist/lib/cubing/chunks/chunk-3YVVF3KK.js.map +7 -0
  20. package/dist/lib/cubing/chunks/{chunk-ZOU73IV5.js → chunk-CGV5LY7H.js} +2 -2
  21. package/dist/lib/cubing/chunks/chunk-CGV5LY7H.js.map +7 -0
  22. package/dist/lib/cubing/chunks/{chunk-Y5U55NHQ.js → chunk-DWN2US56.js} +11 -11
  23. package/dist/lib/cubing/chunks/chunk-DWN2US56.js.map +7 -0
  24. package/dist/lib/cubing/chunks/{chunk-PJH5IVDC.js → chunk-EVYENG3X.js} +40 -42
  25. package/dist/lib/cubing/chunks/chunk-EVYENG3X.js.map +7 -0
  26. package/dist/lib/cubing/chunks/{chunk-BQNTAVTA.js → chunk-GKM2CK6T.js} +2 -2
  27. package/dist/lib/cubing/chunks/{chunk-MFK4M6PV.js → chunk-J6NSY47E.js} +120 -18
  28. package/dist/lib/cubing/chunks/chunk-J6NSY47E.js.map +7 -0
  29. package/dist/lib/cubing/chunks/{chunk-2QDTMC3W.js → chunk-KAXXPFNE.js} +4 -4
  30. package/dist/lib/cubing/chunks/{chunk-2QDTMC3W.js.map → chunk-KAXXPFNE.js.map} +2 -2
  31. package/dist/lib/cubing/chunks/{chunk-SGPKF5IH.js → chunk-MITU5GJ5.js} +55 -51
  32. package/dist/lib/cubing/chunks/{chunk-SGPKF5IH.js.map → chunk-MITU5GJ5.js.map} +3 -3
  33. package/dist/lib/cubing/chunks/{chunk-WELOEBCE.js → chunk-SNKS5WOA.js} +166 -150
  34. package/dist/lib/cubing/chunks/chunk-SNKS5WOA.js.map +7 -0
  35. package/dist/lib/cubing/chunks/{chunk-2SBMIHZV.js → chunk-SWKNZGJF.js} +100 -108
  36. package/dist/lib/cubing/chunks/chunk-SWKNZGJF.js.map +7 -0
  37. package/dist/lib/cubing/chunks/{chunk-G3WJVG4K.js → chunk-XKTLEY2R.js} +2 -2
  38. package/dist/lib/cubing/chunks/chunk-XKTLEY2R.js.map +7 -0
  39. package/dist/lib/cubing/chunks/{inside-DZMTYTHV.js → inside-AF5A42Y6.js} +18 -18
  40. package/dist/lib/cubing/chunks/{inside-DZMTYTHV.js.map → inside-AF5A42Y6.js.map} +2 -2
  41. package/dist/lib/cubing/chunks/{puzzles-dynamic-side-events-QIADTLKJ.js → puzzles-dynamic-side-events-BOGUHF4Q.js} +1681 -1800
  42. package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-BOGUHF4Q.js.map +7 -0
  43. package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-EGIM6IYZ.js → search-dynamic-sgs-side-events-PVOJWVJF.js} +7 -7
  44. package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-EGIM6IYZ.js.map → search-dynamic-sgs-side-events-PVOJWVJF.js.map} +2 -2
  45. package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-R2TXOWXD.js → search-dynamic-sgs-unofficial-HRR5D2US.js} +648 -648
  46. package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-HRR5D2US.js.map +7 -0
  47. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-6XXEHLWN.js → search-dynamic-solve-4x4x4-3CROPIQD.js} +7 -7
  48. package/dist/lib/cubing/chunks/{search-dynamic-solve-fto-5YRST2XM.js → search-dynamic-solve-fto-NKAFVO65.js} +2 -2
  49. package/dist/lib/cubing/chunks/{search-dynamic-solve-kilominx-W64XQPBF.js → search-dynamic-solve-kilominx-EDGE5SP4.js} +2 -2
  50. package/dist/lib/cubing/chunks/search-worker-entry.js +1 -1
  51. package/dist/lib/cubing/chunks/{twisty-dynamic-3d-H7YMZQPB.js → twisty-dynamic-3d-EIIPCTEF.js} +106 -93
  52. package/dist/lib/cubing/chunks/twisty-dynamic-3d-EIIPCTEF.js.map +7 -0
  53. package/dist/lib/cubing/chunks/{twsearch-ZJ4WTIBT.js → twsearch-TGLVN7TI.js} +4 -4
  54. package/dist/lib/cubing/chunks/twsearch-TGLVN7TI.js.map +7 -0
  55. package/dist/lib/cubing/chunks/twsearch_wasm_bg-NHUYB5UW-HHHVHFI5.js +10 -0
  56. package/dist/lib/cubing/chunks/twsearch_wasm_bg-NHUYB5UW-HHHVHFI5.js.map +7 -0
  57. package/dist/lib/cubing/{index-3pTbhXFM.d.ts → index-Drw5ySJm.d.ts} +2 -2
  58. package/dist/lib/cubing/kpuzzle/index.d.ts +2 -2
  59. package/dist/lib/cubing/kpuzzle/index.js +2 -2
  60. package/dist/lib/cubing/notation/index.d.ts +4 -4
  61. package/dist/lib/cubing/notation/index.js +4 -4
  62. package/dist/lib/cubing/protocol/index.d.ts +2 -2
  63. package/dist/lib/cubing/protocol/index.js +4 -4
  64. package/dist/lib/cubing/puzzle-geometry/index.d.ts +3 -3
  65. package/dist/lib/cubing/puzzle-geometry/index.js +616 -483
  66. package/dist/lib/cubing/puzzle-geometry/index.js.map +3 -3
  67. package/dist/lib/cubing/puzzles/index.d.ts +2 -2
  68. package/dist/lib/cubing/puzzles/index.js +4 -4
  69. package/dist/lib/cubing/scramble/index.d.ts +3 -3
  70. package/dist/lib/cubing/scramble/index.js +6 -6
  71. package/dist/lib/cubing/search/index.d.ts +3 -3
  72. package/dist/lib/cubing/search/index.js +6 -6
  73. package/dist/lib/cubing/stream/index.d.ts +23 -23
  74. package/dist/lib/cubing/stream/index.js +41 -41
  75. package/dist/lib/cubing/stream/index.js.map +3 -3
  76. package/dist/lib/cubing/twisty/index.d.ts +9 -9
  77. package/dist/lib/cubing/twisty/index.js +3675 -3630
  78. package/dist/lib/cubing/twisty/index.js.map +4 -4
  79. package/package.json +16 -10
  80. package/dist/bin/chunks/chunk-DFQMTDRG.js.map +0 -7
  81. package/dist/lib/cubing/chunks/chunk-2SBMIHZV.js.map +0 -7
  82. package/dist/lib/cubing/chunks/chunk-G3WJVG4K.js.map +0 -7
  83. package/dist/lib/cubing/chunks/chunk-MFK4M6PV.js.map +0 -7
  84. package/dist/lib/cubing/chunks/chunk-PJH5IVDC.js.map +0 -7
  85. package/dist/lib/cubing/chunks/chunk-TQF5J7MH.js.map +0 -7
  86. package/dist/lib/cubing/chunks/chunk-WELOEBCE.js.map +0 -7
  87. package/dist/lib/cubing/chunks/chunk-Y5U55NHQ.js.map +0 -7
  88. package/dist/lib/cubing/chunks/chunk-ZOU73IV5.js.map +0 -7
  89. package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-QIADTLKJ.js.map +0 -7
  90. package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-R2TXOWXD.js.map +0 -7
  91. package/dist/lib/cubing/chunks/twisty-dynamic-3d-H7YMZQPB.js.map +0 -7
  92. package/dist/lib/cubing/chunks/twsearch-ZJ4WTIBT.js.map +0 -7
  93. package/dist/lib/cubing/chunks/twsearch_wasm_bg-FWKR4AQ6-XETKNJAN.js +0 -10
  94. package/dist/lib/cubing/chunks/twsearch_wasm_bg-FWKR4AQ6-XETKNJAN.js.map +0 -7
  95. /package/dist/lib/cubing/chunks/{chunk-BQNTAVTA.js.map → chunk-GKM2CK6T.js.map} +0 -0
  96. /package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-6XXEHLWN.js.map → search-dynamic-solve-4x4x4-3CROPIQD.js.map} +0 -0
  97. /package/dist/lib/cubing/chunks/{search-dynamic-solve-fto-5YRST2XM.js.map → search-dynamic-solve-fto-NKAFVO65.js.map} +0 -0
  98. /package/dist/lib/cubing/chunks/{search-dynamic-solve-kilominx-W64XQPBF.js.map → search-dynamic-solve-kilominx-EDGE5SP4.js.map} +0 -0
@@ -51,11 +51,6 @@ function* reverseGenerator(g) {
51
51
  }
52
52
  }
53
53
 
54
- // src/cubing/alg/limits.ts
55
- var MAX_INT = 2147483647;
56
- var MAX_INT_DESCRIPTION = "2^31 - 1";
57
- var MIN_INT = -2147483648;
58
-
59
54
  // src/cubing/alg/alg-nodes/containers/Commutator.ts
60
55
  var Commutator = class _Commutator extends AlgCommon {
61
56
  #A;
@@ -162,6 +157,37 @@ var Conjugate = class _Conjugate extends AlgCommon {
162
157
  }
163
158
  };
164
159
 
160
+ // src/cubing/alg/limits.ts
161
+ var MAX_INT = 2147483647;
162
+ var MAX_INT_DESCRIPTION = "2^31 - 1";
163
+ var MIN_INT = -2147483648;
164
+
165
+ // src/cubing/alg/AlgBuilder.ts
166
+ var AlgBuilder = class {
167
+ #algNodes = [];
168
+ push(u) {
169
+ this.#algNodes.push(u);
170
+ }
171
+ // TODO: Allow FlexibleAlgSource?
172
+ /** @deprecated */
173
+ experimentalPushAlg(alg) {
174
+ for (const u of alg.childAlgNodes()) {
175
+ this.push(u);
176
+ }
177
+ }
178
+ // TODO: can we guarantee this to be fast in the permanent API?
179
+ experimentalNumAlgNodes() {
180
+ return this.#algNodes.length;
181
+ }
182
+ // can be called multiple times, even if you push alg nodes inbetween.
183
+ toAlg() {
184
+ return new Alg(this.#algNodes);
185
+ }
186
+ reset() {
187
+ this.#algNodes = [];
188
+ }
189
+ };
190
+
165
191
  // src/cubing/alg/alg-nodes/leaves/LineComment.ts
166
192
  var LineComment = class _LineComment extends AlgCommon {
167
193
  #text;
@@ -185,7 +211,7 @@ var LineComment = class _LineComment extends AlgCommon {
185
211
  *experimentalExpand(_iterDir = 1 /* Forwards */, _depth = Infinity) {
186
212
  yield this;
187
213
  }
188
- toString(experimentalSerializationOptions) {
214
+ toString(_experimentalSerializationOptions) {
189
215
  return `//${this.#text}`;
190
216
  }
191
217
  // toJSON(): LineCommentJSON {
@@ -198,7 +224,7 @@ var LineComment = class _LineComment extends AlgCommon {
198
224
 
199
225
  // src/cubing/alg/alg-nodes/leaves/Newline.ts
200
226
  var Newline = class _Newline extends AlgCommon {
201
- toString(experimentalSerializationOptions) {
227
+ toString(_experimentalSerializationOptions) {
202
228
  return "\n";
203
229
  }
204
230
  isIdentical(other) {
@@ -216,7 +242,7 @@ var Newline = class _Newline extends AlgCommon {
216
242
  var Pause = class _Pause extends AlgCommon {
217
243
  experimentalNISSGrouping;
218
244
  // TODO: tie this to the alg
219
- toString(experimentalSerializationOptions) {
245
+ toString(_experimentalSerializationOptions) {
220
246
  return ".";
221
247
  }
222
248
  isIdentical(other) {
@@ -230,32 +256,6 @@ var Pause = class _Pause extends AlgCommon {
230
256
  }
231
257
  };
232
258
 
233
- // src/cubing/alg/AlgBuilder.ts
234
- var AlgBuilder = class {
235
- #algNodes = [];
236
- push(u) {
237
- this.#algNodes.push(u);
238
- }
239
- // TODO: Allow FlexibleAlgSource?
240
- /** @deprecated */
241
- experimentalPushAlg(alg) {
242
- for (const u of alg.childAlgNodes()) {
243
- this.push(u);
244
- }
245
- }
246
- // TODO: can we guarantee this to be fast in the permanent API?
247
- experimentalNumAlgNodes() {
248
- return this.#algNodes.length;
249
- }
250
- // can be called multiple times, even if you push alg nodes inbetween.
251
- toAlg() {
252
- return new Alg(this.#algNodes);
253
- }
254
- reset() {
255
- this.#algNodes = [];
256
- }
257
- };
258
-
259
259
  // src/cubing/alg/debug.ts
260
260
  var algDebugGlobals = {
261
261
  caretNISSNotationEnabled: true
@@ -356,7 +356,7 @@ var AlgParser = class {
356
356
  );
357
357
  }
358
358
  };
359
- mainLoop: while (this.#idx < this.#input.length) {
359
+ while (this.#idx < this.#input.length) {
360
360
  const savedCharIndex = this.#idx;
361
361
  if (stopBefore.includes(this.#input[this.#idx])) {
362
362
  return addCharIndices(algBuilder.toAlg(), algStartIdx, algEndIdx);
@@ -366,14 +366,12 @@ var AlgParser = class {
366
366
  if (algBuilder.experimentalNumAlgNodes() === 0) {
367
367
  algStartIdx = this.#idx;
368
368
  }
369
- continue mainLoop;
370
369
  } else if (MOVE_START_REGEX.test(this.#input[this.#idx])) {
371
370
  mustNotBeCrowded(savedCharIndex);
372
371
  const move = this.parseMoveImpl();
373
372
  algBuilder.push(move);
374
373
  crowded = true;
375
374
  algEndIdx = this.#idx;
376
- continue mainLoop;
377
375
  } else if (this.tryConsumeNext("(")) {
378
376
  mustNotBeCrowded(savedCharIndex);
379
377
  const sq1PairStartMatch = this.tryRegex(SQUARE1_PAIR_START_REGEX);
@@ -401,7 +399,6 @@ var AlgParser = class {
401
399
  );
402
400
  crowded = true;
403
401
  algEndIdx = this.#idx;
404
- continue mainLoop;
405
402
  } else {
406
403
  const alg = this.parseAlgWithStopping([")"]);
407
404
  this.mustConsumeNext(")");
@@ -415,7 +412,6 @@ var AlgParser = class {
415
412
  );
416
413
  crowded = true;
417
414
  algEndIdx = this.#idx;
418
- continue mainLoop;
419
415
  }
420
416
  } else if (this.tryConsumeNext("^")) {
421
417
  if (!algDebugGlobals.caretNISSNotationEnabled) {
@@ -482,14 +478,12 @@ var AlgParser = class {
482
478
  }
483
479
  crowded = true;
484
480
  algEndIdx = this.#idx;
485
- continue mainLoop;
486
481
  } else if (this.tryConsumeNext("\n")) {
487
482
  algBuilder.push(
488
483
  addCharIndices(new Newline(), savedCharIndex, this.#idx)
489
484
  );
490
485
  crowded = false;
491
486
  algEndIdx = this.#idx;
492
- continue mainLoop;
493
487
  } else if (this.tryConsumeNext("/")) {
494
488
  if (this.tryConsumeNext("/")) {
495
489
  mustNotBeCrowded(savedCharIndex);
@@ -499,21 +493,18 @@ var AlgParser = class {
499
493
  );
500
494
  crowded = false;
501
495
  algEndIdx = this.#idx;
502
- continue mainLoop;
503
496
  } else {
504
497
  algBuilder.push(
505
498
  addCharIndices(new Move("_SLASH_"), savedCharIndex, this.#idx)
506
499
  );
507
500
  crowded = true;
508
501
  algEndIdx = this.#idx;
509
- continue mainLoop;
510
502
  }
511
503
  } else if (this.tryConsumeNext(".")) {
512
504
  mustNotBeCrowded(savedCharIndex);
513
505
  algBuilder.push(addCharIndices(new Pause(), savedCharIndex, this.#idx));
514
506
  crowded = true;
515
507
  algEndIdx = this.#idx;
516
- continue mainLoop;
517
508
  } else {
518
509
  throw new Error(`Unexpected character: ${this.popNext()}`);
519
510
  }
@@ -776,7 +767,7 @@ var QuantumMove = class _QuantumMove extends Comparable {
776
767
  "experimentalExpand() cannot be called on a `QuantumMove` directly."
777
768
  );
778
769
  }
779
- toString(experimentalSerializationOptions) {
770
+ toString(_experimentalSerializationOptions) {
780
771
  let s = this.#family;
781
772
  if (this.#innerLayer !== null) {
782
773
  s = String(this.#innerLayer) + s;
@@ -788,6 +779,7 @@ var QuantumMove = class _QuantumMove extends Comparable {
788
779
  }
789
780
  };
790
781
  var Move = class _Move extends AlgCommon {
782
+ // @ts-ignore False positive due to the `return` in the constructor.
791
783
  #quantumWithAmount;
792
784
  constructor(...args) {
793
785
  super();
@@ -1009,65 +1001,6 @@ function experimentalIsAlgNode(v) {
1009
1001
  return experimentalIs(v, Grouping) || experimentalIs(v, LineComment) || experimentalIs(v, Commutator) || experimentalIs(v, Conjugate) || experimentalIs(v, Move) || experimentalIs(v, Newline) || experimentalIs(v, Pause);
1010
1002
  }
1011
1003
 
1012
- // src/cubing/alg/traversal.ts
1013
- function dispatch(t, algNode, dataDown) {
1014
- if (algNode.is(Grouping)) {
1015
- return t.traverseGrouping(algNode, dataDown);
1016
- }
1017
- if (algNode.is(Move)) {
1018
- return t.traverseMove(algNode, dataDown);
1019
- }
1020
- if (algNode.is(Commutator)) {
1021
- return t.traverseCommutator(algNode, dataDown);
1022
- }
1023
- if (algNode.is(Conjugate)) {
1024
- return t.traverseConjugate(algNode, dataDown);
1025
- }
1026
- if (algNode.is(Pause)) {
1027
- return t.traversePause(algNode, dataDown);
1028
- }
1029
- if (algNode.is(Newline)) {
1030
- return t.traverseNewline(algNode, dataDown);
1031
- }
1032
- if (algNode.is(LineComment)) {
1033
- return t.traverseLineComment(algNode, dataDown);
1034
- }
1035
- throw new Error("unknown AlgNode");
1036
- }
1037
- function mustBeAlgNode(t) {
1038
- if (t.is(Grouping) || t.is(Move) || t.is(Commutator) || t.is(Conjugate) || t.is(Pause) || t.is(Newline) || t.is(LineComment)) {
1039
- return t;
1040
- }
1041
- throw new Error("internal error: expected AlgNode");
1042
- }
1043
- var TraversalDownUp = class {
1044
- // Immediate subclasses should overwrite this.
1045
- traverseAlgNode(algNode, dataDown) {
1046
- return dispatch(this, algNode, dataDown);
1047
- }
1048
- traverseIntoAlgNode(algNode, dataDown) {
1049
- return mustBeAlgNode(this.traverseAlgNode(algNode, dataDown));
1050
- }
1051
- };
1052
- var TraversalUp = class extends TraversalDownUp {
1053
- traverseAlgNode(algNode) {
1054
- return dispatch(
1055
- this,
1056
- algNode,
1057
- void 0
1058
- );
1059
- }
1060
- traverseIntoAlgNode(algNode) {
1061
- return mustBeAlgNode(this.traverseAlgNode(algNode));
1062
- }
1063
- };
1064
- function functionFromTraversal(traversalConstructor, constructorArgs) {
1065
- const instance = new traversalConstructor(
1066
- ...constructorArgs ?? []
1067
- );
1068
- return instance.traverseAlg.bind(instance);
1069
- }
1070
-
1071
1004
  // src/cubing/alg/simplify/options.ts
1072
1005
  var DEFAULT_DIRECTIONAL = "any-direction";
1073
1006
  var AppendOptionsHelper = class {
@@ -1215,6 +1148,65 @@ function experimentalAppendNode(alg, leaf, options) {
1215
1148
  }
1216
1149
  }
1217
1150
 
1151
+ // src/cubing/alg/traversal.ts
1152
+ function dispatch(t, algNode, dataDown) {
1153
+ if (algNode.is(Grouping)) {
1154
+ return t.traverseGrouping(algNode, dataDown);
1155
+ }
1156
+ if (algNode.is(Move)) {
1157
+ return t.traverseMove(algNode, dataDown);
1158
+ }
1159
+ if (algNode.is(Commutator)) {
1160
+ return t.traverseCommutator(algNode, dataDown);
1161
+ }
1162
+ if (algNode.is(Conjugate)) {
1163
+ return t.traverseConjugate(algNode, dataDown);
1164
+ }
1165
+ if (algNode.is(Pause)) {
1166
+ return t.traversePause(algNode, dataDown);
1167
+ }
1168
+ if (algNode.is(Newline)) {
1169
+ return t.traverseNewline(algNode, dataDown);
1170
+ }
1171
+ if (algNode.is(LineComment)) {
1172
+ return t.traverseLineComment(algNode, dataDown);
1173
+ }
1174
+ throw new Error("unknown AlgNode");
1175
+ }
1176
+ function mustBeAlgNode(t) {
1177
+ if (t.is(Grouping) || t.is(Move) || t.is(Commutator) || t.is(Conjugate) || t.is(Pause) || t.is(Newline) || t.is(LineComment)) {
1178
+ return t;
1179
+ }
1180
+ throw new Error("internal error: expected AlgNode");
1181
+ }
1182
+ var TraversalDownUp = class {
1183
+ // Immediate subclasses should overwrite this.
1184
+ traverseAlgNode(algNode, dataDown) {
1185
+ return dispatch(this, algNode, dataDown);
1186
+ }
1187
+ traverseIntoAlgNode(algNode, dataDown) {
1188
+ return mustBeAlgNode(this.traverseAlgNode(algNode, dataDown));
1189
+ }
1190
+ };
1191
+ var TraversalUp = class extends TraversalDownUp {
1192
+ traverseAlgNode(algNode) {
1193
+ return dispatch(
1194
+ this,
1195
+ algNode,
1196
+ void 0
1197
+ );
1198
+ }
1199
+ traverseIntoAlgNode(algNode) {
1200
+ return mustBeAlgNode(this.traverseAlgNode(algNode));
1201
+ }
1202
+ };
1203
+ function functionFromTraversal(traversalConstructor, constructorArgs) {
1204
+ const instance = new traversalConstructor(
1205
+ ...constructorArgs ?? []
1206
+ );
1207
+ return instance.traverseAlg.bind(instance);
1208
+ }
1209
+
1218
1210
  // src/cubing/alg/simplify/simplify.ts
1219
1211
  var Simplify = class extends TraversalDownUp {
1220
1212
  #newPlaceholderAssociationsMap;
@@ -1850,10 +1842,10 @@ export {
1850
1842
  directedGenerator,
1851
1843
  Commutator,
1852
1844
  Conjugate,
1845
+ AlgBuilder,
1853
1846
  LineComment,
1854
1847
  Newline,
1855
1848
  Pause,
1856
- AlgBuilder,
1857
1849
  setAlgDebug,
1858
1850
  startCharIndexKey,
1859
1851
  endCharIndexKey,
@@ -1861,14 +1853,14 @@ export {
1861
1853
  Move,
1862
1854
  Grouping,
1863
1855
  experimentalIs,
1856
+ offsetMod,
1857
+ experimentalAppendMove,
1864
1858
  TraversalDownUp,
1865
1859
  TraversalUp,
1866
1860
  functionFromTraversal,
1867
- offsetMod,
1868
- experimentalAppendMove,
1869
1861
  Alg,
1870
1862
  Example,
1871
1863
  keyToMove,
1872
1864
  experimentalAlgCubingNetLink
1873
1865
  };
1874
- //# sourceMappingURL=chunk-2SBMIHZV.js.map
1866
+ //# sourceMappingURL=chunk-SWKNZGJF.js.map