cubing 0.42.1 → 0.43.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 (123) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/order.js +22 -0
  3. package/dist/bin/order.js.map +7 -0
  4. package/dist/bin/puzzle-geometry-bin.js +284 -0
  5. package/dist/bin/puzzle-geometry-bin.js.map +7 -0
  6. package/dist/bin/scramble.js +115 -0
  7. package/dist/bin/scramble.js.map +7 -0
  8. package/dist/{cubing/KPattern-12e23b1f.d.ts → lib/cubing/KPattern-60960997.d.ts} +1 -1
  9. package/dist/{cubing/TwizzleLink-8eaf164c.d.ts → lib/cubing/TwizzleLink-3c302469.d.ts} +1 -1
  10. package/dist/{cubing → lib/cubing}/alg/index.js +1 -1
  11. package/dist/{cubing → lib/cubing}/bluetooth/index.d.ts +3 -3
  12. package/dist/{cubing → lib/cubing}/bluetooth/index.js +48 -45
  13. package/dist/{cubing → lib/cubing}/bluetooth/index.js.map +2 -2
  14. package/dist/{cubing/bluetooth-puzzle-91e73b7f.d.ts → lib/cubing/bluetooth-puzzle-c3224834.d.ts} +1 -1
  15. package/dist/{cubing/chunk-Y6TQYMMT.js → lib/cubing/chunks/chunk-2N56G6TG.js} +5 -5
  16. package/dist/{cubing/chunk-Y6TQYMMT.js.map → lib/cubing/chunks/chunk-2N56G6TG.js.map} +2 -2
  17. package/dist/{cubing/chunk-AU3TSTCA.js → lib/cubing/chunks/chunk-32CXD7UA.js} +31 -32
  18. package/dist/{cubing/chunk-AU3TSTCA.js.map → lib/cubing/chunks/chunk-32CXD7UA.js.map} +2 -2
  19. package/dist/{cubing/chunk-7QE2OVHX.js → lib/cubing/chunks/chunk-7GUL3OBQ.js} +1 -1
  20. package/dist/{cubing/chunk-7QE2OVHX.js.map → lib/cubing/chunks/chunk-7GUL3OBQ.js.map} +1 -1
  21. package/dist/{cubing/chunk-ULQMFOA2.js → lib/cubing/chunks/chunk-7X47IY3P.js} +15 -13
  22. package/dist/{cubing/chunk-ULQMFOA2.js.map → lib/cubing/chunks/chunk-7X47IY3P.js.map} +2 -2
  23. package/dist/{cubing/chunk-VSFPWTDH.js → lib/cubing/chunks/chunk-DYHU7CO7.js} +616 -34
  24. package/dist/lib/cubing/chunks/chunk-DYHU7CO7.js.map +7 -0
  25. package/dist/{cubing/chunk-QLTH326B.js → lib/cubing/chunks/chunk-KDMCYBSC.js} +2 -2
  26. package/dist/{cubing/chunk-QLTH326B.js.map → lib/cubing/chunks/chunk-KDMCYBSC.js.map} +1 -1
  27. package/dist/lib/cubing/chunks/chunk-NAPITA3L.js +1 -0
  28. package/dist/{cubing/chunk-3ON3T3OH.js → lib/cubing/chunks/chunk-NB6OOT2E.js} +3 -3
  29. package/dist/{cubing/chunk-3ON3T3OH.js.map → lib/cubing/chunks/chunk-NB6OOT2E.js.map} +1 -1
  30. package/dist/{cubing/chunk-6OUID4YZ.js → lib/cubing/chunks/chunk-NEAVVKH5.js} +2 -2
  31. package/dist/{cubing/chunk-6OUID4YZ.js.map → lib/cubing/chunks/chunk-NEAVVKH5.js.map} +1 -1
  32. package/dist/{cubing/chunk-OLH526Y4.js → lib/cubing/chunks/chunk-QF4HTZYW.js} +11 -10
  33. package/dist/lib/cubing/chunks/chunk-QF4HTZYW.js.map +7 -0
  34. package/dist/{cubing/chunk-KF2JGMZA.js → lib/cubing/chunks/chunk-RS62HLA5.js} +21 -19
  35. package/dist/{cubing/chunk-KF2JGMZA.js.map → lib/cubing/chunks/chunk-RS62HLA5.js.map} +2 -2
  36. package/dist/{cubing/chunk-ZYCJIZDN.js → lib/cubing/chunks/chunk-VL22SFND.js} +1 -1
  37. package/dist/{cubing/chunk-ZYCJIZDN.js.map → lib/cubing/chunks/chunk-VL22SFND.js.map} +1 -1
  38. package/dist/{cubing/chunk-FCRM3RQU.js → lib/cubing/chunks/chunk-Z2CCB3XX.js} +61 -76
  39. package/dist/{cubing/chunk-FCRM3RQU.js.map → lib/cubing/chunks/chunk-Z2CCB3XX.js.map} +2 -2
  40. package/dist/{cubing/chunk-YEOYXOGB.js → lib/cubing/chunks/chunk-ZUPLJQAD.js} +3 -3
  41. package/dist/{cubing/chunk-YEOYXOGB.js.map → lib/cubing/chunks/chunk-ZUPLJQAD.js.map} +1 -1
  42. package/dist/lib/cubing/chunks/inside-7XZ5YPBP.js +16 -0
  43. package/dist/{cubing/inside-AZHBOSXQ.js.map → lib/cubing/chunks/inside-7XZ5YPBP.js.map} +2 -2
  44. package/dist/{cubing/puzzles-dynamic-3x3x3-JFZVE27C.js → lib/cubing/chunks/puzzles-dynamic-3x3x3-NSCZM77Q.js} +1 -1
  45. package/dist/{cubing/puzzles-dynamic-3x3x3-JFZVE27C.js.map → lib/cubing/chunks/puzzles-dynamic-3x3x3-NSCZM77Q.js.map} +1 -1
  46. package/dist/{cubing/puzzles-dynamic-4x4x4-DT42HVIY.js → lib/cubing/chunks/puzzles-dynamic-4x4x4-REUXFQJ4.js} +1 -1
  47. package/dist/{cubing/puzzles-dynamic-4x4x4-DT42HVIY.js.map → lib/cubing/chunks/puzzles-dynamic-4x4x4-REUXFQJ4.js.map} +1 -1
  48. package/dist/{cubing/puzzles-dynamic-megaminx-QQYC32WM.js → lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js} +1 -1
  49. package/dist/{cubing/puzzles-dynamic-megaminx-QQYC32WM.js.map → lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js.map} +1 -1
  50. package/dist/{cubing/puzzles-dynamic-side-events-42Q52YAB.js → lib/cubing/chunks/puzzles-dynamic-side-events-HEMWSAMQ.js} +11 -329
  51. package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-HEMWSAMQ.js.map +7 -0
  52. package/dist/{cubing/puzzles-dynamic-unofficial-PCHNKY4Y.js → lib/cubing/chunks/puzzles-dynamic-unofficial-RETSTRRW.js} +1 -1
  53. package/dist/{cubing/puzzles-dynamic-unofficial-PCHNKY4Y.js.map → lib/cubing/chunks/puzzles-dynamic-unofficial-RETSTRRW.js.map} +1 -1
  54. package/dist/{cubing/search-dynamic-sgs-side-events-5U7NX34Z.js → lib/cubing/chunks/search-dynamic-sgs-side-events-67TCU227.js} +14 -14
  55. package/dist/{cubing/search-dynamic-sgs-side-events-5U7NX34Z.js.map → lib/cubing/chunks/search-dynamic-sgs-side-events-67TCU227.js.map} +2 -2
  56. package/dist/{cubing/search-dynamic-sgs-unofficial-YA6LSNFG.js → lib/cubing/chunks/search-dynamic-sgs-unofficial-OUTZD5Y2.js} +7 -7
  57. package/dist/{cubing/search-dynamic-sgs-unofficial-YA6LSNFG.js.map → lib/cubing/chunks/search-dynamic-sgs-unofficial-OUTZD5Y2.js.map} +2 -2
  58. package/dist/{cubing/search-dynamic-solve-3x3x3-HM7RKVEM.js → lib/cubing/chunks/search-dynamic-solve-3x3x3-5UOUZX2V.js} +1 -1
  59. package/dist/{cubing/search-dynamic-solve-3x3x3-HM7RKVEM.js.map → lib/cubing/chunks/search-dynamic-solve-3x3x3-5UOUZX2V.js.map} +1 -1
  60. package/dist/{cubing/search-dynamic-solve-4x4x4-Z26CIIGT.js → lib/cubing/chunks/search-dynamic-solve-4x4x4-7NWGTCEG.js} +12 -9
  61. package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-7NWGTCEG.js.map +7 -0
  62. package/dist/{cubing/search-dynamic-solve-fto-GGEYM3K6.js → lib/cubing/chunks/search-dynamic-solve-fto-EY5ZVAGO.js} +1 -1
  63. package/dist/{cubing/search-dynamic-solve-fto-GGEYM3K6.js.map → lib/cubing/chunks/search-dynamic-solve-fto-EY5ZVAGO.js.map} +1 -1
  64. package/dist/{cubing/search-dynamic-solve-kilominx-VUT2DIRQ.js → lib/cubing/chunks/search-dynamic-solve-kilominx-WREDL6AE.js} +2 -2
  65. package/dist/{cubing/search-dynamic-solve-kilominx-VUT2DIRQ.js.map → lib/cubing/chunks/search-dynamic-solve-kilominx-WREDL6AE.js.map} +1 -1
  66. package/dist/{cubing/search-dynamic-solve-master_tetraminx-WJWLROFP.js → lib/cubing/chunks/search-dynamic-solve-master_tetraminx-3D4MBF3V.js} +1 -1
  67. package/dist/{cubing/search-dynamic-solve-master_tetraminx-WJWLROFP.js.map → lib/cubing/chunks/search-dynamic-solve-master_tetraminx-3D4MBF3V.js.map} +1 -1
  68. package/dist/{cubing/search-dynamic-solve-sq1-TO7UHE6Y.js → lib/cubing/chunks/search-dynamic-solve-sq1-INOYNRSJ.js} +1 -1
  69. package/dist/{cubing/search-dynamic-solve-sq1-TO7UHE6Y.js.map → lib/cubing/chunks/search-dynamic-solve-sq1-INOYNRSJ.js.map} +1 -1
  70. package/dist/{cubing → lib/cubing/chunks}/search-worker-entry.js +4 -4
  71. package/dist/{cubing → lib/cubing/chunks}/search-worker-entry.js.map +1 -1
  72. package/dist/{cubing/twisty-dynamic-3d-NTZMGNOB.js → lib/cubing/chunks/twisty-dynamic-3d-EKFIEPIM.js} +78 -37
  73. package/dist/{cubing/twisty-dynamic-3d-NTZMGNOB.js.map → lib/cubing/chunks/twisty-dynamic-3d-EKFIEPIM.js.map} +2 -2
  74. package/dist/{cubing/twsearch-BDAXZGZU-SJCPOVWW.js → lib/cubing/chunks/twsearch-BDAXZGZU-Q2YC2EQ6.js} +1 -1
  75. package/dist/{cubing/twsearch-BDAXZGZU-SJCPOVWW.js.map → lib/cubing/chunks/twsearch-BDAXZGZU-Q2YC2EQ6.js.map} +1 -1
  76. package/dist/{cubing/twsearch-INIYLWAM.js → lib/cubing/chunks/twsearch-SLVE4NQH.js} +3 -3
  77. package/dist/{cubing/twsearch-INIYLWAM.js.map → lib/cubing/chunks/twsearch-SLVE4NQH.js.map} +1 -1
  78. package/dist/{cubing → lib/cubing}/kpuzzle/index.d.ts +1 -1
  79. package/dist/{cubing → lib/cubing}/kpuzzle/index.js +2 -2
  80. package/dist/{cubing → lib/cubing}/notation/index.d.ts +2 -2
  81. package/dist/{cubing → lib/cubing}/notation/index.js +4 -4
  82. package/dist/{cubing/outside-deaac55d.d.ts → lib/cubing/outside-2f424d30.d.ts} +1 -1
  83. package/dist/{cubing → lib/cubing}/protocol/index.d.ts +1 -1
  84. package/dist/{cubing → lib/cubing}/protocol/index.js +4 -4
  85. package/dist/lib/cubing/puzzle-geometry/index.d.ts +7 -0
  86. package/dist/{cubing → lib/cubing}/puzzle-geometry/index.js +142 -62
  87. package/dist/lib/cubing/puzzle-geometry/index.js.map +7 -0
  88. package/dist/{cubing → lib/cubing}/puzzles/index.d.ts +3 -3
  89. package/dist/{cubing → lib/cubing}/puzzles/index.js +4 -4
  90. package/dist/lib/cubing/scramble/index.d.ts +3 -0
  91. package/dist/lib/cubing/scramble/index.js +16 -0
  92. package/dist/{cubing → lib/cubing}/search/index.d.ts +2 -2
  93. package/dist/{cubing → lib/cubing}/search/index.js +9 -10
  94. package/dist/lib/cubing/search/index.js.map +7 -0
  95. package/dist/{cubing → lib/cubing}/stream/index.d.ts +2 -2
  96. package/dist/{cubing → lib/cubing}/stream/index.js +4 -1
  97. package/dist/{cubing → lib/cubing}/stream/index.js.map +2 -2
  98. package/dist/{cubing → lib/cubing}/twisty/index.d.ts +3 -3
  99. package/dist/{cubing → lib/cubing}/twisty/index.js +310 -313
  100. package/dist/{cubing → lib/cubing}/twisty/index.js.map +3 -3
  101. package/package.json +40 -41
  102. package/dist/cubing/chunk-E4S4UDA6.js +0 -615
  103. package/dist/cubing/chunk-E4S4UDA6.js.map +0 -7
  104. package/dist/cubing/chunk-OLH526Y4.js.map +0 -7
  105. package/dist/cubing/chunk-VSFPWTDH.js.map +0 -7
  106. package/dist/cubing/inside-AZHBOSXQ.js +0 -17
  107. package/dist/cubing/puzzle-geometry/index.d.ts +0 -7
  108. package/dist/cubing/puzzle-geometry/index.js.map +0 -7
  109. package/dist/cubing/puzzles-dynamic-side-events-42Q52YAB.js.map +0 -7
  110. package/dist/cubing/scramble/index.d.ts +0 -3
  111. package/dist/cubing/scramble/index.js +0 -16
  112. package/dist/cubing/search-dynamic-solve-4x4x4-Z26CIIGT.js.map +0 -7
  113. package/src/README.md +0 -10
  114. /package/dist/{cubing → lib/cubing}/Alg-c6770822.d.ts +0 -0
  115. /package/dist/{cubing → lib/cubing}/alg/index.d.ts +0 -0
  116. /package/dist/{cubing → lib/cubing}/alg/index.js.map +0 -0
  117. /package/dist/{cubing/kpuzzle/index.js.map → lib/cubing/chunks/chunk-NAPITA3L.js.map} +0 -0
  118. /package/dist/{cubing/notation → lib/cubing/kpuzzle}/index.js.map +0 -0
  119. /package/dist/{cubing/protocol → lib/cubing/notation}/index.js.map +0 -0
  120. /package/dist/{cubing → lib/cubing}/parseAlg-d2c83795.d.ts +0 -0
  121. /package/dist/{cubing/puzzles → lib/cubing/protocol}/index.js.map +0 -0
  122. /package/dist/{cubing/scramble → lib/cubing/puzzles}/index.js.map +0 -0
  123. /package/dist/{cubing/search → lib/cubing/scramble}/index.js.map +0 -0
