cubing 0.31.6 → 0.31.7
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.
- package/dist/esm/.DS_Store +0 -0
- package/dist/esm/alg/index.js +1 -1
- package/dist/esm/bluetooth/index.js +5 -5
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/{chunk-NIDW7PCY.js → chunk-2EYZN4E3.js} +7 -7
- package/dist/esm/{chunk-NIDW7PCY.js.map → chunk-2EYZN4E3.js.map} +0 -0
- package/dist/esm/{chunk-6CRQ3Z75.js → chunk-ASTDBI25.js} +3 -3
- package/dist/esm/chunk-ASTDBI25.js.map +7 -0
- package/dist/esm/{chunk-LGJ4AXVG.js → chunk-AUF56UEH.js} +2 -2
- package/dist/esm/{chunk-LGJ4AXVG.js.map → chunk-AUF56UEH.js.map} +0 -0
- package/dist/esm/{chunk-YM4RYQQM.js → chunk-CQII4VKQ.js} +3 -3
- package/dist/esm/{chunk-YM4RYQQM.js.map → chunk-CQII4VKQ.js.map} +0 -0
- package/dist/esm/{chunk-K6RENDGG.js → chunk-H5Q6ZTRP.js} +4 -4
- package/dist/esm/{chunk-K6RENDGG.js.map → chunk-H5Q6ZTRP.js.map} +0 -0
- package/dist/esm/{chunk-23PDUZN6.js → chunk-IJP4IAGZ.js} +1 -1
- package/dist/esm/chunk-IJP4IAGZ.js.map +7 -0
- package/dist/esm/{chunk-Z4UAFYMU.js → chunk-NOAOLQ25.js} +2 -2
- package/dist/esm/{chunk-Z4UAFYMU.js.map → chunk-NOAOLQ25.js.map} +0 -0
- package/dist/esm/{chunk-KSPS7U45.js → chunk-OGXWZ6ER.js} +2 -2
- package/dist/esm/{chunk-KSPS7U45.js.map → chunk-OGXWZ6ER.js.map} +0 -0
- package/dist/esm/{chunk-YVIUZYDL.js → chunk-SPJL6GKQ.js} +10 -354
- package/dist/esm/chunk-SPJL6GKQ.js.map +7 -0
- package/dist/esm/{chunk-TUETQPSZ.js → chunk-W6D5GKZQ.js} +478 -56
- package/dist/esm/chunk-W6D5GKZQ.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +2 -2
- package/dist/esm/notation/index.js +2 -2
- package/dist/esm/protocol/index.js +4 -4
- package/dist/esm/puzzle-geometry/index.js +1 -1
- package/dist/esm/puzzle-geometry/index.js.map +2 -2
- package/dist/esm/puzzles/index.js +4 -4
- package/dist/esm/scramble/index.js +2 -2
- package/dist/esm/search/index.js +6 -7
- package/dist/esm/{search-dynamic-sgs-side-events-LNK5H654.js → search-dynamic-sgs-side-events-LDZZKKJE.js} +6 -6
- package/dist/esm/{search-dynamic-sgs-side-events-LNK5H654.js.map → search-dynamic-sgs-side-events-LDZZKKJE.js.map} +0 -0
- package/dist/esm/{search-dynamic-sgs-unofficial-V6KHVP33.js → search-dynamic-sgs-unofficial-LB26IV7B.js} +6 -6
- package/dist/esm/{search-dynamic-sgs-unofficial-V6KHVP33.js.map → search-dynamic-sgs-unofficial-LB26IV7B.js.map} +0 -0
- package/dist/esm/{search-dynamic-solve-4x4x4-OGUGCJII.js → search-dynamic-solve-4x4x4-IIOB4BKQ.js} +6 -7
- package/dist/esm/{search-dynamic-solve-4x4x4-OGUGCJII.js.map → search-dynamic-solve-4x4x4-IIOB4BKQ.js.map} +1 -1
- package/dist/esm/{search-dynamic-solve-kilominx-NGTYP5YN.js → search-dynamic-solve-kilominx-KOBSWYM6.js} +2 -2
- package/dist/esm/{search-dynamic-solve-kilominx-NGTYP5YN.js.map → search-dynamic-solve-kilominx-KOBSWYM6.js.map} +0 -0
- package/dist/esm/{search-worker-inside-generated-string-PM5MPECU.js → search-worker-inside-generated-string-5LNQXZJU.js} +29 -29
- package/dist/esm/search-worker-inside-generated-string-5LNQXZJU.js.map +7 -0
- package/dist/esm/{search-worker-js-entry-BLPSRSPB.js → search-worker-js-entry-5CNMPBYP.js} +14 -15
- package/dist/esm/{search-worker-js-entry-BLPSRSPB.js.map → search-worker-js-entry-5CNMPBYP.js.map} +1 -1
- package/dist/esm/{search-worker-ts-entry-63LKRWMR.js → search-worker-ts-entry-WM7R5RWW.js} +2 -2
- package/dist/esm/{search-worker-ts-entry-63LKRWMR.js.map → search-worker-ts-entry-WM7R5RWW.js.map} +0 -0
- package/dist/esm/stream/index.js +1 -1
- package/dist/esm/twisty/index.js +40 -13
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/{twisty-dynamic-3d-K4BNTWDJ.js → twisty-dynamic-3d-Q54GMZJG.js} +41 -29
- package/dist/esm/twisty-dynamic-3d-Q54GMZJG.js.map +7 -0
- package/dist/types/{TwizzleLink-4d656916.d.ts → TwizzleLink-b28e5d4f.d.ts} +36 -23
- package/dist/types/puzzles/index.d.ts +2 -2
- package/dist/types/twisty/index.d.ts +2 -2
- package/package.json +1 -1
- package/dist/esm/chunk-23PDUZN6.js.map +0 -7
- package/dist/esm/chunk-6CRQ3Z75.js.map +0 -7
- package/dist/esm/chunk-QHWK5RXN.js +0 -42
- package/dist/esm/chunk-QHWK5RXN.js.map +0 -7
- package/dist/esm/chunk-TUETQPSZ.js.map +0 -7
- package/dist/esm/chunk-YVIUZYDL.js.map +0 -7
- package/dist/esm/search-worker-inside-generated-string-PM5MPECU.js.map +0 -7
- package/dist/esm/twisty-dynamic-3d-K4BNTWDJ.js.map +0 -7
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
KPuzzle,
|
|
3
3
|
KState
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AUF56UEH.js";
|
|
5
5
|
import {
|
|
6
|
-
Alg
|
|
7
|
-
|
|
6
|
+
Alg,
|
|
7
|
+
Move
|
|
8
|
+
} from "./chunk-IJP4IAGZ.js";
|
|
8
9
|
|
|
9
10
|
// src/cubing/puzzles/stickerings/mask.ts
|
|
10
11
|
function getFaceletStickeringMask(stickeringMask, orbitName, pieceIdx, faceletIdx, hint) {
|
|
@@ -194,6 +195,456 @@ var StickeringManager = class {
|
|
|
194
195
|
}
|
|
195
196
|
};
|
|
196
197
|
|
|
198
|
+
// src/cubing/puzzles/stickerings/puzzle-stickerings.ts
|
|
199
|
+
var experimentalStickerings = {
|
|
200
|
+
full: { groups: { "3x3x3": "Stickering" } },
|
|
201
|
+
OLL: { groups: { "3x3x3": "Last Layer" } },
|
|
202
|
+
PLL: { groups: { "3x3x3": "Last Layer" } },
|
|
203
|
+
LL: { groups: { "3x3x3": "Last Layer" } },
|
|
204
|
+
EOLL: { groups: { "3x3x3": "Last Layer" } },
|
|
205
|
+
COLL: { groups: { "3x3x3": "Last Layer" } },
|
|
206
|
+
OCLL: { groups: { "3x3x3": "Last Layer" } },
|
|
207
|
+
CLL: { groups: { "3x3x3": "Last Layer" } },
|
|
208
|
+
ELL: { groups: { "3x3x3": "Last Layer" } },
|
|
209
|
+
ZBLL: { groups: { "3x3x3": "Last Layer" } },
|
|
210
|
+
LS: { groups: { "3x3x3": "Last Slot" } },
|
|
211
|
+
ELS: { groups: { "3x3x3": "Last Slot" } },
|
|
212
|
+
CLS: { groups: { "3x3x3": "Last Slot" } },
|
|
213
|
+
ZBLS: { groups: { "3x3x3": "Last Slot" } },
|
|
214
|
+
VLS: { groups: { "3x3x3": "Last Slot" } },
|
|
215
|
+
WVLS: { groups: { "3x3x3": "Last Slot" } },
|
|
216
|
+
F2L: { groups: { "3x3x3": "CFOP (Fridrich)" } },
|
|
217
|
+
Daisy: { groups: { "3x3x3": "CFOP (Fridrich)" } },
|
|
218
|
+
Cross: { groups: { "3x3x3": "CFOP (Fridrich)" } },
|
|
219
|
+
EO: { groups: { "3x3x3": "ZZ" } },
|
|
220
|
+
EOline: { groups: { "3x3x3": "ZZ" } },
|
|
221
|
+
EOcross: { groups: { "3x3x3": "ZZ" } },
|
|
222
|
+
CMLL: { groups: { "3x3x3": "Roux" } },
|
|
223
|
+
L10P: { groups: { "3x3x3": "Roux" } },
|
|
224
|
+
L6E: { groups: { "3x3x3": "Roux" } },
|
|
225
|
+
L6EO: { groups: { "3x3x3": "Roux" } },
|
|
226
|
+
"2x2x2": { groups: { "3x3x3": "Petrus" } },
|
|
227
|
+
"2x2x3": { groups: { "3x3x3": "Petrus" } },
|
|
228
|
+
"Void Cube": { groups: { "3x3x3": "Miscellaneous" } },
|
|
229
|
+
invisible: { groups: { "3x3x3": "Miscellaneous" } },
|
|
230
|
+
picture: { groups: { "3x3x3": "Miscellaneous" } },
|
|
231
|
+
"centers-only": { groups: { "3x3x3": "Miscellaneous" } },
|
|
232
|
+
"experimental-centers-U": {},
|
|
233
|
+
"experimental-centers-U-D": {},
|
|
234
|
+
"experimental-centers-U-L-D": {},
|
|
235
|
+
"experimental-centers-U-L-B-D": {},
|
|
236
|
+
"experimental-centers": {},
|
|
237
|
+
"experimental-fto-fc": { groups: { fto: "Bencisco" } },
|
|
238
|
+
"experimental-fto-f2t": { groups: { fto: "Bencisco" } },
|
|
239
|
+
"experimental-fto-sc": { groups: { fto: "Bencisco" } },
|
|
240
|
+
"experimental-fto-l2c": { groups: { fto: "Bencisco" } },
|
|
241
|
+
"experimental-fto-lbt": { groups: { fto: "Bencisco" } },
|
|
242
|
+
"experimental-fto-l3t": { groups: { fto: "Bencisco" } }
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
// src/cubing/puzzles/stickerings/cube-like-stickerings.ts
|
|
246
|
+
async function cubeLikeStickeringMask(puzzleLoader, stickering) {
|
|
247
|
+
const kpuzzle = await puzzleLoader.kpuzzle();
|
|
248
|
+
const puzzleStickering = new PuzzleStickering(kpuzzle);
|
|
249
|
+
const m = new StickeringManager(kpuzzle);
|
|
250
|
+
const LL = () => m.move("U");
|
|
251
|
+
const orUD = () => m.or(m.moves(["U", "D"]));
|
|
252
|
+
const orLR = () => m.or(m.moves(["L", "R"]));
|
|
253
|
+
const M = () => m.not(orLR());
|
|
254
|
+
const F2L = () => m.not(LL());
|
|
255
|
+
const CENTERS = () => m.orbitPrefix("CENTER");
|
|
256
|
+
const EDGES = () => m.orbitPrefix("EDGE");
|
|
257
|
+
const CORNERS = () => m.or([
|
|
258
|
+
m.orbitPrefix("CORNER"),
|
|
259
|
+
m.orbitPrefix("C4RNER"),
|
|
260
|
+
m.orbitPrefix("C5RNER")
|
|
261
|
+
]);
|
|
262
|
+
const L6E = () => m.or([M(), m.and([LL(), EDGES()])]);
|
|
263
|
+
const centerLL = () => m.and([LL(), CENTERS()]);
|
|
264
|
+
const edgeFR = () => m.and([m.and(m.moves(["F", "R"])), EDGES()]);
|
|
265
|
+
const cornerDFR = () => m.and([m.and(m.moves(["F", "R"])), CORNERS(), m.not(LL())]);
|
|
266
|
+
const slotFR = () => m.or([cornerDFR(), edgeFR()]);
|
|
267
|
+
function dimF2L() {
|
|
268
|
+
puzzleStickering.set(F2L(), "Dim" /* Dim */);
|
|
269
|
+
}
|
|
270
|
+
function setPLL() {
|
|
271
|
+
puzzleStickering.set(LL(), "PermuteNonPrimary" /* PermuteNonPrimary */);
|
|
272
|
+
puzzleStickering.set(centerLL(), "Dim" /* Dim */);
|
|
273
|
+
}
|
|
274
|
+
function setOLL() {
|
|
275
|
+
puzzleStickering.set(LL(), "IgnoreNonPrimary" /* IgnoreNonPrimary */);
|
|
276
|
+
puzzleStickering.set(centerLL(), "Regular" /* Regular */);
|
|
277
|
+
}
|
|
278
|
+
function dimOLL() {
|
|
279
|
+
puzzleStickering.set(LL(), "Ignoriented" /* Ignoriented */);
|
|
280
|
+
puzzleStickering.set(centerLL(), "Dim" /* Dim */);
|
|
281
|
+
}
|
|
282
|
+
switch (stickering) {
|
|
283
|
+
case "full":
|
|
284
|
+
break;
|
|
285
|
+
case "PLL": {
|
|
286
|
+
dimF2L();
|
|
287
|
+
setPLL();
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
case "CLS": {
|
|
291
|
+
dimF2L();
|
|
292
|
+
puzzleStickering.set(cornerDFR(), "Regular" /* Regular */);
|
|
293
|
+
puzzleStickering.set(LL(), "Ignoriented" /* Ignoriented */);
|
|
294
|
+
puzzleStickering.set(m.and([LL(), CENTERS()]), "Dim" /* Dim */);
|
|
295
|
+
puzzleStickering.set(
|
|
296
|
+
m.and([LL(), CORNERS()]),
|
|
297
|
+
"IgnoreNonPrimary" /* IgnoreNonPrimary */
|
|
298
|
+
);
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
case "OLL": {
|
|
302
|
+
dimF2L();
|
|
303
|
+
setOLL();
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
case "EOLL": {
|
|
307
|
+
dimF2L();
|
|
308
|
+
setOLL();
|
|
309
|
+
puzzleStickering.set(m.and([LL(), CORNERS()]), "Ignored" /* Ignored */);
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
case "COLL": {
|
|
313
|
+
dimF2L();
|
|
314
|
+
puzzleStickering.set(m.and([LL(), EDGES()]), "Ignoriented" /* Ignoriented */);
|
|
315
|
+
puzzleStickering.set(m.and([LL(), CENTERS()]), "Dim" /* Dim */);
|
|
316
|
+
puzzleStickering.set(m.and([LL(), CORNERS()]), "Regular" /* Regular */);
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
case "OCLL": {
|
|
320
|
+
dimF2L();
|
|
321
|
+
dimOLL();
|
|
322
|
+
puzzleStickering.set(
|
|
323
|
+
m.and([LL(), CORNERS()]),
|
|
324
|
+
"IgnoreNonPrimary" /* IgnoreNonPrimary */
|
|
325
|
+
);
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
case "CLL": {
|
|
329
|
+
dimF2L();
|
|
330
|
+
puzzleStickering.set(
|
|
331
|
+
m.not(m.and([CORNERS(), LL()])),
|
|
332
|
+
"Dim" /* Dim */
|
|
333
|
+
);
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
case "ELL": {
|
|
337
|
+
dimF2L();
|
|
338
|
+
puzzleStickering.set(LL(), "Dim" /* Dim */);
|
|
339
|
+
puzzleStickering.set(m.and([LL(), EDGES()]), "Regular" /* Regular */);
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
case "ELS": {
|
|
343
|
+
dimF2L();
|
|
344
|
+
setOLL();
|
|
345
|
+
puzzleStickering.set(m.and([LL(), CORNERS()]), "Ignored" /* Ignored */);
|
|
346
|
+
puzzleStickering.set(edgeFR(), "Regular" /* Regular */);
|
|
347
|
+
puzzleStickering.set(cornerDFR(), "Ignored" /* Ignored */);
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
case "LL": {
|
|
351
|
+
dimF2L();
|
|
352
|
+
break;
|
|
353
|
+
}
|
|
354
|
+
case "F2L": {
|
|
355
|
+
puzzleStickering.set(LL(), "Ignored" /* Ignored */);
|
|
356
|
+
break;
|
|
357
|
+
}
|
|
358
|
+
case "ZBLL": {
|
|
359
|
+
dimF2L();
|
|
360
|
+
puzzleStickering.set(LL(), "PermuteNonPrimary" /* PermuteNonPrimary */);
|
|
361
|
+
puzzleStickering.set(centerLL(), "Dim" /* Dim */);
|
|
362
|
+
puzzleStickering.set(m.and([LL(), CORNERS()]), "Regular" /* Regular */);
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
case "ZBLS": {
|
|
366
|
+
dimF2L();
|
|
367
|
+
puzzleStickering.set(slotFR(), "Regular" /* Regular */);
|
|
368
|
+
setOLL();
|
|
369
|
+
puzzleStickering.set(m.and([LL(), CORNERS()]), "Ignored" /* Ignored */);
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
case "VLS": {
|
|
373
|
+
dimF2L();
|
|
374
|
+
puzzleStickering.set(slotFR(), "Regular" /* Regular */);
|
|
375
|
+
setOLL();
|
|
376
|
+
break;
|
|
377
|
+
}
|
|
378
|
+
case "WVLS": {
|
|
379
|
+
dimF2L();
|
|
380
|
+
puzzleStickering.set(slotFR(), "Regular" /* Regular */);
|
|
381
|
+
puzzleStickering.set(m.and([LL(), EDGES()]), "Ignoriented" /* Ignoriented */);
|
|
382
|
+
puzzleStickering.set(m.and([LL(), CENTERS()]), "Dim" /* Dim */);
|
|
383
|
+
puzzleStickering.set(
|
|
384
|
+
m.and([LL(), CORNERS()]),
|
|
385
|
+
"IgnoreNonPrimary" /* IgnoreNonPrimary */
|
|
386
|
+
);
|
|
387
|
+
break;
|
|
388
|
+
}
|
|
389
|
+
case "LS": {
|
|
390
|
+
dimF2L();
|
|
391
|
+
puzzleStickering.set(slotFR(), "Regular" /* Regular */);
|
|
392
|
+
puzzleStickering.set(LL(), "Ignored" /* Ignored */);
|
|
393
|
+
puzzleStickering.set(centerLL(), "Dim" /* Dim */);
|
|
394
|
+
break;
|
|
395
|
+
}
|
|
396
|
+
case "EO": {
|
|
397
|
+
puzzleStickering.set(CORNERS(), "Ignored" /* Ignored */);
|
|
398
|
+
puzzleStickering.set(
|
|
399
|
+
EDGES(),
|
|
400
|
+
"OrientationWithoutPermutation" /* OrientationWithoutPermutation */
|
|
401
|
+
);
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
case "EOline": {
|
|
405
|
+
puzzleStickering.set(CORNERS(), "Ignored" /* Ignored */);
|
|
406
|
+
puzzleStickering.set(
|
|
407
|
+
EDGES(),
|
|
408
|
+
"OrientationWithoutPermutation" /* OrientationWithoutPermutation */
|
|
409
|
+
);
|
|
410
|
+
puzzleStickering.set(m.and(m.moves(["D", "M"])), "Regular" /* Regular */);
|
|
411
|
+
break;
|
|
412
|
+
}
|
|
413
|
+
case "EOcross": {
|
|
414
|
+
puzzleStickering.set(
|
|
415
|
+
EDGES(),
|
|
416
|
+
"OrientationWithoutPermutation" /* OrientationWithoutPermutation */
|
|
417
|
+
);
|
|
418
|
+
puzzleStickering.set(m.move("D"), "Regular" /* Regular */);
|
|
419
|
+
puzzleStickering.set(CORNERS(), "Ignored" /* Ignored */);
|
|
420
|
+
break;
|
|
421
|
+
}
|
|
422
|
+
case "CMLL": {
|
|
423
|
+
puzzleStickering.set(F2L(), "Dim" /* Dim */);
|
|
424
|
+
puzzleStickering.set(L6E(), "Ignored" /* Ignored */);
|
|
425
|
+
puzzleStickering.set(m.and([LL(), CORNERS()]), "Regular" /* Regular */);
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
case "L10P": {
|
|
429
|
+
puzzleStickering.set(m.not(L6E()), "Dim" /* Dim */);
|
|
430
|
+
puzzleStickering.set(m.and([CORNERS(), LL()]), "Regular" /* Regular */);
|
|
431
|
+
break;
|
|
432
|
+
}
|
|
433
|
+
case "L6E": {
|
|
434
|
+
puzzleStickering.set(m.not(L6E()), "Dim" /* Dim */);
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
437
|
+
case "L6EO": {
|
|
438
|
+
puzzleStickering.set(m.not(L6E()), "Dim" /* Dim */);
|
|
439
|
+
puzzleStickering.set(
|
|
440
|
+
L6E(),
|
|
441
|
+
"OrientationWithoutPermutation" /* OrientationWithoutPermutation */
|
|
442
|
+
);
|
|
443
|
+
puzzleStickering.set(
|
|
444
|
+
m.and([CENTERS(), orUD()]),
|
|
445
|
+
"OrientationStickers" /* OrientationStickers */
|
|
446
|
+
);
|
|
447
|
+
break;
|
|
448
|
+
}
|
|
449
|
+
case "Daisy": {
|
|
450
|
+
puzzleStickering.set(m.all(), "Ignored" /* Ignored */);
|
|
451
|
+
puzzleStickering.set(CENTERS(), "Dim" /* Dim */);
|
|
452
|
+
puzzleStickering.set(
|
|
453
|
+
m.and([m.move("D"), CENTERS()]),
|
|
454
|
+
"Regular" /* Regular */
|
|
455
|
+
);
|
|
456
|
+
puzzleStickering.set(
|
|
457
|
+
m.and([m.move("U"), EDGES()]),
|
|
458
|
+
"IgnoreNonPrimary" /* IgnoreNonPrimary */
|
|
459
|
+
);
|
|
460
|
+
break;
|
|
461
|
+
}
|
|
462
|
+
case "Cross": {
|
|
463
|
+
puzzleStickering.set(m.all(), "Ignored" /* Ignored */);
|
|
464
|
+
puzzleStickering.set(CENTERS(), "Dim" /* Dim */);
|
|
465
|
+
puzzleStickering.set(
|
|
466
|
+
m.and([m.move("D"), CENTERS()]),
|
|
467
|
+
"Regular" /* Regular */
|
|
468
|
+
);
|
|
469
|
+
puzzleStickering.set(
|
|
470
|
+
m.and([m.move("D"), EDGES()]),
|
|
471
|
+
"Regular" /* Regular */
|
|
472
|
+
);
|
|
473
|
+
break;
|
|
474
|
+
}
|
|
475
|
+
case "2x2x2": {
|
|
476
|
+
puzzleStickering.set(
|
|
477
|
+
m.or(m.moves(["U", "F", "R"])),
|
|
478
|
+
"Ignored" /* Ignored */
|
|
479
|
+
);
|
|
480
|
+
puzzleStickering.set(
|
|
481
|
+
m.and([m.or(m.moves(["U", "F", "R"])), CENTERS()]),
|
|
482
|
+
"Dim" /* Dim */
|
|
483
|
+
);
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
case "2x2x3": {
|
|
487
|
+
puzzleStickering.set(m.all(), "Dim" /* Dim */);
|
|
488
|
+
puzzleStickering.set(
|
|
489
|
+
m.or(m.moves(["U", "F", "R"])),
|
|
490
|
+
"Ignored" /* Ignored */
|
|
491
|
+
);
|
|
492
|
+
puzzleStickering.set(
|
|
493
|
+
m.and([m.or(m.moves(["U", "F", "R"])), CENTERS()]),
|
|
494
|
+
"Dim" /* Dim */
|
|
495
|
+
);
|
|
496
|
+
puzzleStickering.set(
|
|
497
|
+
m.and([m.move("F"), m.not(m.or(m.moves(["U", "R"])))]),
|
|
498
|
+
"Regular" /* Regular */
|
|
499
|
+
);
|
|
500
|
+
break;
|
|
501
|
+
}
|
|
502
|
+
case "Void Cube": {
|
|
503
|
+
puzzleStickering.set(CENTERS(), "Invisible" /* Invisible */);
|
|
504
|
+
break;
|
|
505
|
+
}
|
|
506
|
+
case "picture":
|
|
507
|
+
case "invisible": {
|
|
508
|
+
puzzleStickering.set(m.all(), "Invisible" /* Invisible */);
|
|
509
|
+
break;
|
|
510
|
+
}
|
|
511
|
+
case "centers-only": {
|
|
512
|
+
puzzleStickering.set(m.not(CENTERS()), "Ignored" /* Ignored */);
|
|
513
|
+
break;
|
|
514
|
+
}
|
|
515
|
+
default:
|
|
516
|
+
console.warn(
|
|
517
|
+
`Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`
|
|
518
|
+
);
|
|
519
|
+
puzzleStickering.set(m.and(m.moves([])), "Dim" /* Dim */);
|
|
520
|
+
}
|
|
521
|
+
return puzzleStickering.toStickeringMask();
|
|
522
|
+
}
|
|
523
|
+
async function cubeStickerings() {
|
|
524
|
+
const stickerings = [];
|
|
525
|
+
for (const [name, info] of Object.entries(experimentalStickerings)) {
|
|
526
|
+
if (info.groups && "3x3x3" in info.groups) {
|
|
527
|
+
stickerings.push(name);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
return stickerings;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
// src/cubing/puzzles/async/lazy-cached.ts
|
|
534
|
+
function getCached(getValue) {
|
|
535
|
+
let cachedPromise = null;
|
|
536
|
+
return () => {
|
|
537
|
+
return cachedPromise ?? (cachedPromise = getValue());
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
// src/cubing/vendor/p-lazy/p-lazy.ts
|
|
542
|
+
var PLazy = class extends Promise {
|
|
543
|
+
constructor(executor) {
|
|
544
|
+
super((resolve) => {
|
|
545
|
+
resolve();
|
|
546
|
+
});
|
|
547
|
+
this._executor = executor;
|
|
548
|
+
}
|
|
549
|
+
static from(function_) {
|
|
550
|
+
return new PLazy((resolve) => {
|
|
551
|
+
resolve(function_());
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
static resolve(value) {
|
|
555
|
+
return new PLazy((resolve) => {
|
|
556
|
+
resolve(value);
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
static reject(error) {
|
|
560
|
+
return new PLazy((_resolve, reject) => {
|
|
561
|
+
reject(error);
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
then(onFulfilled, onRejected) {
|
|
565
|
+
this._promise = this._promise || new Promise(this._executor);
|
|
566
|
+
return this._promise.then(onFulfilled, onRejected);
|
|
567
|
+
}
|
|
568
|
+
catch(onRejected) {
|
|
569
|
+
this._promise = this._promise || new Promise(this._executor);
|
|
570
|
+
return this._promise.catch(onRejected);
|
|
571
|
+
}
|
|
572
|
+
};
|
|
573
|
+
function from(function_) {
|
|
574
|
+
return new PLazy((resolve) => {
|
|
575
|
+
resolve(function_());
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// src/cubing/puzzles/async/async-pg3d.ts
|
|
580
|
+
async function asyncGetPuzzleGeometry(puzzleName) {
|
|
581
|
+
const puzzleGeometry = await import("./puzzle-geometry/index.js");
|
|
582
|
+
return puzzleGeometry.getPuzzleGeometryByName(puzzleName, {
|
|
583
|
+
allMoves: true,
|
|
584
|
+
orientCenters: true,
|
|
585
|
+
addRotations: true
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
async function asyncGetKPuzzle(pgPromise, puzzleName) {
|
|
589
|
+
const pg = await pgPromise;
|
|
590
|
+
const kpuzzleDefinition = pg.getKPuzzleDefinition(true);
|
|
591
|
+
kpuzzleDefinition.name = puzzleName;
|
|
592
|
+
const puzzleGeometry = await import("./puzzle-geometry/index.js");
|
|
593
|
+
const pgNotation = new puzzleGeometry.ExperimentalPGNotation(
|
|
594
|
+
pg,
|
|
595
|
+
pg.getOrbitsDef(true)
|
|
596
|
+
);
|
|
597
|
+
return new KPuzzle(kpuzzleDefinition, {
|
|
598
|
+
experimentalPGNotation: pgNotation
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
var PGPuzzleLoader = class {
|
|
602
|
+
constructor(info) {
|
|
603
|
+
this.puzzleSpecificSimplifyOptionsPromise = puzzleSpecificSimplifyOptionsPromise(
|
|
604
|
+
this.kpuzzle.bind(this)
|
|
605
|
+
);
|
|
606
|
+
this.pgId = info.pgID;
|
|
607
|
+
this.id = info.id;
|
|
608
|
+
this.fullName = info.fullName;
|
|
609
|
+
this.inventedBy = info.inventedBy;
|
|
610
|
+
this.inventionYear = info.inventionYear;
|
|
611
|
+
}
|
|
612
|
+
#cachedPG;
|
|
613
|
+
pg() {
|
|
614
|
+
return this.#cachedPG ?? (this.#cachedPG = asyncGetPuzzleGeometry(this.pgId ?? this.id));
|
|
615
|
+
}
|
|
616
|
+
#cachedKPuzzle;
|
|
617
|
+
kpuzzle() {
|
|
618
|
+
return this.#cachedKPuzzle ?? (this.#cachedKPuzzle = asyncGetKPuzzle(this.pg(), this.id));
|
|
619
|
+
}
|
|
620
|
+
#cachedSVG;
|
|
621
|
+
svg() {
|
|
622
|
+
return this.#cachedSVG ?? (this.#cachedSVG = (async () => (await this.pg()).generatesvg())());
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
var CubePGPuzzleLoader = class extends PGPuzzleLoader {
|
|
626
|
+
constructor() {
|
|
627
|
+
super(...arguments);
|
|
628
|
+
this.stickerings = cubeStickerings;
|
|
629
|
+
}
|
|
630
|
+
stickeringMask(stickering) {
|
|
631
|
+
return cubeLikeStickeringMask(this, stickering);
|
|
632
|
+
}
|
|
633
|
+
};
|
|
634
|
+
function puzzleSpecificSimplifyOptionsPromise(kpuzzlePromiseFn) {
|
|
635
|
+
return new PLazy(
|
|
636
|
+
async (resolve) => {
|
|
637
|
+
const kpuzzle = await kpuzzlePromiseFn();
|
|
638
|
+
console.log(kpuzzle);
|
|
639
|
+
resolve({
|
|
640
|
+
quantumMoveOrder: (m) => {
|
|
641
|
+
return kpuzzle.moveToTransformation(new Move(m)).repetitionOrder();
|
|
642
|
+
}
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
);
|
|
646
|
+
}
|
|
647
|
+
|
|
197
648
|
// src/cubing/puzzles/implementations/dynamic/3x3x3/3x3x3.kpuzzle.json.ts
|
|
198
649
|
var cube3x3x3KPuzzleDefinition = {
|
|
199
650
|
name: "3x3x3",
|
|
@@ -492,52 +943,14 @@ cube3x3x3KPuzzleDefinition.experimentalDerivedMoves = {
|
|
|
492
943
|
"2D": "d D'"
|
|
493
944
|
};
|
|
494
945
|
|
|
495
|
-
// src/cubing/puzzles/
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
OCLL: { groups: { "3x3x3": "Last Layer" } },
|
|
504
|
-
CLL: { groups: { "3x3x3": "Last Layer" } },
|
|
505
|
-
ELL: { groups: { "3x3x3": "Last Layer" } },
|
|
506
|
-
ZBLL: { groups: { "3x3x3": "Last Layer" } },
|
|
507
|
-
LS: { groups: { "3x3x3": "Last Slot" } },
|
|
508
|
-
ELS: { groups: { "3x3x3": "Last Slot" } },
|
|
509
|
-
CLS: { groups: { "3x3x3": "Last Slot" } },
|
|
510
|
-
ZBLS: { groups: { "3x3x3": "Last Slot" } },
|
|
511
|
-
VLS: { groups: { "3x3x3": "Last Slot" } },
|
|
512
|
-
WVLS: { groups: { "3x3x3": "Last Slot" } },
|
|
513
|
-
F2L: { groups: { "3x3x3": "CFOP (Fridrich)" } },
|
|
514
|
-
Daisy: { groups: { "3x3x3": "CFOP (Fridrich)" } },
|
|
515
|
-
Cross: { groups: { "3x3x3": "CFOP (Fridrich)" } },
|
|
516
|
-
EO: { groups: { "3x3x3": "ZZ" } },
|
|
517
|
-
EOline: { groups: { "3x3x3": "ZZ" } },
|
|
518
|
-
EOcross: { groups: { "3x3x3": "ZZ" } },
|
|
519
|
-
CMLL: { groups: { "3x3x3": "Roux" } },
|
|
520
|
-
L10P: { groups: { "3x3x3": "Roux" } },
|
|
521
|
-
L6E: { groups: { "3x3x3": "Roux" } },
|
|
522
|
-
L6EO: { groups: { "3x3x3": "Roux" } },
|
|
523
|
-
"2x2x2": { groups: { "3x3x3": "Petrus" } },
|
|
524
|
-
"2x2x3": { groups: { "3x3x3": "Petrus" } },
|
|
525
|
-
"Void Cube": { groups: { "3x3x3": "Miscellaneous" } },
|
|
526
|
-
invisible: { groups: { "3x3x3": "Miscellaneous" } },
|
|
527
|
-
picture: { groups: { "3x3x3": "Miscellaneous" } },
|
|
528
|
-
"centers-only": { groups: { "3x3x3": "Miscellaneous" } },
|
|
529
|
-
"experimental-centers-U": {},
|
|
530
|
-
"experimental-centers-U-D": {},
|
|
531
|
-
"experimental-centers-U-L-D": {},
|
|
532
|
-
"experimental-centers-U-L-B-D": {},
|
|
533
|
-
"experimental-centers": {},
|
|
534
|
-
"experimental-fto-fc": { groups: { fto: "Bencisco" } },
|
|
535
|
-
"experimental-fto-f2t": { groups: { fto: "Bencisco" } },
|
|
536
|
-
"experimental-fto-sc": { groups: { fto: "Bencisco" } },
|
|
537
|
-
"experimental-fto-l2c": { groups: { fto: "Bencisco" } },
|
|
538
|
-
"experimental-fto-lbt": { groups: { fto: "Bencisco" } },
|
|
539
|
-
"experimental-fto-l3t": { groups: { fto: "Bencisco" } }
|
|
540
|
-
};
|
|
946
|
+
// src/cubing/puzzles/PuzzleLoader.ts
|
|
947
|
+
async function getPartialAppendOptionsForPuzzleSpecificSimplifyOptions(puzzleLoader) {
|
|
948
|
+
const puzzleSpecificSimplifyOptions = await (puzzleLoader.puzzleSpecificSimplifyOptions ?? puzzleLoader.puzzleSpecificSimplifyOptionsPromise);
|
|
949
|
+
if (!puzzleSpecificSimplifyOptions) {
|
|
950
|
+
return {};
|
|
951
|
+
}
|
|
952
|
+
return { puzzleLoader: { puzzleSpecificSimplifyOptions } };
|
|
953
|
+
}
|
|
541
954
|
|
|
542
955
|
// src/cubing/puzzles/customPGPuzzleLoader.ts
|
|
543
956
|
async function descAsyncGetPuzzleGeometry(desc) {
|
|
@@ -548,7 +961,7 @@ async function descAsyncGetPuzzleGeometry(desc) {
|
|
|
548
961
|
addRotations: true
|
|
549
962
|
});
|
|
550
963
|
}
|
|
551
|
-
async function
|
|
964
|
+
async function asyncGetKPuzzle2(desc) {
|
|
552
965
|
const pg = await descAsyncGetPuzzleGeometry(desc);
|
|
553
966
|
const kpuzzleDefinition = pg.getKPuzzleDefinition(true);
|
|
554
967
|
kpuzzleDefinition.name = `description: ${desc}`;
|
|
@@ -565,19 +978,21 @@ var nextCustomID = 1;
|
|
|
565
978
|
function customPGPuzzleLoader(desc, info) {
|
|
566
979
|
const customID = nextCustomID++;
|
|
567
980
|
let cachedKPuzzle = null;
|
|
981
|
+
const kpuzzlePromiseFn = async () => {
|
|
982
|
+
return cachedKPuzzle ?? (cachedKPuzzle = asyncGetKPuzzle2(desc));
|
|
983
|
+
};
|
|
568
984
|
const puzzleLoader = {
|
|
569
985
|
id: `custom-${customID}`,
|
|
570
986
|
fullName: info?.fullName ?? `Custom Puzzle (instance #${customID})`,
|
|
571
|
-
kpuzzle:
|
|
572
|
-
return cachedKPuzzle ?? (cachedKPuzzle = asyncGetKPuzzle(desc));
|
|
573
|
-
},
|
|
987
|
+
kpuzzle: kpuzzlePromiseFn,
|
|
574
988
|
svg: async () => {
|
|
575
989
|
const pg = await descAsyncGetPuzzleGeometry(desc);
|
|
576
990
|
return pg.generatesvg();
|
|
577
991
|
},
|
|
578
992
|
pg: async () => {
|
|
579
993
|
return descAsyncGetPuzzleGeometry(desc);
|
|
580
|
-
}
|
|
994
|
+
},
|
|
995
|
+
puzzleSpecificSimplifyOptionsPromise: puzzleSpecificSimplifyOptionsPromise(kpuzzlePromiseFn)
|
|
581
996
|
};
|
|
582
997
|
if (info?.inventedBy) {
|
|
583
998
|
puzzleLoader.inventedBy = info.inventedBy;
|
|
@@ -660,11 +1075,18 @@ export {
|
|
|
660
1075
|
getPieceStickeringMask,
|
|
661
1076
|
PuzzleStickering,
|
|
662
1077
|
StickeringManager,
|
|
663
|
-
|
|
1078
|
+
cubeLikeStickeringMask,
|
|
1079
|
+
cubeStickerings,
|
|
1080
|
+
getCached,
|
|
1081
|
+
from,
|
|
1082
|
+
asyncGetPuzzleGeometry,
|
|
1083
|
+
PGPuzzleLoader,
|
|
1084
|
+
CubePGPuzzleLoader,
|
|
664
1085
|
puzzleOrientation3x3x3Idx,
|
|
665
1086
|
puzzleOrientation3x3x3Cache,
|
|
666
1087
|
normalize3x3x3Orientation,
|
|
1088
|
+
getPartialAppendOptionsForPuzzleSpecificSimplifyOptions,
|
|
667
1089
|
customPGPuzzleLoader,
|
|
668
1090
|
experimental3x3x3KPuzzle
|
|
669
1091
|
};
|
|
670
|
-
//# sourceMappingURL=chunk-
|
|
1092
|
+
//# sourceMappingURL=chunk-W6D5GKZQ.js.map
|