cubing 0.31.6 → 0.32.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 (84) hide show
  1. package/dist/esm/alg/index.js +1 -1
  2. package/dist/esm/bluetooth/index.js +5 -5
  3. package/dist/esm/bluetooth/index.js.map +2 -2
  4. package/dist/esm/{chunk-WEYPAZEE.js → chunk-2IZUSAXQ.js} +1 -1
  5. package/dist/esm/{chunk-WEYPAZEE.js.map → chunk-2IZUSAXQ.js.map} +1 -1
  6. package/dist/esm/{chunk-LGJ4AXVG.js → chunk-AUF56UEH.js} +2 -2
  7. package/dist/esm/{chunk-LGJ4AXVG.js.map → chunk-AUF56UEH.js.map} +0 -0
  8. package/dist/esm/{chunk-6CRQ3Z75.js → chunk-CI3M726K.js} +3 -3
  9. package/dist/esm/chunk-CI3M726K.js.map +7 -0
  10. package/dist/esm/{chunk-YM4RYQQM.js → chunk-CQII4VKQ.js} +3 -3
  11. package/dist/esm/{chunk-YM4RYQQM.js.map → chunk-CQII4VKQ.js.map} +0 -0
  12. package/dist/esm/{chunk-23PDUZN6.js → chunk-IJP4IAGZ.js} +1 -1
  13. package/dist/esm/chunk-IJP4IAGZ.js.map +7 -0
  14. package/dist/esm/chunk-MH4KS76F.js +60 -0
  15. package/dist/esm/chunk-MH4KS76F.js.map +7 -0
  16. package/dist/esm/{chunk-Z4UAFYMU.js → chunk-NOAOLQ25.js} +2 -2
  17. package/dist/esm/{chunk-Z4UAFYMU.js.map → chunk-NOAOLQ25.js.map} +0 -0
  18. package/dist/esm/{chunk-KSPS7U45.js → chunk-OGXWZ6ER.js} +2 -2
  19. package/dist/esm/{chunk-KSPS7U45.js.map → chunk-OGXWZ6ER.js.map} +0 -0
  20. package/dist/esm/{chunk-K6RENDGG.js → chunk-QSTEXHX6.js} +14 -18
  21. package/dist/esm/chunk-QSTEXHX6.js.map +7 -0
  22. package/dist/esm/{chunk-YVIUZYDL.js → chunk-SPJL6GKQ.js} +10 -354
  23. package/dist/esm/chunk-SPJL6GKQ.js.map +7 -0
  24. package/dist/esm/{chunk-NIDW7PCY.js → chunk-VCOWJQSD.js} +12 -14
  25. package/dist/esm/chunk-VCOWJQSD.js.map +7 -0
  26. package/dist/esm/{chunk-TUETQPSZ.js → chunk-W6D5GKZQ.js} +478 -56
  27. package/dist/esm/chunk-W6D5GKZQ.js.map +7 -0
  28. package/dist/esm/kpuzzle/index.js +2 -2
  29. package/dist/esm/notation/index.js +2 -2
  30. package/dist/esm/protocol/index.js +4 -4
  31. package/dist/esm/puzzle-geometry/index.js +1 -1
  32. package/dist/esm/puzzle-geometry/index.js.map +2 -2
  33. package/dist/esm/puzzles/index.js +4 -4
  34. package/dist/esm/scramble/index.js +3 -3
  35. package/dist/esm/search/index.js +7 -8
  36. package/dist/esm/{search-dynamic-sgs-side-events-LNK5H654.js → search-dynamic-sgs-side-events-ACBWOA4K.js} +6 -6
  37. package/dist/esm/search-dynamic-sgs-side-events-ACBWOA4K.js.map +7 -0
  38. package/dist/esm/{search-dynamic-sgs-unofficial-V6KHVP33.js → search-dynamic-sgs-unofficial-5SZWN2CW.js} +14 -19
  39. package/dist/esm/{search-dynamic-sgs-unofficial-V6KHVP33.js.map → search-dynamic-sgs-unofficial-5SZWN2CW.js.map} +3 -3
  40. package/dist/esm/{search-dynamic-solve-4x4x4-OGUGCJII.js → search-dynamic-solve-4x4x4-2P5MFI3L.js} +18 -21
  41. package/dist/esm/search-dynamic-solve-4x4x4-2P5MFI3L.js.map +7 -0
  42. package/dist/esm/{search-dynamic-solve-fto-MA4X6JEE.js → search-dynamic-solve-fto-WS5S4S6Z.js} +17 -18
  43. package/dist/esm/search-dynamic-solve-fto-WS5S4S6Z.js.map +7 -0
  44. package/dist/esm/{search-dynamic-solve-kilominx-NGTYP5YN.js → search-dynamic-solve-kilominx-FZGO4SCA.js} +11 -17
  45. package/dist/esm/search-dynamic-solve-kilominx-FZGO4SCA.js.map +7 -0
  46. package/dist/esm/{search-dynamic-solve-master_tetraminx-YKINTRUU.js → search-dynamic-solve-master_tetraminx-XM2AZB2D.js} +18 -19
  47. package/dist/esm/search-dynamic-solve-master_tetraminx-XM2AZB2D.js.map +7 -0
  48. package/dist/esm/{search-dynamic-solve-sq1-W33UXTDZ.js → search-dynamic-solve-sq1-BMSU2UG2.js} +13 -14
  49. package/dist/esm/search-dynamic-solve-sq1-BMSU2UG2.js.map +7 -0
  50. package/dist/esm/{search-worker-inside-generated-string-PM5MPECU.js → search-worker-inside-generated-string-EVS44GHX.js} +29 -29
  51. package/dist/esm/search-worker-inside-generated-string-EVS44GHX.js.map +7 -0
  52. package/dist/esm/{search-worker-js-entry-BLPSRSPB.js → search-worker-js-entry-P6QKWWFE.js} +28 -34
  53. package/dist/esm/search-worker-js-entry-P6QKWWFE.js.map +7 -0
  54. package/dist/esm/{search-worker-ts-entry-63LKRWMR.js → search-worker-ts-entry-BBHCSUXE.js} +3 -3
  55. package/dist/esm/{search-worker-ts-entry-63LKRWMR.js.map → search-worker-ts-entry-BBHCSUXE.js.map} +0 -0
  56. package/dist/esm/stream/index.js +1 -1
  57. package/dist/esm/twisty/index.js +40 -13
  58. package/dist/esm/twisty/index.js.map +3 -3
  59. package/dist/esm/{twisty-dynamic-3d-K4BNTWDJ.js → twisty-dynamic-3d-E5SBRWVZ.js} +41 -29
  60. package/dist/esm/twisty-dynamic-3d-E5SBRWVZ.js.map +7 -0
  61. package/dist/types/{TwizzleLink-4d656916.d.ts → TwizzleLink-b28e5d4f.d.ts} +36 -23
  62. package/dist/types/puzzles/index.d.ts +2 -2
  63. package/dist/types/twisty/index.d.ts +2 -2
  64. package/package.json +3 -3
  65. package/dist/esm/.DS_Store +0 -0
  66. package/dist/esm/chunk-23PDUZN6.js.map +0 -7
  67. package/dist/esm/chunk-6CRQ3Z75.js.map +0 -7
  68. package/dist/esm/chunk-HR5D6SD4.js +0 -77
  69. package/dist/esm/chunk-HR5D6SD4.js.map +0 -7
  70. package/dist/esm/chunk-K6RENDGG.js.map +0 -7
  71. package/dist/esm/chunk-NIDW7PCY.js.map +0 -7
  72. package/dist/esm/chunk-QHWK5RXN.js +0 -42
  73. package/dist/esm/chunk-QHWK5RXN.js.map +0 -7
  74. package/dist/esm/chunk-TUETQPSZ.js.map +0 -7
  75. package/dist/esm/chunk-YVIUZYDL.js.map +0 -7
  76. package/dist/esm/search-dynamic-sgs-side-events-LNK5H654.js.map +0 -7
  77. package/dist/esm/search-dynamic-solve-4x4x4-OGUGCJII.js.map +0 -7
  78. package/dist/esm/search-dynamic-solve-fto-MA4X6JEE.js.map +0 -7
  79. package/dist/esm/search-dynamic-solve-kilominx-NGTYP5YN.js.map +0 -7
  80. package/dist/esm/search-dynamic-solve-master_tetraminx-YKINTRUU.js.map +0 -7
  81. package/dist/esm/search-dynamic-solve-sq1-W33UXTDZ.js.map +0 -7
  82. package/dist/esm/search-worker-inside-generated-string-PM5MPECU.js.map +0 -7
  83. package/dist/esm/search-worker-js-entry-BLPSRSPB.js.map +0 -7
  84. 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-LGJ4AXVG.js";
4
+ } from "./chunk-AUF56UEH.js";
5
5
  import {
6
- Alg
7
- } from "./chunk-23PDUZN6.js";
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/stickerings/puzzle-stickerings.ts
496
- var experimentalStickerings = {
497
- full: { groups: { "3x3x3": "Stickering" } },
498
- OLL: { groups: { "3x3x3": "Last Layer" } },
499
- PLL: { groups: { "3x3x3": "Last Layer" } },
500
- LL: { groups: { "3x3x3": "Last Layer" } },
501
- EOLL: { groups: { "3x3x3": "Last Layer" } },
502
- COLL: { groups: { "3x3x3": "Last Layer" } },
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 asyncGetKPuzzle(desc) {
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: async () => {
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
- experimentalStickerings,
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-TUETQPSZ.js.map
1092
+ //# sourceMappingURL=chunk-W6D5GKZQ.js.map