@@ -1,40 +1,618 @@
1
- import {
2
- addOrientationSuffix,
3
- initialize333,
4
- mustBeInsideWorker,
5
- random333FewestMovesScramble,
6
- random333OrientedScramble,
7
- random333Scramble,
8
- setIsInsideWorker,
9
- solve333
10
- } from "./chunk-E4S4UDA6.js";
11
1
  import {
12
2
  countMoves
13
- } from "./chunk-YEOYXOGB.js";
3
+ } from "./chunk-ZUPLJQAD.js";
14
4
  import {
15
5
  cube2x2x2,
16
6
  puzzles
17
- } from "./chunk-AU3TSTCA.js";
7
+ } from "./chunk-32CXD7UA.js";
18
8
  import {
19
9
  from,
20
10
  normalize2x2x2Orientation
21
- } from "./chunk-KF2JGMZA.js";
11
+ } from "./chunk-RS62HLA5.js";
22
12
  import {
23
13
  KPattern,
24
14
  KPuzzle
25
- } from "./chunk-OLH526Y4.js";
15
+ } from "./chunk-QF4HTZYW.js";
26
16
  import {
27
17
  Alg,
28
18
  AlgBuilder,
29
19
  Move,
30
20
  QuantumMove
31
- } from "./chunk-ULQMFOA2.js";
21
+ } from "./chunk-7X47IY3P.js";
22
+
23
+ // src/cubing/search/inside/solve/puzzles/3x3x3/index.ts
24
+ import { randomChoice as randomChoice2 } from "random-uint-below";
25
+
26
+ // src/cubing/search/inside/inside-worker.ts
27
+ var isInsideWorker = false;
28
+ function setIsInsideWorker(inside) {
29
+ isInsideWorker = inside;
30
+ }
31
+ function mustBeInsideWorker() {
32
+ if (!isInsideWorker) {
33
+ throw new Error(
34
+ "Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?"
35
+ );
36
+ }
37
+ }
38
+
39
+ // src/cubing/search/inside/solve/addOrientationSuffix.ts
40
+ import { randomChoice } from "random-uint-below";
41
+ function addOrientationSuffix(alg, suffixSpec) {
42
+ const algBuilder = new AlgBuilder();
43
+ algBuilder.experimentalPushAlg(alg);
44
+ for (const suffix of suffixSpec) {
45
+ const choice = randomChoice(suffix);
46
+ if (choice !== null) {
47
+ algBuilder.push(Move.fromString(choice));
48
+ }
49
+ }
50
+ return algBuilder.toAlg();
51
+ }
52
+
53
+ // src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.ts
54
+ var dynamic3x3x3min2phase = from(() => import("./search-dynamic-solve-3x3x3-5UOUZX2V.js"));
55
+
56
+ // src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts
57
+ var reidEdgeOrder = "UF UR UB UL DF DR DB DL FR FL BR BL".split(" ");
58
+ var reidCornerOrder = "UFR URB UBL ULF DRF DFL DLB DBR".split(" ");
59
+ var centerOrder = "U L F R B D".split(" ");
60
+ var map = [
61
+ [1, 2, 0],
62
+ [0, 2, 0],
63
+ [1, 1, 0],
64
+ [0, 3, 0],
65
+ [2, 0, 0],
66
+ [0, 1, 0],
67
+ [1, 3, 0],
68
+ [0, 0, 0],
69
+ [1, 0, 0],
70
+ [1, 0, 2],
71
+ [0, 1, 1],
72
+ [1, 1, 1],
73
+ [0, 8, 1],
74
+ [2, 3, 0],
75
+ [0, 10, 1],
76
+ [1, 4, 1],
77
+ [0, 5, 1],
78
+ [1, 7, 2],
79
+ [1, 3, 2],
80
+ [0, 0, 1],
81
+ [1, 0, 1],
82
+ [0, 9, 0],
83
+ [2, 2, 0],
84
+ [0, 8, 0],
85
+ [1, 5, 1],
86
+ [0, 4, 1],
87
+ [1, 4, 2],
88
+ [1, 5, 0],
89
+ [0, 4, 0],
90
+ [1, 4, 0],
91
+ [0, 7, 0],
92
+ [2, 5, 0],
93
+ [0, 5, 0],
94
+ [1, 6, 0],
95
+ [0, 6, 0],
96
+ [1, 7, 0],
97
+ [1, 2, 2],
98
+ [0, 3, 1],
99
+ [1, 3, 1],
100
+ [0, 11, 1],
101
+ [2, 1, 0],
102
+ [0, 9, 1],
103
+ [1, 6, 1],
104
+ [0, 7, 1],
105
+ [1, 5, 2],
106
+ [1, 1, 2],
107
+ [0, 2, 1],
108
+ [1, 2, 1],
109
+ [0, 10, 0],
110
+ [2, 4, 0],
111
+ [0, 11, 0],
112
+ [1, 7, 1],
113
+ [0, 6, 1],
114
+ [1, 6, 2]
115
+ ];
116
+ function rotateLeft(s, i) {
117
+ return s.slice(i) + s.slice(0, i);
118
+ }
119
+ function toReid333Struct(pattern) {
120
+ const output = [[], []];
121
+ for (let i = 0; i < 6; i++) {
122
+ if (pattern.patternData["CENTERS"].pieces[i] !== i) {
123
+ throw new Error("non-oriented puzzles are not supported");
124
+ }
125
+ }
126
+ for (let i = 0; i < 12; i++) {
127
+ output[0].push(
128
+ rotateLeft(
129
+ reidEdgeOrder[pattern.patternData["EDGES"].pieces[i]],
130
+ pattern.patternData["EDGES"].orientation[i]
131
+ )
132
+ );
133
+ }
134
+ for (let i = 0; i < 8; i++) {
135
+ output[1].push(
136
+ rotateLeft(
137
+ reidCornerOrder[pattern.patternData["CORNERS"].pieces[i]],
138
+ pattern.patternData["CORNERS"].orientation[i]
139
+ )
140
+ );
141
+ }
142
+ output.push(centerOrder);
143
+ return output;
144
+ }
145
+ function toMin2PhasePattern(pattern) {
146
+ const reid = toReid333Struct(pattern);
147
+ return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join("");
148
+ }
149
+
150
+ // src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts
151
+ function isEquivalentTranformationIgnoringCENTERS(t1, t2) {
152
+ const t1NoCenterOri = new KPattern(t1.kpuzzle, {
153
+ EDGES: t1.patternData.EDGES,
154
+ CORNERS: t1.patternData.CORNERS,
155
+ CENTERS: {
156
+ pieces: t1.patternData.CENTERS.pieces,
157
+ orientation: new Array(6).fill(0)
158
+ }
159
+ }).experimentalToTransformation();
160
+ const t2NoCenterOri = new KPattern(t2.kpuzzle, {
161
+ EDGES: t2.patternData.EDGES,
162
+ CORNERS: t2.patternData.CORNERS,
163
+ CENTERS: {
164
+ pieces: t2.patternData.CENTERS.pieces,
165
+ orientation: new Array(6).fill(0)
166
+ }
167
+ }).experimentalToTransformation();
168
+ return t1NoCenterOri.isIdentical(t2NoCenterOri);
169
+ }
170
+ function passesFilter(kpuzzle, pattern) {
171
+ if (isEquivalentTranformationIgnoringCENTERS(kpuzzle.defaultPattern(), pattern)) {
172
+ return false;
173
+ }
174
+ for (const face of "ULFRBD") {
175
+ for (let amount = 1; amount < 4; amount++) {
176
+ const transformation = kpuzzle.moveToTransformation(new Move(face, amount)).toKPattern();
177
+ if (isEquivalentTranformationIgnoringCENTERS(transformation, pattern)) {
178
+ return false;
179
+ }
180
+ }
181
+ }
182
+ return true;
183
+ }
184
+
185
+ // src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts
186
+ var sgs3x3x3 = [
187
+ [
188
+ "R U'",
189
+ "R2 B",
190
+ //
191
+ "D2 B2",
192
+ "D' L B'",
193
+ //
194
+ "R' U'",
195
+ "B",
196
+ //
197
+ "D B2",
198
+ "R' B",
199
+ //
200
+ "L' U",
201
+ "L2 B'",
202
+ //
203
+ "B2",
204
+ "D L B'",
205
+ //
206
+ "L U",
207
+ "B'",
208
+ //
209
+ "U'",
210
+ "R B",
211
+ //
212
+ "D' B2",
213
+ "L B'",
214
+ //
215
+ "U2",
216
+ "U L' B'",
217
+ //
218
+ "",
219
+ "U' L' B'",
220
+ //
221
+ "U",
222
+ "L' B'"
223
+ ],
224
+ [
225
+ "F2 L2",
226
+ "F' L'",
227
+ "R' F L2",
228
+ //
229
+ "D' L2",
230
+ "F L2",
231
+ "F2 L'",
232
+ //
233
+ "R' F' L'",
234
+ "R2 F L2",
235
+ "R2 F2 L'",
236
+ //
237
+ "L2",
238
+ "F L'",
239
+ "D' L",
240
+ //
241
+ "D2 L2",
242
+ "R2 F' L'",
243
+ "D L",
244
+ //
245
+ "",
246
+ "L2 F L'",
247
+ "L F' L2",
248
+ //
249
+ "L F L'",
250
+ "F' L2",
251
+ "L'",
252
+ //
253
+ "D L2",
254
+ "D F L'",
255
+ "L"
256
+ ],
257
+ [
258
+ "R B U2 B'",
259
+ "R2 B U' B'",
260
+ //
261
+ "F2 B U B'",
262
+ "F B2 L' B2",
263
+ //
264
+ "B2 L B2",
265
+ "B U' B'",
266
+ //
267
+ "R2 B U2 B'",
268
+ "R' B U' B'",
269
+ //
270
+ "B2 L' B2",
271
+ "F B U B'",
272
+ //
273
+ "B2 U' B2",
274
+ "B' L B",
275
+ //
276
+ "L F' B D' B'",
277
+ "B' U' B2 D B'",
278
+ //
279
+ "B U2 B'",
280
+ "R B U' B'",
281
+ //
282
+ "B2 L2 B2",
283
+ "D' B' L B",
284
+ //
285
+ "B U B'",
286
+ "F' B2 L' B2",
287
+ //
288
+ "",
289
+ "B2 L' B' U' B'"
290
+ ],
291
+ [
292
+ "U F2 L2 U'",
293
+ "F' U L' U'",
294
+ //
295
+ "F2 U L' U'",
296
+ "U F L2 U'",
297
+ //
298
+ "U2 B2 U2",
299
+ "R' U' B U",
300
+ //
301
+ "D2 U L U'",
302
+ "D U2 B' U2",
303
+ //
304
+ "U L2 U'",
305
+ "F U L' U'",
306
+ //
307
+ "D U L U'",
308
+ "U2 B' U2",
309
+ //
310
+ "",
311
+ "U2 B' U' L' U'",
312
+ //
313
+ "U2 L' U2",
314
+ "U' B U",
315
+ //
316
+ "U L U'",
317
+ "D' U2 B' U2",
318
+ //
319
+ "U L' U'",
320
+ "U2 B U2"
321
+ ],
322
+ [
323
+ "R' D' F2",
324
+ "F'",
325
+ //
326
+ "F2",
327
+ "D R F'",
328
+ //
329
+ "R D' F2",
330
+ "R2 F'",
331
+ //
332
+ "D' F2",
333
+ "R F'",
334
+ //
335
+ "F2 R' D' F2",
336
+ "F",
337
+ //
338
+ "D2 F2",
339
+ "D' R F'",
340
+ //
341
+ "R2 D' F2",
342
+ "R' F'",
343
+ //
344
+ "D F2",
345
+ "D2 R F'",
346
+ //
347
+ "",
348
+ "F R' D' F2"
349
+ ],
350
+ [
351
+ "R' D2 F' D F",
352
+ "R F2 R2 F2",
353
+ "R2 F' D2 F",
354
+ //
355
+ "F' R2 D2 F",
356
+ "L D' L'",
357
+ "D F' D2 F",
358
+ //
359
+ "F2 R2 F2",
360
+ "R F' D2 F",
361
+ "F' R2 D' F",
362
+ //
363
+ "F' R' D2 F",
364
+ "F2 R' F2",
365
+ "L D L'",
366
+ //
367
+ "F' R D' F",
368
+ "F2 R F2",
369
+ "F' D2 F",
370
+ //
371
+ "",
372
+ "L D2 R D' L'",
373
+ "F' D2 F' R F2",
374
+ //
375
+ "D2 R2 F2 R2 F2",
376
+ "D F' D' F",
377
+ "F' D F"
378
+ ],
379
+ [
380
+ "U F2 U'",
381
+ "R U F' U'",
382
+ //
383
+ "D R U F2 U'",
384
+ "U F U'",
385
+ //
386
+ "R2 U F2 U'",
387
+ "R' U F' U'",
388
+ //
389
+ "R U F2 U'",
390
+ "R2 U F' U'",
391
+ //
392
+ "",
393
+ "U L D L' F U'",
394
+ //
395
+ "F2 D' R D F2",
396
+ "D2 U F U'",
397
+ //
398
+ "R' U F2 U'",
399
+ "U F' U'",
400
+ //
401
+ "F2 D2 R D2 F2",
402
+ "D U F U'"
403
+ ],
404
+ [
405
+ "R2",
406
+ "R' B' D B",
407
+ //
408
+ "D R'",
409
+ "F' R2 F",
410
+ //
411
+ "",
412
+ "R B' D B",
413
+ //
414
+ "R'",
415
+ "B' D B",
416
+ //
417
+ "D' R'",
418
+ "D2 F' R2 F",
419
+ //
420
+ "R",
421
+ "R2 B' D B",
422
+ //
423
+ "D2 R'",
424
+ "B' D' B"
425
+ ],
426
+ [
427
+ "R2 D' R2",
428
+ "F' R' F R",
429
+ "R D' R2 D R'",
430
+ //
431
+ "D2 R2 D2 R2",
432
+ "R' D' F' R F",
433
+ "U F D F' U'",
434
+ //
435
+ "",
436
+ "R2 D2 B R' B' R'",
437
+ "R' F D' F2 R F",
438
+ //
439
+ "R2 D R2",
440
+ "F2 U F U' F",
441
+ "R' D F' R F",
442
+ //
443
+ "D R2 D2 R2",
444
+ "U F D' F' U'",
445
+ "D R' D2 F' R F",
446
+ //
447
+ "R2 D2 R2",
448
+ "U F D2 F' U'",
449
+ "R' D2 F' R F"
450
+ ],
451
+ [
452
+ "B R B'",
453
+ "F D F' B R2 B'",
454
+ //
455
+ "D B R2 B'",
456
+ "D2 B R' B'",
457
+ //
458
+ "B R2 B'",
459
+ "D B R' B'",
460
+ //
461
+ "D' B R2 B'",
462
+ "B R' B'",
463
+ //
464
+ "",
465
+ "B R2 B' D B R' B'",
466
+ //
467
+ "D2 B R2 B'",
468
+ "D' B R' B'"
469
+ ],
470
+ [
471
+ "",
472
+ "R' D R F D2 F'",
473
+ //
474
+ "R' D R",
475
+ "D F D' F'",
476
+ //
477
+ "R F' R' F",
478
+ "F D' F'",
479
+ //
480
+ "R' D' R",
481
+ "F D2 F'",
482
+ //
483
+ "R' D2 R",
484
+ "F D F'"
485
+ ],
486
+ [
487
+ "",
488
+ "F2 D2 R F' R' D2 F' D2 F'",
489
+ "F2 D2 F' D' F D' F' D2 F'",
490
+ //
491
+ "F2 D F2 D F2 D2 F2",
492
+ "D2 F L D2 L' D2 F'",
493
+ "D F D2 L D2 L' F'",
494
+ //
495
+ "R' D B' D2 B D' R",
496
+ "R' D2 B' D2 B R",
497
+ "F D2 F' D F D F'",
498
+ //
499
+ "F D' L D2 L' D F'",
500
+ "B D' F D B' D' F'",
501
+ "F D2 L D2 L' F'",
502
+ //
503
+ "F D' L D L' D F'",
504
+ "F L D2 L' D2 F'",
505
+ "R' B' D2 B D2 R"
506
+ ],
507
+ [
508
+ "D'",
509
+ "F L D L' D' F'",
510
+ //
511
+ "D2",
512
+ "L B D B' D' L'",
513
+ //
514
+ "D",
515
+ "B' L' D' L D B",
516
+ //
517
+ "",
518
+ "D F L D L' D' F'"
519
+ ],
520
+ [
521
+ "F' D2 F D F' D F",
522
+ "F' D' R' D R F",
523
+ //
524
+ "F' R' D' R D F",
525
+ "B D R D' R' B'",
526
+ //
527
+ "",
528
+ "D B' D' L' D L B"
529
+ ],
530
+ [
531
+ "D F D F' D F D2 F'",
532
+ "F' U2 B' R' B U2 F' L F' L' F'",
533
+ //
534
+ "",
535
+ "D2 L D L2 F L F2 D F"
536
+ ],
537
+ [
538
+ "L B' L' F L B L' F'",
539
+ "F2 U F' D2 F U' F' D2 F'",
540
+ "D' F' D B D' F D B'",
541
+ //
542
+ "F L2 F R2 F' L2 F R2 F2",
543
+ "D B D' F' D B' D' F",
544
+ "R F L F' R' F L' F'",
545
+ //
546
+ "",
547
+ "D2 B L' U2 L B' D2 B L' U2 L B'",
548
+ "D2 F R' U2 R F' D2 F R' U2 R F'",
549
+ //
550
+ "R F L' F' R' F L F'",
551
+ "D F D' B' D F' D' B",
552
+ "L2 F2 L' B2 L F2 L' B2 L'"
553
+ ],
554
+ [
555
+ "L B R' B' L' B R B'",
556
+ "R' B R F' R' B' R F",
557
+ "L D2 L U L' D2 L U' L2",
558
+ //
559
+ "",
560
+ "D2 B' D2 F D' L2 F L2 F' D2 B D' F'",
561
+ "D2 F' R' F R2 B' D2 B D2 R' F D2 F'",
562
+ //
563
+ "L B L' F L B' L' F'",
564
+ "F' D2 F' U' F D2 F' U F2",
565
+ "D' B' D F D' B D F'"
566
+ ],
567
+ ["", "D2 F' L U2 L' F D2 F' L U2 L' F", "D2 B' R U2 R' B D2 B' R U2 R' B"]
568
+ ];
569
+
570
+ // src/cubing/search/inside/solve/puzzles/3x3x3/index.ts
571
+ async function random333Pattern() {
572
+ const kpuzzle = await puzzles["3x3x3"].kpuzzle();
573
+ let pattern = kpuzzle.defaultPattern();
574
+ for (const piece of sgs3x3x3) {
575
+ pattern = pattern.applyAlg(Alg.fromString(randomChoice2(piece)));
576
+ }
577
+ if (!passesFilter(kpuzzle, pattern)) {
578
+ return random333Pattern();
579
+ }
580
+ return pattern;
581
+ }
582
+ async function solve333(s) {
583
+ mustBeInsideWorker();
584
+ return Alg.fromString(
585
+ (await dynamic3x3x3min2phase).solvePattern(toMin2PhasePattern(s))
586
+ );
587
+ }
588
+ async function random333Scramble() {
589
+ return solve333(await random333Pattern());
590
+ }
591
+ async function initialize333() {
592
+ (await dynamic3x3x3min2phase).initialize();
593
+ }
594
+ var randomSuffixes = [
595
+ [null, "Rw", "Rw2", "Rw'", "Fw", "Fw'"],
596
+ [null, "Dw", "Dw2", "Dw'"]
597
+ ];
598
+ async function random333OrientedScramble() {
599
+ return addOrientationSuffix(await random333Scramble(), randomSuffixes);
600
+ }
601
+ var extraBit = new Alg("R' U' F");
602
+ async function random333FewestMovesScramble() {
603
+ const algBuilder = new AlgBuilder();
604
+ const unorientedScramble = await random333Scramble();
605
+ algBuilder.experimentalPushAlg(extraBit);
606
+ algBuilder.experimentalPushAlg(unorientedScramble);
607
+ algBuilder.experimentalPushAlg(extraBit);
608
+ return algBuilder.toAlg();
609
+ }
32
610
 
