cubing 0.63.7 → 0.64.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.
- package/dist/bin/chunks/{chunk-6YZ4AUWL.js → chunk-DQNBCFR3.js} +2 -2
- package/dist/bin/chunks/{chunk-6YZ4AUWL.js.map → chunk-DQNBCFR3.js.map} +1 -1
- package/dist/bin/order.js +1 -1
- package/dist/bin/order.js.map +1 -1
- package/dist/bin/puzzle-geometry-bin.js +1 -1
- package/dist/bin/puzzle-geometry-bin.js.map +1 -1
- package/dist/bin/scramble.js +1 -1
- package/dist/bin/scramble.js.map +1 -1
- package/dist/bin/svg.js +1 -1
- package/dist/bin/svg.js.map +1 -1
- package/dist/lib/cubing/alg/index.d.ts +1 -1
- package/dist/lib/cubing/alg/index.js +1 -1
- package/dist/lib/cubing/bluetooth/index.d.ts +17 -17
- package/dist/lib/cubing/bluetooth/index.js +96 -96
- package/dist/lib/cubing/bluetooth/index.js.map +2 -2
- package/dist/lib/cubing/chunks/{big-puzzle-orientation-ADWIOX6S.js → big-puzzle-orientation-G75BXW2W.js} +2 -2
- package/dist/lib/cubing/chunks/big-puzzle-orientation-G75BXW2W.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-A7FK4XKU.js → chunk-5LBACZOM.js} +173 -144
- package/dist/lib/cubing/chunks/chunk-5LBACZOM.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-5KMTA6PX.js → chunk-7MYDNYZ3.js} +3 -3
- package/dist/lib/cubing/chunks/chunk-7MYDNYZ3.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-7LXHWXCO.js → chunk-ALR6ZQFC.js} +2 -2
- package/dist/lib/cubing/chunks/chunk-ALR6ZQFC.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-H5KMIDAF.js → chunk-DTYBGCI3.js} +5 -5
- package/dist/lib/cubing/chunks/chunk-DTYBGCI3.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-YR72E7KZ.js → chunk-GO2SL6SC.js} +38 -38
- package/dist/lib/cubing/chunks/chunk-GO2SL6SC.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-FUAADKXE.js → chunk-KHUP3BPA.js} +35 -34
- package/dist/lib/cubing/chunks/chunk-KHUP3BPA.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-MQSQDKWH.js → chunk-O2QJENHE.js} +3 -3
- package/dist/lib/cubing/chunks/chunk-O2QJENHE.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-5ONX3JVC.js → chunk-THRYJMRP.js} +8 -8
- package/dist/lib/cubing/chunks/chunk-THRYJMRP.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-UEUJSZTX.js → chunk-UWJ575HH.js} +58 -46
- package/dist/lib/cubing/chunks/chunk-UWJ575HH.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-N5FJ5YIA.js → chunk-YFNXHRNE.js} +37 -31
- package/dist/lib/cubing/chunks/chunk-YFNXHRNE.js.map +7 -0
- package/dist/lib/cubing/chunks/{inside-JAJOK2MI.js → inside-A7LIP56H.js} +14 -14
- package/dist/lib/cubing/chunks/inside-A7LIP56H.js.map +7 -0
- package/dist/lib/cubing/chunks/{puzzles-dynamic-side-events-IMYJ533P.js → puzzles-dynamic-side-events-653A7JCM.js} +1 -1
- package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-653A7JCM.js.map +7 -0
- package/dist/lib/cubing/chunks/{puzzles-dynamic-unofficial-P3TW433I.js → puzzles-dynamic-unofficial-2CY6GVZ4.js} +1 -1
- package/dist/lib/cubing/chunks/{puzzles-dynamic-unofficial-P3TW433I.js.map → puzzles-dynamic-unofficial-2CY6GVZ4.js.map} +1 -1
- package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-WORUZVF5.js → search-dynamic-sgs-side-events-YSB3MWLK.js} +6 -6
- package/dist/lib/cubing/chunks/search-dynamic-sgs-side-events-YSB3MWLK.js.map +7 -0
- package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-5JQKPNG2.js → search-dynamic-sgs-unofficial-OLK64DE6.js} +6 -6
- package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-5JQKPNG2.js.map → search-dynamic-sgs-unofficial-OLK64DE6.js.map} +1 -1
- package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-BGV4AJVT.js → search-dynamic-solve-4x4x4-WWFUMIDG.js} +7 -7
- package/dist/lib/cubing/chunks/{search-dynamic-solve-fto-I5ID5LXD.js → search-dynamic-solve-fto-ZZKLTONP.js} +2 -2
- package/dist/lib/cubing/chunks/{search-dynamic-solve-kilominx-Y2D3C74Y.js → search-dynamic-solve-kilominx-PUF4PRHS.js} +2 -2
- package/dist/lib/cubing/chunks/search-worker-entry.js +1 -1
- package/dist/lib/cubing/chunks/search-worker-entry.js.map +2 -2
- package/dist/lib/cubing/chunks/{twips-ZNMKGC5U.js → twips-LHO3IYJC.js} +2 -2
- package/dist/lib/cubing/chunks/{twisty-dynamic-3d-4BEQ76PB.js → twisty-dynamic-3d-A2G22YLA.js} +6 -6
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-A2G22YLA.js.map +7 -0
- package/dist/lib/cubing/{index-B2leUGbW.d.ts → index-C2x6Sc62.d.ts} +52 -47
- package/dist/lib/cubing/{index-BLw2OxXo.d.ts → index-Doa1gNE4.d.ts} +1 -1
- package/dist/lib/cubing/kpuzzle/index.d.ts +1 -1
- package/dist/lib/cubing/kpuzzle/index.js +2 -2
- package/dist/lib/cubing/notation/index.d.ts +17 -15
- package/dist/lib/cubing/notation/index.js +4 -4
- package/dist/lib/cubing/{outside-V6_PW1ZK.d.ts → outside-nf-4k7Tp.d.ts} +1 -1
- package/dist/lib/cubing/protocol/index.d.ts +1 -1
- package/dist/lib/cubing/protocol/index.js +4 -4
- package/dist/lib/cubing/puzzle-geometry/index.d.ts +1 -1
- package/dist/lib/cubing/puzzle-geometry/index.js +284 -184
- package/dist/lib/cubing/puzzle-geometry/index.js.map +2 -2
- package/dist/lib/cubing/puzzles/index.d.ts +1 -1
- package/dist/lib/cubing/puzzles/index.js +4 -4
- package/dist/lib/cubing/scramble/index.d.ts +1 -1
- package/dist/lib/cubing/scramble/index.js +6 -6
- package/dist/lib/cubing/search/index.d.ts +1 -1
- package/dist/lib/cubing/search/index.js +6 -6
- package/dist/lib/cubing/search/index.js.map +1 -1
- package/dist/lib/cubing/stream/index.d.ts +1 -1
- package/dist/lib/cubing/stream/index.js +1 -1
- package/dist/lib/cubing/stream/index.js.map +1 -1
- package/dist/lib/cubing/twisty/index.d.ts +1 -1
- package/dist/lib/cubing/twisty/index.js +190 -180
- package/dist/lib/cubing/twisty/index.js.map +2 -2
- package/package.json +2 -2
- package/dist/lib/cubing/chunks/big-puzzle-orientation-ADWIOX6S.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-5KMTA6PX.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-5ONX3JVC.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-7LXHWXCO.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-A7FK4XKU.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-FUAADKXE.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-H5KMIDAF.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-MQSQDKWH.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-N5FJ5YIA.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-UEUJSZTX.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-YR72E7KZ.js.map +0 -7
- package/dist/lib/cubing/chunks/inside-JAJOK2MI.js.map +0 -7
- package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-IMYJ533P.js.map +0 -7
- package/dist/lib/cubing/chunks/search-dynamic-sgs-side-events-WORUZVF5.js.map +0 -7
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-4BEQ76PB.js.map +0 -7
- /package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-BGV4AJVT.js.map → search-dynamic-solve-4x4x4-WWFUMIDG.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{search-dynamic-solve-fto-I5ID5LXD.js.map → search-dynamic-solve-fto-ZZKLTONP.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{search-dynamic-solve-kilominx-Y2D3C74Y.js.map → search-dynamic-solve-kilominx-PUF4PRHS.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{twips-ZNMKGC5U.js.map → twips-LHO3IYJC.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
KPattern,
|
|
3
3
|
KPuzzle
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-THRYJMRP.js";
|
|
5
5
|
import {
|
|
6
6
|
Alg,
|
|
7
7
|
Commutator,
|
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
QuantumMove,
|
|
12
12
|
TraversalDownUp,
|
|
13
13
|
functionFromTraversal
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YFNXHRNE.js";
|
|
15
15
|
|
|
16
|
-
// ../../../../../.cache/.bun/install/cache/links/@cubing+lazy-promise@0.1.
|
|
16
|
+
// ../../../../../.cache/.bun/install/cache/links/@cubing+lazy-promise@0.1.3-c407e8e01ee82605/node_modules/@cubing/lazy-promise/dist/lib/@cubing/lazy-promise/index.js
|
|
17
17
|
var LazyPromise = class {
|
|
18
18
|
#executor;
|
|
19
19
|
constructor(executor) {
|
|
@@ -61,6 +61,21 @@ function getFaceletStickeringMask(stickeringMask, orbitName, pieceIdx, faceletId
|
|
|
61
61
|
console.log(faceletStickeringMask);
|
|
62
62
|
return faceletStickeringMask.mask;
|
|
63
63
|
}
|
|
64
|
+
var PieceStickering = {
|
|
65
|
+
Regular: "Regular",
|
|
66
|
+
Dim: "Dim",
|
|
67
|
+
Ignored: "Ignored",
|
|
68
|
+
OrientationStickers: "OrientationStickers",
|
|
69
|
+
Invisible: "Invisible",
|
|
70
|
+
Ignoriented: "Ignoriented",
|
|
71
|
+
IgnoreNonPrimary: "IgnoreNonPrimary",
|
|
72
|
+
PermuteNonPrimary: "PermuteNonPrimary",
|
|
73
|
+
OrientationWithoutPermutation: "OrientationWithoutPermutation",
|
|
74
|
+
ExperimentalOrientationWithoutPermutation2: "ExperimentalOrientationWithoutPermutation2",
|
|
75
|
+
// TODO
|
|
76
|
+
Mystery: "Mystery"
|
|
77
|
+
// TODO
|
|
78
|
+
};
|
|
64
79
|
var PieceAnnotation = class {
|
|
65
80
|
stickerings = /* @__PURE__ */ new Map();
|
|
66
81
|
constructor(kpuzzle, defaultValue) {
|
|
@@ -81,54 +96,54 @@ var dim = "dim";
|
|
|
81
96
|
var mystery = "mystery";
|
|
82
97
|
var pieceStickerings = {
|
|
83
98
|
// regular
|
|
84
|
-
[
|
|
99
|
+
[PieceStickering.Regular]: {
|
|
85
100
|
// r
|
|
86
101
|
facelets: [regular, regular, regular, regular, regular]
|
|
87
102
|
},
|
|
88
103
|
// ignored
|
|
89
|
-
[
|
|
104
|
+
[PieceStickering.Ignored]: {
|
|
90
105
|
// i
|
|
91
106
|
facelets: [ignored, ignored, ignored, ignored, ignored]
|
|
92
107
|
},
|
|
93
108
|
// oriented stickers
|
|
94
|
-
[
|
|
109
|
+
[PieceStickering.OrientationStickers]: {
|
|
95
110
|
// o
|
|
96
111
|
facelets: [oriented, oriented, oriented, oriented, oriented]
|
|
97
112
|
},
|
|
98
113
|
// "OLL"
|
|
99
|
-
[
|
|
114
|
+
[PieceStickering.IgnoreNonPrimary]: {
|
|
100
115
|
// riiii
|
|
101
116
|
facelets: [regular, ignored, ignored, ignored, ignored]
|
|
102
117
|
},
|
|
103
118
|
// invisible
|
|
104
|
-
[
|
|
119
|
+
[PieceStickering.Invisible]: {
|
|
105
120
|
// invisiblePiece
|
|
106
121
|
facelets: [invisible, invisible, invisible, invisible, invisible]
|
|
107
122
|
},
|
|
108
123
|
// "PLL"
|
|
109
|
-
[
|
|
124
|
+
[PieceStickering.PermuteNonPrimary]: {
|
|
110
125
|
// drrrr
|
|
111
126
|
facelets: [dim, regular, regular, regular, regular]
|
|
112
127
|
},
|
|
113
128
|
// ignored
|
|
114
|
-
[
|
|
129
|
+
[PieceStickering.Dim]: {
|
|
115
130
|
// d
|
|
116
131
|
facelets: [dim, dim, dim, dim, dim]
|
|
117
132
|
},
|
|
118
133
|
// "OLL"
|
|
119
|
-
[
|
|
134
|
+
[PieceStickering.Ignoriented]: {
|
|
120
135
|
// diiii
|
|
121
136
|
facelets: [dim, ignored, ignored, ignored, ignored]
|
|
122
137
|
},
|
|
123
|
-
[
|
|
138
|
+
[PieceStickering.OrientationWithoutPermutation]: {
|
|
124
139
|
// oiiii
|
|
125
140
|
facelets: [oriented, ignored, ignored, ignored, ignored]
|
|
126
141
|
},
|
|
127
|
-
[
|
|
142
|
+
[PieceStickering.ExperimentalOrientationWithoutPermutation2]: {
|
|
128
143
|
// oiiii
|
|
129
144
|
facelets: [experimentalOriented2, ignored, ignored, ignored, ignored]
|
|
130
145
|
},
|
|
131
|
-
[
|
|
146
|
+
[PieceStickering.Mystery]: {
|
|
132
147
|
// oiiii
|
|
133
148
|
facelets: [mystery, mystery, mystery, mystery, mystery]
|
|
134
149
|
}
|
|
@@ -138,7 +153,7 @@ function getPieceStickeringMask(pieceStickering) {
|
|
|
138
153
|
}
|
|
139
154
|
var PuzzleStickering = class extends PieceAnnotation {
|
|
140
155
|
constructor(kpuzzle) {
|
|
141
|
-
super(kpuzzle,
|
|
156
|
+
super(kpuzzle, PieceStickering.Regular);
|
|
142
157
|
}
|
|
143
158
|
set(pieceSet, pieceStickering) {
|
|
144
159
|
for (const [orbitName, pieces] of this.stickerings.entries()) {
|
|
@@ -166,10 +181,10 @@ var PuzzleStickering = class extends PieceAnnotation {
|
|
|
166
181
|
}
|
|
167
182
|
};
|
|
168
183
|
var StickeringManager = class {
|
|
184
|
+
kpuzzle;
|
|
169
185
|
constructor(kpuzzle) {
|
|
170
186
|
this.kpuzzle = kpuzzle;
|
|
171
187
|
}
|
|
172
|
-
kpuzzle;
|
|
173
188
|
and(pieceSets) {
|
|
174
189
|
const newPieceSet = new PieceAnnotation(this.kpuzzle, false);
|
|
175
190
|
for (const orbitDefinition of this.kpuzzle.definition.orbits) {
|
|
@@ -368,19 +383,19 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
368
383
|
const cornerDFR = () => m.and([m.and(m.moves(["F", "R"])), CORNERS(), m.not(LL2())]);
|
|
369
384
|
const slotFR = () => m.or([cornerDFR(), edgeFR()]);
|
|
370
385
|
function dimF2L() {
|
|
371
|
-
puzzleStickering.set(F2L(),
|
|
386
|
+
puzzleStickering.set(F2L(), PieceStickering.Dim);
|
|
372
387
|
}
|
|
373
388
|
function setPLL() {
|
|
374
|
-
puzzleStickering.set(LL2(),
|
|
375
|
-
puzzleStickering.set(centerLL(),
|
|
389
|
+
puzzleStickering.set(LL2(), PieceStickering.PermuteNonPrimary);
|
|
390
|
+
puzzleStickering.set(centerLL(), PieceStickering.Dim);
|
|
376
391
|
}
|
|
377
392
|
function setOLL() {
|
|
378
|
-
puzzleStickering.set(LL2(),
|
|
379
|
-
puzzleStickering.set(centerLL(),
|
|
393
|
+
puzzleStickering.set(LL2(), PieceStickering.IgnoreNonPrimary);
|
|
394
|
+
puzzleStickering.set(centerLL(), PieceStickering.Regular);
|
|
380
395
|
}
|
|
381
396
|
function dimOLL() {
|
|
382
|
-
puzzleStickering.set(LL2(),
|
|
383
|
-
puzzleStickering.set(centerLL(),
|
|
397
|
+
puzzleStickering.set(LL2(), PieceStickering.Ignoriented);
|
|
398
|
+
puzzleStickering.set(centerLL(), PieceStickering.Dim);
|
|
384
399
|
}
|
|
385
400
|
switch (stickering) {
|
|
386
401
|
case "full":
|
|
@@ -392,12 +407,12 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
392
407
|
}
|
|
393
408
|
case "CLS": {
|
|
394
409
|
dimF2L();
|
|
395
|
-
puzzleStickering.set(cornerDFR(),
|
|
396
|
-
puzzleStickering.set(LL2(),
|
|
397
|
-
puzzleStickering.set(m.and([LL2(), CENTERS()]),
|
|
410
|
+
puzzleStickering.set(cornerDFR(), PieceStickering.Regular);
|
|
411
|
+
puzzleStickering.set(LL2(), PieceStickering.Ignoriented);
|
|
412
|
+
puzzleStickering.set(m.and([LL2(), CENTERS()]), PieceStickering.Dim);
|
|
398
413
|
puzzleStickering.set(
|
|
399
414
|
m.and([LL2(), CORNERS()]),
|
|
400
|
-
|
|
415
|
+
PieceStickering.IgnoreNonPrimary
|
|
401
416
|
);
|
|
402
417
|
break;
|
|
403
418
|
}
|
|
@@ -409,14 +424,14 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
409
424
|
case "EOLL": {
|
|
410
425
|
dimF2L();
|
|
411
426
|
setOLL();
|
|
412
|
-
puzzleStickering.set(m.and([LL2(), CORNERS()]),
|
|
427
|
+
puzzleStickering.set(m.and([LL2(), CORNERS()]), PieceStickering.Ignored);
|
|
413
428
|
break;
|
|
414
429
|
}
|
|
415
430
|
case "COLL": {
|
|
416
431
|
dimF2L();
|
|
417
|
-
puzzleStickering.set(m.and([LL2(), EDGES()]),
|
|
418
|
-
puzzleStickering.set(m.and([LL2(), CENTERS()]),
|
|
419
|
-
puzzleStickering.set(m.and([LL2(), CORNERS()]),
|
|
432
|
+
puzzleStickering.set(m.and([LL2(), EDGES()]), PieceStickering.Ignoriented);
|
|
433
|
+
puzzleStickering.set(m.and([LL2(), CENTERS()]), PieceStickering.Dim);
|
|
434
|
+
puzzleStickering.set(m.and([LL2(), CORNERS()]), PieceStickering.Regular);
|
|
420
435
|
break;
|
|
421
436
|
}
|
|
422
437
|
case "OCLL": {
|
|
@@ -424,7 +439,7 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
424
439
|
dimOLL();
|
|
425
440
|
puzzleStickering.set(
|
|
426
441
|
m.and([LL2(), CORNERS()]),
|
|
427
|
-
|
|
442
|
+
PieceStickering.IgnoreNonPrimary
|
|
428
443
|
);
|
|
429
444
|
break;
|
|
430
445
|
}
|
|
@@ -432,11 +447,11 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
432
447
|
dimF2L();
|
|
433
448
|
puzzleStickering.set(
|
|
434
449
|
m.and([CORNERS(), LL2()]),
|
|
435
|
-
|
|
450
|
+
PieceStickering.PermuteNonPrimary
|
|
436
451
|
);
|
|
437
452
|
puzzleStickering.set(
|
|
438
453
|
m.and([m.not(CORNERS()), LL2()]),
|
|
439
|
-
|
|
454
|
+
PieceStickering.Dim
|
|
440
455
|
);
|
|
441
456
|
break;
|
|
442
457
|
}
|
|
@@ -444,31 +459,31 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
444
459
|
dimF2L();
|
|
445
460
|
puzzleStickering.set(
|
|
446
461
|
m.not(m.and([CORNERS(), LL2()])),
|
|
447
|
-
|
|
462
|
+
PieceStickering.Dim
|
|
448
463
|
);
|
|
449
464
|
break;
|
|
450
465
|
}
|
|
451
466
|
case "EPLL": {
|
|
452
467
|
dimF2L();
|
|
453
|
-
puzzleStickering.set(LL2(),
|
|
468
|
+
puzzleStickering.set(LL2(), PieceStickering.Dim);
|
|
454
469
|
puzzleStickering.set(
|
|
455
470
|
m.and([LL2(), EDGES()]),
|
|
456
|
-
|
|
471
|
+
PieceStickering.PermuteNonPrimary
|
|
457
472
|
);
|
|
458
473
|
break;
|
|
459
474
|
}
|
|
460
475
|
case "ELL": {
|
|
461
476
|
dimF2L();
|
|
462
|
-
puzzleStickering.set(LL2(),
|
|
463
|
-
puzzleStickering.set(m.and([LL2(), EDGES()]),
|
|
477
|
+
puzzleStickering.set(LL2(), PieceStickering.Dim);
|
|
478
|
+
puzzleStickering.set(m.and([LL2(), EDGES()]), PieceStickering.Regular);
|
|
464
479
|
break;
|
|
465
480
|
}
|
|
466
481
|
case "ELS": {
|
|
467
482
|
dimF2L();
|
|
468
483
|
setOLL();
|
|
469
|
-
puzzleStickering.set(m.and([LL2(), CORNERS()]),
|
|
470
|
-
puzzleStickering.set(edgeFR(),
|
|
471
|
-
puzzleStickering.set(cornerDFR(),
|
|
484
|
+
puzzleStickering.set(m.and([LL2(), CORNERS()]), PieceStickering.Ignored);
|
|
485
|
+
puzzleStickering.set(edgeFR(), PieceStickering.Regular);
|
|
486
|
+
puzzleStickering.set(cornerDFR(), PieceStickering.Ignored);
|
|
472
487
|
break;
|
|
473
488
|
}
|
|
474
489
|
case "LL": {
|
|
@@ -476,51 +491,51 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
476
491
|
break;
|
|
477
492
|
}
|
|
478
493
|
case "F2L": {
|
|
479
|
-
puzzleStickering.set(LL2(),
|
|
494
|
+
puzzleStickering.set(LL2(), PieceStickering.Ignored);
|
|
480
495
|
break;
|
|
481
496
|
}
|
|
482
497
|
case "ZBLL": {
|
|
483
498
|
dimF2L();
|
|
484
|
-
puzzleStickering.set(LL2(),
|
|
485
|
-
puzzleStickering.set(centerLL(),
|
|
486
|
-
puzzleStickering.set(m.and([LL2(), CORNERS()]),
|
|
499
|
+
puzzleStickering.set(LL2(), PieceStickering.PermuteNonPrimary);
|
|
500
|
+
puzzleStickering.set(centerLL(), PieceStickering.Dim);
|
|
501
|
+
puzzleStickering.set(m.and([LL2(), CORNERS()]), PieceStickering.Regular);
|
|
487
502
|
break;
|
|
488
503
|
}
|
|
489
504
|
case "ZBLS": {
|
|
490
505
|
dimF2L();
|
|
491
|
-
puzzleStickering.set(slotFR(),
|
|
506
|
+
puzzleStickering.set(slotFR(), PieceStickering.Regular);
|
|
492
507
|
setOLL();
|
|
493
|
-
puzzleStickering.set(m.and([LL2(), CORNERS()]),
|
|
508
|
+
puzzleStickering.set(m.and([LL2(), CORNERS()]), PieceStickering.Ignored);
|
|
494
509
|
break;
|
|
495
510
|
}
|
|
496
511
|
case "VLS": {
|
|
497
512
|
dimF2L();
|
|
498
|
-
puzzleStickering.set(slotFR(),
|
|
513
|
+
puzzleStickering.set(slotFR(), PieceStickering.Regular);
|
|
499
514
|
setOLL();
|
|
500
515
|
break;
|
|
501
516
|
}
|
|
502
517
|
case "WVLS": {
|
|
503
518
|
dimF2L();
|
|
504
|
-
puzzleStickering.set(slotFR(),
|
|
505
|
-
puzzleStickering.set(m.and([LL2(), EDGES()]),
|
|
506
|
-
puzzleStickering.set(m.and([LL2(), CENTERS()]),
|
|
519
|
+
puzzleStickering.set(slotFR(), PieceStickering.Regular);
|
|
520
|
+
puzzleStickering.set(m.and([LL2(), EDGES()]), PieceStickering.Ignoriented);
|
|
521
|
+
puzzleStickering.set(m.and([LL2(), CENTERS()]), PieceStickering.Dim);
|
|
507
522
|
puzzleStickering.set(
|
|
508
523
|
m.and([LL2(), CORNERS()]),
|
|
509
|
-
|
|
524
|
+
PieceStickering.IgnoreNonPrimary
|
|
510
525
|
);
|
|
511
526
|
break;
|
|
512
527
|
}
|
|
513
528
|
case "LS": {
|
|
514
529
|
dimF2L();
|
|
515
|
-
puzzleStickering.set(slotFR(),
|
|
516
|
-
puzzleStickering.set(LL2(),
|
|
517
|
-
puzzleStickering.set(centerLL(),
|
|
530
|
+
puzzleStickering.set(slotFR(), PieceStickering.Regular);
|
|
531
|
+
puzzleStickering.set(LL2(), PieceStickering.Ignored);
|
|
532
|
+
puzzleStickering.set(centerLL(), PieceStickering.Dim);
|
|
518
533
|
break;
|
|
519
534
|
}
|
|
520
535
|
case "LSOLL": {
|
|
521
536
|
dimF2L();
|
|
522
537
|
setOLL();
|
|
523
|
-
puzzleStickering.set(slotFR(),
|
|
538
|
+
puzzleStickering.set(slotFR(), PieceStickering.Regular);
|
|
524
539
|
break;
|
|
525
540
|
}
|
|
526
541
|
case "LSOCLL": {
|
|
@@ -528,169 +543,169 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
528
543
|
dimOLL();
|
|
529
544
|
puzzleStickering.set(
|
|
530
545
|
m.and([LL2(), CORNERS()]),
|
|
531
|
-
|
|
546
|
+
PieceStickering.IgnoreNonPrimary
|
|
532
547
|
);
|
|
533
|
-
puzzleStickering.set(slotFR(),
|
|
548
|
+
puzzleStickering.set(slotFR(), PieceStickering.Regular);
|
|
534
549
|
break;
|
|
535
550
|
}
|
|
536
551
|
case "EO": {
|
|
537
|
-
puzzleStickering.set(CORNERS(),
|
|
552
|
+
puzzleStickering.set(CORNERS(), PieceStickering.Ignored);
|
|
538
553
|
puzzleStickering.set(
|
|
539
554
|
EDGES(),
|
|
540
|
-
|
|
555
|
+
PieceStickering.OrientationWithoutPermutation
|
|
541
556
|
);
|
|
542
557
|
break;
|
|
543
558
|
}
|
|
544
559
|
case "EOline": {
|
|
545
|
-
puzzleStickering.set(CORNERS(),
|
|
560
|
+
puzzleStickering.set(CORNERS(), PieceStickering.Ignored);
|
|
546
561
|
puzzleStickering.set(
|
|
547
562
|
EDGES(),
|
|
548
|
-
|
|
563
|
+
PieceStickering.OrientationWithoutPermutation
|
|
549
564
|
);
|
|
550
|
-
puzzleStickering.set(m.and(m.moves(["D", "M"])),
|
|
565
|
+
puzzleStickering.set(m.and(m.moves(["D", "M"])), PieceStickering.Regular);
|
|
551
566
|
break;
|
|
552
567
|
}
|
|
553
568
|
case "EOcross": {
|
|
554
569
|
puzzleStickering.set(
|
|
555
570
|
EDGES(),
|
|
556
|
-
|
|
571
|
+
PieceStickering.OrientationWithoutPermutation
|
|
557
572
|
);
|
|
558
|
-
puzzleStickering.set(m.move("D"),
|
|
559
|
-
puzzleStickering.set(CORNERS(),
|
|
573
|
+
puzzleStickering.set(m.move("D"), PieceStickering.Regular);
|
|
574
|
+
puzzleStickering.set(CORNERS(), PieceStickering.Ignored);
|
|
560
575
|
break;
|
|
561
576
|
}
|
|
562
577
|
case "CMLL": {
|
|
563
|
-
puzzleStickering.set(F2L(),
|
|
564
|
-
puzzleStickering.set(L6E(),
|
|
565
|
-
puzzleStickering.set(m.and([LL2(), CORNERS()]),
|
|
578
|
+
puzzleStickering.set(F2L(), PieceStickering.Dim);
|
|
579
|
+
puzzleStickering.set(L6E(), PieceStickering.Ignored);
|
|
580
|
+
puzzleStickering.set(m.and([LL2(), CORNERS()]), PieceStickering.Regular);
|
|
566
581
|
break;
|
|
567
582
|
}
|
|
568
583
|
case "L10P": {
|
|
569
|
-
puzzleStickering.set(m.not(L6E()),
|
|
570
|
-
puzzleStickering.set(m.and([CORNERS(), LL2()]),
|
|
584
|
+
puzzleStickering.set(m.not(L6E()), PieceStickering.Dim);
|
|
585
|
+
puzzleStickering.set(m.and([CORNERS(), LL2()]), PieceStickering.Regular);
|
|
571
586
|
break;
|
|
572
587
|
}
|
|
573
588
|
case "L6E": {
|
|
574
|
-
puzzleStickering.set(m.not(L6E()),
|
|
589
|
+
puzzleStickering.set(m.not(L6E()), PieceStickering.Dim);
|
|
575
590
|
break;
|
|
576
591
|
}
|
|
577
592
|
case "L6EO": {
|
|
578
|
-
puzzleStickering.set(m.not(L6E()),
|
|
593
|
+
puzzleStickering.set(m.not(L6E()), PieceStickering.Dim);
|
|
579
594
|
puzzleStickering.set(
|
|
580
595
|
L6E(),
|
|
581
|
-
|
|
596
|
+
PieceStickering.ExperimentalOrientationWithoutPermutation2
|
|
582
597
|
);
|
|
583
598
|
puzzleStickering.set(
|
|
584
599
|
m.and([CENTERS(), orUD()]),
|
|
585
|
-
|
|
600
|
+
PieceStickering.ExperimentalOrientationWithoutPermutation2
|
|
586
601
|
);
|
|
587
602
|
puzzleStickering.set(
|
|
588
603
|
m.and([m.move("M"), m.move("E")]),
|
|
589
|
-
|
|
604
|
+
PieceStickering.Ignored
|
|
590
605
|
);
|
|
591
606
|
break;
|
|
592
607
|
}
|
|
593
608
|
case "Daisy": {
|
|
594
|
-
puzzleStickering.set(m.all(),
|
|
595
|
-
puzzleStickering.set(CENTERS(),
|
|
609
|
+
puzzleStickering.set(m.all(), PieceStickering.Ignored);
|
|
610
|
+
puzzleStickering.set(CENTERS(), PieceStickering.Dim);
|
|
596
611
|
puzzleStickering.set(
|
|
597
612
|
m.and([m.move("D"), CENTERS()]),
|
|
598
|
-
|
|
613
|
+
PieceStickering.Regular
|
|
599
614
|
);
|
|
600
615
|
puzzleStickering.set(
|
|
601
616
|
m.and([m.move("U"), EDGES()]),
|
|
602
|
-
|
|
617
|
+
PieceStickering.IgnoreNonPrimary
|
|
603
618
|
);
|
|
604
619
|
break;
|
|
605
620
|
}
|
|
606
621
|
case "Cross": {
|
|
607
|
-
puzzleStickering.set(m.all(),
|
|
608
|
-
puzzleStickering.set(CENTERS(),
|
|
622
|
+
puzzleStickering.set(m.all(), PieceStickering.Ignored);
|
|
623
|
+
puzzleStickering.set(CENTERS(), PieceStickering.Dim);
|
|
609
624
|
puzzleStickering.set(
|
|
610
625
|
m.and([m.move("D"), CENTERS()]),
|
|
611
|
-
|
|
626
|
+
PieceStickering.Regular
|
|
612
627
|
);
|
|
613
628
|
puzzleStickering.set(
|
|
614
629
|
m.and([m.move("D"), EDGES()]),
|
|
615
|
-
|
|
630
|
+
PieceStickering.Regular
|
|
616
631
|
);
|
|
617
632
|
break;
|
|
618
633
|
}
|
|
619
634
|
case "2x2x2": {
|
|
620
635
|
puzzleStickering.set(
|
|
621
636
|
m.or(m.moves(["U", "F", "R"])),
|
|
622
|
-
|
|
637
|
+
PieceStickering.Ignored
|
|
623
638
|
);
|
|
624
639
|
puzzleStickering.set(
|
|
625
640
|
m.and([m.or(m.moves(["U", "F", "R"])), CENTERS()]),
|
|
626
|
-
|
|
641
|
+
PieceStickering.Dim
|
|
627
642
|
);
|
|
628
643
|
break;
|
|
629
644
|
}
|
|
630
645
|
case "2x2x3": {
|
|
631
|
-
puzzleStickering.set(m.all(),
|
|
646
|
+
puzzleStickering.set(m.all(), PieceStickering.Dim);
|
|
632
647
|
puzzleStickering.set(
|
|
633
648
|
m.or(m.moves(["U", "F", "R"])),
|
|
634
|
-
|
|
649
|
+
PieceStickering.Ignored
|
|
635
650
|
);
|
|
636
651
|
puzzleStickering.set(
|
|
637
652
|
m.and([m.or(m.moves(["U", "F", "R"])), CENTERS()]),
|
|
638
|
-
|
|
653
|
+
PieceStickering.Dim
|
|
639
654
|
);
|
|
640
655
|
puzzleStickering.set(
|
|
641
656
|
m.and([m.move("F"), m.not(m.or(m.moves(["U", "R"])))]),
|
|
642
|
-
|
|
657
|
+
PieceStickering.Regular
|
|
643
658
|
);
|
|
644
659
|
break;
|
|
645
660
|
}
|
|
646
661
|
case "G1": {
|
|
647
662
|
puzzleStickering.set(
|
|
648
663
|
m.all(),
|
|
649
|
-
|
|
664
|
+
PieceStickering.ExperimentalOrientationWithoutPermutation2
|
|
650
665
|
);
|
|
651
666
|
puzzleStickering.set(
|
|
652
667
|
m.or(m.moves(["E"])),
|
|
653
|
-
|
|
668
|
+
PieceStickering.OrientationWithoutPermutation
|
|
654
669
|
);
|
|
655
|
-
puzzleStickering.set(m.and(m.moves(["E", "S"])),
|
|
670
|
+
puzzleStickering.set(m.and(m.moves(["E", "S"])), PieceStickering.Ignored);
|
|
656
671
|
break;
|
|
657
672
|
}
|
|
658
673
|
case "L2C": {
|
|
659
674
|
puzzleStickering.set(
|
|
660
675
|
m.or(m.moves(["L", "R", "B", "D"])),
|
|
661
|
-
|
|
676
|
+
PieceStickering.Dim
|
|
662
677
|
);
|
|
663
|
-
puzzleStickering.set(m.not(CENTERS()),
|
|
678
|
+
puzzleStickering.set(m.not(CENTERS()), PieceStickering.Ignored);
|
|
664
679
|
break;
|
|
665
680
|
}
|
|
666
681
|
case "PBL": {
|
|
667
|
-
puzzleStickering.set(m.all(),
|
|
682
|
+
puzzleStickering.set(m.all(), PieceStickering.Ignored);
|
|
668
683
|
puzzleStickering.set(
|
|
669
684
|
m.or(m.moves(["U", "D"])),
|
|
670
|
-
|
|
685
|
+
PieceStickering.PermuteNonPrimary
|
|
671
686
|
);
|
|
672
687
|
break;
|
|
673
688
|
}
|
|
674
689
|
case "FirstBlock": {
|
|
675
690
|
puzzleStickering.set(
|
|
676
691
|
m.not(m.and([m.and(m.moves(["L"])), m.not(LL2())])),
|
|
677
|
-
|
|
692
|
+
PieceStickering.Ignored
|
|
678
693
|
);
|
|
679
|
-
puzzleStickering.set(CENTER("R"),
|
|
694
|
+
puzzleStickering.set(CENTER("R"), PieceStickering.Dim);
|
|
680
695
|
break;
|
|
681
696
|
}
|
|
682
697
|
case "SecondBlock": {
|
|
683
698
|
puzzleStickering.set(
|
|
684
699
|
m.not(m.and([m.and(m.moves(["L"])), m.not(LL2())])),
|
|
685
|
-
|
|
700
|
+
PieceStickering.Ignored
|
|
686
701
|
);
|
|
687
702
|
puzzleStickering.set(
|
|
688
703
|
m.and([m.and(m.moves(["L"])), m.not(LL2())]),
|
|
689
|
-
|
|
704
|
+
PieceStickering.Dim
|
|
690
705
|
);
|
|
691
706
|
puzzleStickering.set(
|
|
692
707
|
m.and([m.and(m.moves(["R"])), m.not(LL2())]),
|
|
693
|
-
|
|
708
|
+
PieceStickering.Regular
|
|
694
709
|
);
|
|
695
710
|
break;
|
|
696
711
|
}
|
|
@@ -698,41 +713,41 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
698
713
|
dimF2L();
|
|
699
714
|
puzzleStickering.set(
|
|
700
715
|
m.or([cornerDFR(), m.and([LL2(), CORNERS()])]),
|
|
701
|
-
|
|
716
|
+
PieceStickering.Ignored
|
|
702
717
|
);
|
|
703
718
|
puzzleStickering.set(
|
|
704
719
|
m.or([m.and([LL2(), EDGES()]), edgeFR()]),
|
|
705
|
-
|
|
720
|
+
PieceStickering.OrientationWithoutPermutation
|
|
706
721
|
);
|
|
707
|
-
puzzleStickering.set(EDGE(["D", "F"]),
|
|
708
|
-
puzzleStickering.set(CENTER("F"),
|
|
722
|
+
puzzleStickering.set(EDGE(["D", "F"]), PieceStickering.Regular);
|
|
723
|
+
puzzleStickering.set(CENTER("F"), PieceStickering.Regular);
|
|
709
724
|
break;
|
|
710
725
|
}
|
|
711
726
|
case "Void Cube": {
|
|
712
|
-
puzzleStickering.set(CENTERS(),
|
|
727
|
+
puzzleStickering.set(CENTERS(), PieceStickering.Invisible);
|
|
713
728
|
break;
|
|
714
729
|
}
|
|
715
730
|
case "picture":
|
|
716
731
|
// fallthrough
|
|
717
732
|
case "invisible": {
|
|
718
|
-
puzzleStickering.set(m.all(),
|
|
733
|
+
puzzleStickering.set(m.all(), PieceStickering.Invisible);
|
|
719
734
|
break;
|
|
720
735
|
}
|
|
721
736
|
case "centers-only": {
|
|
722
|
-
puzzleStickering.set(m.not(CENTERS()),
|
|
737
|
+
puzzleStickering.set(m.not(CENTERS()), PieceStickering.Ignored);
|
|
723
738
|
break;
|
|
724
739
|
}
|
|
725
740
|
case "opposite-centers": {
|
|
726
741
|
puzzleStickering.set(
|
|
727
742
|
m.not(m.and([CENTERS(), m.or(m.moves(["U", "D"]))])),
|
|
728
|
-
|
|
743
|
+
PieceStickering.Ignored
|
|
729
744
|
);
|
|
730
745
|
break;
|
|
731
746
|
}
|
|
732
747
|
case "OBL": {
|
|
733
748
|
puzzleStickering.set(
|
|
734
749
|
m.or(m.moves(["U", "D"])),
|
|
735
|
-
|
|
750
|
+
PieceStickering.IgnoreNonPrimary
|
|
736
751
|
);
|
|
737
752
|
break;
|
|
738
753
|
}
|
|
@@ -740,7 +755,7 @@ async function cubeLikePuzzleStickering(puzzleLoader, stickering) {
|
|
|
740
755
|
console.warn(
|
|
741
756
|
`Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`
|
|
742
757
|
);
|
|
743
|
-
puzzleStickering.set(m.and(m.moves([])),
|
|
758
|
+
puzzleStickering.set(m.and(m.moves([])), PieceStickering.Dim);
|
|
744
759
|
}
|
|
745
760
|
return puzzleStickering;
|
|
746
761
|
}
|
|
@@ -1387,7 +1402,7 @@ var experimental3x3x3KPuzzle = new KPuzzle(
|
|
|
1387
1402
|
);
|
|
1388
1403
|
cube3x3x3KPuzzleDefinition.experimentalIsPatternSolved = experimentalIs3x3x3Solved;
|
|
1389
1404
|
var bigCubePuzzleOrientation = getCached(
|
|
1390
|
-
() => import("./big-puzzle-orientation-
|
|
1405
|
+
() => import("./big-puzzle-orientation-G75BXW2W.js")
|
|
1391
1406
|
);
|
|
1392
1407
|
|
|
1393
1408
|
// src/cubing/puzzles/implementations/3x3x3/cube3x3x3KeyMapping.ts
|
|
@@ -1425,6 +1440,19 @@ var cube3x3x3KeyMapping = {
|
|
|
1425
1440
|
};
|
|
1426
1441
|
|
|
1427
1442
|
// src/cubing/puzzles/implementations/3x3x3/puzzle-specific-simplifications.ts
|
|
1443
|
+
var Axis = {
|
|
1444
|
+
X: "x axis",
|
|
1445
|
+
Y: "y axis",
|
|
1446
|
+
Z: "z axis"
|
|
1447
|
+
};
|
|
1448
|
+
var MoveSourceType = {
|
|
1449
|
+
INDEXABLE_SLICE_NEAR: 0,
|
|
1450
|
+
INDEXABLE_SLICE_FAR: 1,
|
|
1451
|
+
INDEXABLE_WIDE_NEAR: 2,
|
|
1452
|
+
INDEXABLE_WIDE_FAR: 3,
|
|
1453
|
+
SPECIFIC_SLICE: 4,
|
|
1454
|
+
ROTATION: 5
|
|
1455
|
+
};
|
|
1428
1456
|
function makeSourceInfo(moveStrings, type, from, to) {
|
|
1429
1457
|
const output = [];
|
|
1430
1458
|
for (const moveString of moveStrings) {
|
|
@@ -1438,45 +1466,45 @@ function makeSourceInfo(moveStrings, type, from, to) {
|
|
|
1438
1466
|
return output;
|
|
1439
1467
|
}
|
|
1440
1468
|
var axisInfos = {
|
|
1441
|
-
[
|
|
1469
|
+
[Axis.X]: {
|
|
1442
1470
|
sliceDiameter: 3,
|
|
1443
1471
|
extendsThroughEntirePuzzle: true,
|
|
1444
1472
|
moveSourceInfos: [
|
|
1445
|
-
...makeSourceInfo(["R"],
|
|
1446
|
-
...makeSourceInfo(["L'"],
|
|
1447
|
-
...makeSourceInfo(["r", "Rw"],
|
|
1448
|
-
...makeSourceInfo(["l'", "Lw'"],
|
|
1449
|
-
...makeSourceInfo(["M'"],
|
|
1473
|
+
...makeSourceInfo(["R"], MoveSourceType.INDEXABLE_SLICE_NEAR, 0, 3),
|
|
1474
|
+
...makeSourceInfo(["L'"], MoveSourceType.INDEXABLE_SLICE_FAR, 0, 3),
|
|
1475
|
+
...makeSourceInfo(["r", "Rw"], MoveSourceType.INDEXABLE_WIDE_NEAR, 0, 2),
|
|
1476
|
+
...makeSourceInfo(["l'", "Lw'"], MoveSourceType.INDEXABLE_WIDE_FAR, 0, 2),
|
|
1477
|
+
...makeSourceInfo(["M'"], MoveSourceType.SPECIFIC_SLICE, 1, 2),
|
|
1450
1478
|
// TODO: remove some indices?
|
|
1451
|
-
...makeSourceInfo(["x", "Uv", "Dv'"],
|
|
1479
|
+
...makeSourceInfo(["x", "Uv", "Dv'"], MoveSourceType.ROTATION, 0, 3)
|
|
1452
1480
|
// TODO: remove some indices?
|
|
1453
1481
|
]
|
|
1454
1482
|
},
|
|
1455
|
-
[
|
|
1483
|
+
[Axis.Y]: {
|
|
1456
1484
|
sliceDiameter: 3,
|
|
1457
1485
|
extendsThroughEntirePuzzle: true,
|
|
1458
1486
|
moveSourceInfos: [
|
|
1459
|
-
...makeSourceInfo(["U"],
|
|
1460
|
-
...makeSourceInfo(["D'"],
|
|
1461
|
-
...makeSourceInfo(["u", "Uw"],
|
|
1462
|
-
...makeSourceInfo(["d'", "Dw'"],
|
|
1463
|
-
...makeSourceInfo(["E'"],
|
|
1487
|
+
...makeSourceInfo(["U"], MoveSourceType.INDEXABLE_SLICE_NEAR, 0, 3),
|
|
1488
|
+
...makeSourceInfo(["D'"], MoveSourceType.INDEXABLE_SLICE_FAR, 0, 3),
|
|
1489
|
+
...makeSourceInfo(["u", "Uw"], MoveSourceType.INDEXABLE_WIDE_NEAR, 0, 2),
|
|
1490
|
+
...makeSourceInfo(["d'", "Dw'"], MoveSourceType.INDEXABLE_WIDE_FAR, 0, 2),
|
|
1491
|
+
...makeSourceInfo(["E'"], MoveSourceType.SPECIFIC_SLICE, 1, 2),
|
|
1464
1492
|
// TODO: remove some indices?
|
|
1465
|
-
...makeSourceInfo(["y", "Uv", "Dv'"],
|
|
1493
|
+
...makeSourceInfo(["y", "Uv", "Dv'"], MoveSourceType.ROTATION, 0, 3)
|
|
1466
1494
|
// TODO: remove some indices?
|
|
1467
1495
|
]
|
|
1468
1496
|
},
|
|
1469
|
-
[
|
|
1497
|
+
[Axis.Z]: {
|
|
1470
1498
|
sliceDiameter: 3,
|
|
1471
1499
|
extendsThroughEntirePuzzle: true,
|
|
1472
1500
|
moveSourceInfos: [
|
|
1473
|
-
...makeSourceInfo(["F"],
|
|
1474
|
-
...makeSourceInfo(["B'"],
|
|
1475
|
-
...makeSourceInfo(["f", "Fw"],
|
|
1476
|
-
...makeSourceInfo(["b'", "Bw'"],
|
|
1477
|
-
...makeSourceInfo(["S"],
|
|
1501
|
+
...makeSourceInfo(["F"], MoveSourceType.INDEXABLE_SLICE_NEAR, 0, 3),
|
|
1502
|
+
...makeSourceInfo(["B'"], MoveSourceType.INDEXABLE_SLICE_FAR, 0, 3),
|
|
1503
|
+
...makeSourceInfo(["f", "Fw"], MoveSourceType.INDEXABLE_WIDE_NEAR, 0, 3),
|
|
1504
|
+
...makeSourceInfo(["b'", "Bw'"], MoveSourceType.INDEXABLE_WIDE_FAR, 0, 3),
|
|
1505
|
+
...makeSourceInfo(["S"], MoveSourceType.SPECIFIC_SLICE, 1, 2),
|
|
1478
1506
|
// TODO: remove some indices?
|
|
1479
|
-
...makeSourceInfo(["z", "Fv", "Bv'"],
|
|
1507
|
+
...makeSourceInfo(["z", "Fv", "Bv'"], MoveSourceType.ROTATION, 0, 3)
|
|
1480
1508
|
// TODO: remove some indices?
|
|
1481
1509
|
]
|
|
1482
1510
|
}
|
|
@@ -1530,7 +1558,7 @@ function simplestMove(axis, from, to, directedAmount) {
|
|
|
1530
1558
|
const axisInfo = axisInfos[axis];
|
|
1531
1559
|
const { sliceDiameter } = axisInfo;
|
|
1532
1560
|
if (from === 0 && to === sliceDiameter) {
|
|
1533
|
-
const moveSourceInfo2 = firstOfType(axis,
|
|
1561
|
+
const moveSourceInfo2 = firstOfType(axis, MoveSourceType.ROTATION);
|
|
1534
1562
|
return new Move(
|
|
1535
1563
|
new QuantumMove(moveSourceInfo2.family),
|
|
1536
1564
|
directedAmount * moveSourceInfo2.direction
|
|
@@ -1555,7 +1583,7 @@ function simplestMove(axis, from, to, directedAmount) {
|
|
|
1555
1583
|
if (!slice && innerLayer === 2) {
|
|
1556
1584
|
innerLayer = null;
|
|
1557
1585
|
}
|
|
1558
|
-
const moveSourceType = slice ? far ?
|
|
1586
|
+
const moveSourceType = slice ? far ? MoveSourceType.INDEXABLE_SLICE_FAR : MoveSourceType.INDEXABLE_SLICE_NEAR : far ? MoveSourceType.INDEXABLE_WIDE_FAR : MoveSourceType.INDEXABLE_WIDE_NEAR;
|
|
1559
1587
|
const moveSourceInfo = firstOfType(axis, moveSourceType);
|
|
1560
1588
|
return new Move(
|
|
1561
1589
|
new QuantumMove(moveSourceInfo.family, innerLayer, outerLayer),
|
|
@@ -1588,24 +1616,24 @@ function simplifySameAxisMoves(moves, quantumMod = true) {
|
|
|
1588
1616
|
const { moveSourceInfo } = byFamily[move.family];
|
|
1589
1617
|
const directedAmount2 = move.amount * moveSourceInfo.direction;
|
|
1590
1618
|
switch (moveSourceInfo.type) {
|
|
1591
|
-
case
|
|
1619
|
+
case MoveSourceType.INDEXABLE_SLICE_NEAR: {
|
|
1592
1620
|
const idx = (move.innerLayer ?? 1) - 1;
|
|
1593
1621
|
adjustValue(idx, directedAmount2);
|
|
1594
1622
|
adjustValue(idx + 1, -directedAmount2);
|
|
1595
1623
|
break;
|
|
1596
1624
|
}
|
|
1597
|
-
case
|
|
1625
|
+
case MoveSourceType.INDEXABLE_SLICE_FAR: {
|
|
1598
1626
|
const idx = sliceDiameter - (move.innerLayer ?? 1);
|
|
1599
1627
|
adjustValue(idx, directedAmount2);
|
|
1600
1628
|
adjustValue(idx + 1, -directedAmount2);
|
|
1601
1629
|
break;
|
|
1602
1630
|
}
|
|
1603
|
-
case
|
|
1631
|
+
case MoveSourceType.INDEXABLE_WIDE_NEAR: {
|
|
1604
1632
|
adjustValue((move.outerLayer ?? 1) - 1, directedAmount2);
|
|
1605
1633
|
adjustValue(move.innerLayer ?? 2, -directedAmount2);
|
|
1606
1634
|
break;
|
|
1607
1635
|
}
|
|
1608
|
-
case
|
|
1636
|
+
case MoveSourceType.INDEXABLE_WIDE_FAR: {
|
|
1609
1637
|
adjustValue(sliceDiameter - (move.innerLayer ?? 2), directedAmount2);
|
|
1610
1638
|
adjustValue(
|
|
1611
1639
|
sliceDiameter - ((move.outerLayer ?? 1) - 1),
|
|
@@ -1613,12 +1641,12 @@ function simplifySameAxisMoves(moves, quantumMod = true) {
|
|
|
1613
1641
|
);
|
|
1614
1642
|
break;
|
|
1615
1643
|
}
|
|
1616
|
-
case
|
|
1644
|
+
case MoveSourceType.SPECIFIC_SLICE: {
|
|
1617
1645
|
adjustValue(moveSourceInfo.from, directedAmount2);
|
|
1618
1646
|
adjustValue(moveSourceInfo.to, -directedAmount2);
|
|
1619
1647
|
break;
|
|
1620
1648
|
}
|
|
1621
|
-
case
|
|
1649
|
+
case MoveSourceType.ROTATION: {
|
|
1622
1650
|
adjustValue(0, directedAmount2);
|
|
1623
1651
|
adjustValue(sliceDiameter, -directedAmount2);
|
|
1624
1652
|
break;
|
|
@@ -1734,6 +1762,7 @@ export {
|
|
|
1734
1762
|
customPGPuzzleLoader,
|
|
1735
1763
|
experimentalIs2x2x2Solved,
|
|
1736
1764
|
getFaceletStickeringMask,
|
|
1765
|
+
PieceStickering,
|
|
1737
1766
|
getPieceStickeringMask,
|
|
1738
1767
|
PuzzleStickering,
|
|
1739
1768
|
StickeringManager,
|
|
@@ -1748,4 +1777,4 @@ export {
|
|
|
1748
1777
|
PGPuzzleLoader,
|
|
1749
1778
|
CubePGPuzzleLoader
|
|
1750
1779
|
};
|
|
1751
|
-
//# sourceMappingURL=chunk-
|
|
1780
|
+
//# sourceMappingURL=chunk-5LBACZOM.js.map
|