33
611
  // src/cubing/search/inside/solve/puzzles/2x2x2.ts
34
612
  import { randomPermuteInPlace, randomUIntBelow } from "random-uint-below";
35
613
 
36
614
  // src/cubing/search/inside/solve/tremble.ts
37
- import { randomChoice } from "random-uint-below";
615
+ import { randomChoice as randomChoice3 } from "random-uint-below";
38
616
  var DEFAULT_STAGE1_DEPTH_LIMIT = 2;
39
617
  var DOUBLECHECK_PLACED_PIECES = true;
40
618
  var DEBUG = false;
@@ -70,6 +648,7 @@ var TrembleSolver = class {
70
648
  trembleMoveNames ?? Object.keys(this.kpuzzle.definition.moves)
71
649
  );
72
650
  }
651
+ searchMoves;
73
652
  // public badRandomMoves(): KSolvePuzzleState {
74
653
  // return badRandomMoves(this.moves, this.ksp);
75
654
  // }
@@ -163,7 +742,7 @@ var TrembleSolver = class {
163
742
  function randomPatternFromSGS(kpuzzle, sgs) {
164
743
  let transformation = kpuzzle.identityTransformation();
165
744
  for (const step of sgs.ordering) {
166
- const sgsAction = randomChoice(Object.values(step.lookup));
745
+ const sgsAction = randomChoice3(Object.values(step.lookup));
167
746
  transformation = transformation.applyTransformation(
168
747
  sgsAction.transformation
169
748
  );
@@ -172,10 +751,10 @@ function randomPatternFromSGS(kpuzzle, sgs) {
172
751
  }
173
752
 
174
753
  // src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.ts
175
- var searchDynamicSideEvents = from(() => import("./search-dynamic-sgs-side-events-5U7NX34Z.js"));
754
+ var searchDynamicSideEvents = from(() => import("./search-dynamic-sgs-side-events-67TCU227.js"));
176
755
 
177
756
  // src/cubing/search/inside/solve/twsearch.ts
178
- var twsearchPromise = from(async () => import("./twsearch-INIYLWAM.js"));
757
+ var twsearchPromise = from(async () => import("./twsearch-SLVE4NQH.js"));
179
758
  var existingPuzzleDefString;
180
759
  var existingMoveSubsetString;
181
760
  function mustBeNaturalNumber(meaning, n) {
@@ -360,10 +939,10 @@ async function random222Scramble() {
360
939
  }
361
940
 
362
941
  // src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts
363
- var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-Z26CIIGT.js"));
942
+ var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-7NWGTCEG.js"));
364
943
 
365
944
  // src/cubing/search/inside/solve/puzzles/4x4x4.ts
366
- var randomSuffixes = [
945
+ var randomSuffixes2 = [
367
946
  [null, "x", "x2", "x'", "z", "z'"],
368
947
  [null, "y", "y2", "y'"]
369
948
  ];
@@ -371,14 +950,15 @@ async function initialize444() {
371
950
  return (await dynamic4x4x4Solver).initialize();
372
951
  }
373
952
  async function random444Scramble() {
953
+ mustBeInsideWorker();
374
954
  return (await dynamic4x4x4Solver).random444Scramble();
375
955
  }
376
956
  async function random444OrientedScramble() {
377
- return addOrientationSuffix(await random444Scramble(), randomSuffixes);
957
+ return addOrientationSuffix(await random444Scramble(), randomSuffixes2);
378
958
  }
379
959
 
380
960
  // src/cubing/search/inside/solve/puzzles/big-cubes.ts
381
- import { randomChoice as randomChoice2, randomUIntBelow as randomUIntBelow2 } from "random-uint-below";
961
+ import { randomChoice as randomChoice4, randomUIntBelow as randomUIntBelow2 } from "random-uint-below";
382
962
  function numMoves(n) {
383
963
  switch (n) {
384
964
  case 5:
@@ -429,38 +1009,38 @@ async function bigCubeRandomMoves(n) {
429
1009
  currentAxisQuantumMoves.clear();
430
1010
  }
431
1011
  currentAxisIdx = newAxisIdx;
432
- const quantumMove = randomChoice2(axesMoves[currentAxisIdx]);
1012
+ const quantumMove = randomChoice4(axesMoves[currentAxisIdx]);
433
1013
  const quantumMoveStr = quantumMove.toString();
434
1014
  if (currentAxisQuantumMoves.has(quantumMoveStr)) {
435
1015
  continue;
436
1016
  }
437
1017
  currentAxisQuantumMoves.add(quantumMoveStr);
438
- algBuilder.push(new Move(quantumMove, randomChoice2([1, 2, -1])));
1018
+ algBuilder.push(new Move(quantumMove, randomChoice4([1, 2, -1])));
439
1019
  }
440
1020
  return algBuilder.toAlg();
441
1021
  }
442
1022
 
443
1023
  // src/cubing/search/inside/solve/puzzles/5x5x5.ts
444
- var randomSuffixes2 = [
1024
+ var randomSuffixes3 = [
445
1025
  [null, "3Rw", "3Rw2", "3Rw'", "3Fw", "3Fw'"],
446
1026
  [null, "3Dw", "3Dw2", "3Dw'"]
447
1027
  ];
448
1028
  async function oriented555RandomMoves() {
449
- return addOrientationSuffix(await bigCubeRandomMoves(5), randomSuffixes2);
1029
+ return addOrientationSuffix(await bigCubeRandomMoves(5), randomSuffixes3);
450
1030
  }
451
1031
 
452
1032
  // src/cubing/search/inside/solve/puzzles/dynamic/fto/index.ts
453
- var dynamicFTOSolver = from(() => import("./search-dynamic-solve-fto-GGEYM3K6.js"));
1033
+ var dynamicFTOSolver = from(() => import("./search-dynamic-solve-fto-EY5ZVAGO.js"));
454
1034
 
455
1035
  // src/cubing/search/inside/solve/puzzles/fto.ts
456
- var dynamic = from(() => import("./search-dynamic-sgs-unofficial-YA6LSNFG.js"));
1036
+ var dynamic = from(() => import("./search-dynamic-sgs-unofficial-OUTZD5Y2.js"));
457
1037
  async function randomFTOScramble() {
458
1038
  mustBeInsideWorker();
459
1039
  return new Alg(await (await dynamicFTOSolver).randomFTOScrambleString());
460
1040
  }
461
1041
 
462
1042
  // src/cubing/search/inside/solve/puzzles/dynamic/kilominx/index.ts
463
- var dynamicKilominxSolver = from(() => import("./search-dynamic-solve-kilominx-VUT2DIRQ.js"));
1043
+ var dynamicKilominxSolver = from(() => import("./search-dynamic-solve-kilominx-WREDL6AE.js"));
464
1044
 
465
1045
  // src/cubing/search/inside/solve/puzzles/kilominx.ts
466
1046
  async function randomKilominxScramble() {
@@ -469,7 +1049,7 @@ async function randomKilominxScramble() {
469
1049
  }
470
1050
 
471
1051
  // src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/index.ts
472
- var dynamicMasterTetraminxSolver = from(() => import("./search-dynamic-solve-master_tetraminx-WJWLROFP.js"));
1052
+ var dynamicMasterTetraminxSolver = from(() => import("./search-dynamic-solve-master_tetraminx-3D4MBF3V.js"));
473
1053
 
474
1054
  // src/cubing/search/inside/solve/puzzles/master_tetraminx.ts
475
1055
  async function randomMasterTetraminxScramble() {
@@ -543,7 +1123,7 @@ async function randomPyraminxScrambleFixedOrientation() {
543
1123
  }
544
1124
 
545
1125
  // src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.ts
546
- var searchDynamicUnofficial = from(() => import("./search-dynamic-sgs-unofficial-YA6LSNFG.js"));
1126
+ var searchDynamicUnofficial = from(() => import("./search-dynamic-sgs-unofficial-OUTZD5Y2.js"));
547
1127
 
548
1128
  // src/cubing/search/inside/solve/puzzles/redi_cube.ts
549
1129
  async function randomRediCubeScramble() {
@@ -598,7 +1178,7 @@ async function randomSkewbFixedCornerScramble() {
598
1178
  }
599
1179
 
600
1180
  // src/cubing/search/inside/solve/puzzles/dynamic/sq1/index.ts
601
- var dynamicSq1Solver = from(() => import("./search-dynamic-solve-sq1-TO7UHE6Y.js"));
1181
+ var dynamicSq1Solver = from(() => import("./search-dynamic-solve-sq1-INOYNRSJ.js"));
602
1182
 
603
1183
  // src/cubing/search/inside/solve/puzzles/sq1.ts
604
1184
  async function getRandomSquare1Scramble() {
@@ -804,6 +1384,8 @@ var insideAPI = {
804
1384
  };
805
1385
 
806
1386
  export {
1387
+ random333Pattern,
1388
+ random333Scramble,
807
1389
  insideAPI
808
1390
  };
809
- //# sourceMappingURL=chunk-VSFPWTDH.js.map
1391
+ //# sourceMappingURL=chunk-DYHU7CO7.js.map