@rednaxela101/cubing 0.63.5
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/README.md +120 -0
- package/alg/index.d.ts +1 -0
- package/bluetooth/index.d.ts +1 -0
- package/dist/bin/chunks/chunk-22VWCGBC.js +13 -0
- package/dist/bin/chunks/chunk-22VWCGBC.js.map +7 -0
- package/dist/bin/order.js +59 -0
- package/dist/bin/order.js.map +7 -0
- package/dist/bin/puzzle-geometry-bin.js +407 -0
- package/dist/bin/puzzle-geometry-bin.js.map +7 -0
- package/dist/bin/scramble.js +188 -0
- package/dist/bin/scramble.js.map +7 -0
- package/dist/bin/svg.js +56 -0
- package/dist/bin/svg.js.map +7 -0
- package/dist/lib/cubing/alg/index.d.ts +2 -0
- package/dist/lib/cubing/alg/index.js +43 -0
- package/dist/lib/cubing/alg/index.js.map +7 -0
- package/dist/lib/cubing/bluetooth/index.d.ts +189 -0
- package/dist/lib/cubing/bluetooth/index.js +2271 -0
- package/dist/lib/cubing/bluetooth/index.js.map +7 -0
- package/dist/lib/cubing/chunks/big-puzzle-orientation-BA6QHO5C.js +68 -0
- package/dist/lib/cubing/chunks/big-puzzle-orientation-BA6QHO5C.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-2VJB4TMH.js +1774 -0
- package/dist/lib/cubing/chunks/chunk-2VJB4TMH.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-52ZXJEUO.js +665 -0
- package/dist/lib/cubing/chunks/chunk-52ZXJEUO.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-56VZAEPF.js +274 -0
- package/dist/lib/cubing/chunks/chunk-56VZAEPF.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-7GUL3OBQ.js +9 -0
- package/dist/lib/cubing/chunks/chunk-7GUL3OBQ.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-7L7BJSIM.js +21 -0
- package/dist/lib/cubing/chunks/chunk-7L7BJSIM.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-AESPJKN6.js +265 -0
- package/dist/lib/cubing/chunks/chunk-AESPJKN6.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-C2Q347XS.js +89 -0
- package/dist/lib/cubing/chunks/chunk-C2Q347XS.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-CGBMJBU3.js +1195 -0
- package/dist/lib/cubing/chunks/chunk-CGBMJBU3.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-HZQONEMD.js +249 -0
- package/dist/lib/cubing/chunks/chunk-HZQONEMD.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-IAGCVPL3.js +1069 -0
- package/dist/lib/cubing/chunks/chunk-IAGCVPL3.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-NAPITA3L.js +1 -0
- package/dist/lib/cubing/chunks/chunk-NAPITA3L.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-XPDJUSZ7.js +1876 -0
- package/dist/lib/cubing/chunks/chunk-XPDJUSZ7.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-YSI6PF35.js +619 -0
- package/dist/lib/cubing/chunks/chunk-YSI6PF35.js.map +7 -0
- package/dist/lib/cubing/chunks/inside-LG2EAKCL.js +557 -0
- package/dist/lib/cubing/chunks/inside-LG2EAKCL.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-2x2x2-JYJJXB4V.js +142 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-2x2x2-JYJJXB4V.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-3x3x3-FYXD7SIU.js +365 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-3x3x3-FYXD7SIU.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-4x4x4-AIGABOAR.js +132 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-4x4x4-AIGABOAR.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-5x5x5-JUNRX27W.js +277 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-5x5x5-JUNRX27W.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-clock-USGQTDPO.js +836 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-clock-USGQTDPO.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-fto-WJHMLYCJ.js +100 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-fto-WJHMLYCJ.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js +224 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-pyraminx-7UWX4HHI.js +93 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-pyraminx-7UWX4HHI.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-square1-PQEKBPFN.js +842 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-square1-PQEKBPFN.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-2x2x2-XFKQ4VJS.js +125 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-2x2x2-XFKQ4VJS.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-megaminx-ZDOOLEDW.js +1564 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-megaminx-ZDOOLEDW.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-pyraminx-W6UJWBYY.js +108 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-pyraminx-W6UJWBYY.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-skewb-FXGKV4KD.js +125 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-skewb-FXGKV4KD.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-YK6HA7BK.js +644 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-YK6HA7BK.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-3x3x3-DLMAGPXS.js +2549 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-3x3x3-DLMAGPXS.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-NONXQHOJ.js +2923 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-NONXQHOJ.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-fto-3GQ2HLSW.js +1405 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-fto-3GQ2HLSW.js.map +7 -0
- package/dist/lib/cubing/chunks/search-worker-entry.js +19 -0
- package/dist/lib/cubing/chunks/search-worker-entry.js.map +7 -0
- package/dist/lib/cubing/chunks/square1-stickerings-W2ZLZWIN.js +73 -0
- package/dist/lib/cubing/chunks/square1-stickerings-W2ZLZWIN.js.map +7 -0
- package/dist/lib/cubing/chunks/twips-2RNTWYNZ.js +433 -0
- package/dist/lib/cubing/chunks/twips-2RNTWYNZ.js.map +7 -0
- package/dist/lib/cubing/chunks/twips_wasm_bg-TJNYGA2C-23XTPLIK.js +10 -0
- package/dist/lib/cubing/chunks/twips_wasm_bg-TJNYGA2C-23XTPLIK.js.map +7 -0
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-JO6OGKOF.js +2424 -0
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-JO6OGKOF.js.map +7 -0
- package/dist/lib/cubing/index-BX6f56uo.d.ts +76 -0
- package/dist/lib/cubing/index-CcRu94bx.d.ts +2622 -0
- package/dist/lib/cubing/kpuzzle/index.d.ts +2 -0
- package/dist/lib/cubing/kpuzzle/index.js +12 -0
- package/dist/lib/cubing/kpuzzle/index.js.map +7 -0
- package/dist/lib/cubing/notation/index.d.ts +32 -0
- package/dist/lib/cubing/notation/index.js +20 -0
- package/dist/lib/cubing/notation/index.js.map +7 -0
- package/dist/lib/cubing/outside-BCzgSYQ_.d.ts +38 -0
- package/dist/lib/cubing/protocol/index.d.ts +28 -0
- package/dist/lib/cubing/protocol/index.js +20 -0
- package/dist/lib/cubing/protocol/index.js.map +7 -0
- package/dist/lib/cubing/puzzle-geometry/index.d.ts +2 -0
- package/dist/lib/cubing/puzzle-geometry/index.js +5024 -0
- package/dist/lib/cubing/puzzle-geometry/index.js.map +7 -0
- package/dist/lib/cubing/puzzles/index.d.ts +2 -0
- package/dist/lib/cubing/puzzles/index.js +23 -0
- package/dist/lib/cubing/puzzles/index.js.map +7 -0
- package/dist/lib/cubing/scramble/index.d.ts +2 -0
- package/dist/lib/cubing/scramble/index.js +16 -0
- package/dist/lib/cubing/scramble/index.js.map +7 -0
- package/dist/lib/cubing/search/index.d.ts +7 -0
- package/dist/lib/cubing/search/index.js +37 -0
- package/dist/lib/cubing/search/index.js.map +7 -0
- package/dist/lib/cubing/stream/index.d.ts +2 -0
- package/dist/lib/cubing/stream/index.js +111 -0
- package/dist/lib/cubing/stream/index.js.map +7 -0
- package/dist/lib/cubing/twisty/index.d.ts +2 -0
- package/dist/lib/cubing/twisty/index.js +6236 -0
- package/dist/lib/cubing/twisty/index.js.map +7 -0
- package/experimental-json-schema/kpuzzle/KPatternData.schema.json +34 -0
- package/experimental-json-schema/kpuzzle/KPuzzleDefinition.schema.json +97 -0
- package/experimental-json-schema/kpuzzle/KTransformationData.schema.json +27 -0
- package/kpuzzle/index.d.ts +1 -0
- package/notation/index.d.ts +1 -0
- package/package.json +146 -0
- package/protocol/index.d.ts +1 -0
- package/puzzle-geometry/index.d.ts +1 -0
- package/puzzles/index.d.ts +1 -0
- package/scramble/index.d.ts +1 -0
- package/search/index.d.ts +1 -0
- package/stream/index.d.ts +1 -0
- package/twisty/index.d.ts +1 -0
|
@@ -0,0 +1,619 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CubePGPuzzleLoader,
|
|
3
|
+
LazyPromise,
|
|
4
|
+
PGPuzzleLoader,
|
|
5
|
+
PuzzleStickering,
|
|
6
|
+
StickeringManager,
|
|
7
|
+
asyncGetPuzzleGeometry,
|
|
8
|
+
bigCubePuzzleOrientation,
|
|
9
|
+
cube3x3x3,
|
|
10
|
+
cube3x3x3KeyMapping,
|
|
11
|
+
cubeLikeStickeringList,
|
|
12
|
+
cubeLikeStickeringMask,
|
|
13
|
+
cubeMirrorTransforms,
|
|
14
|
+
experimentalIs2x2x2Solved,
|
|
15
|
+
getCached
|
|
16
|
+
} from "./chunk-2VJB4TMH.js";
|
|
17
|
+
import {
|
|
18
|
+
KPuzzle
|
|
19
|
+
} from "./chunk-52ZXJEUO.js";
|
|
20
|
+
import {
|
|
21
|
+
Move,
|
|
22
|
+
Pause
|
|
23
|
+
} from "./chunk-XPDJUSZ7.js";
|
|
24
|
+
|
|
25
|
+
// src/cubing/puzzles/events.ts
|
|
26
|
+
var wcaEvents = {
|
|
27
|
+
"333": {
|
|
28
|
+
puzzleID: "3x3x3",
|
|
29
|
+
eventName: "3x3x3 Cube",
|
|
30
|
+
scramblesImplemented: "random-state"
|
|
31
|
+
},
|
|
32
|
+
"222": {
|
|
33
|
+
puzzleID: "2x2x2",
|
|
34
|
+
eventName: "2x2x2 Cube",
|
|
35
|
+
scramblesImplemented: "random-state"
|
|
36
|
+
},
|
|
37
|
+
"444": {
|
|
38
|
+
puzzleID: "4x4x4",
|
|
39
|
+
eventName: "4x4x4 Cube",
|
|
40
|
+
scramblesImplemented: "random-state"
|
|
41
|
+
},
|
|
42
|
+
"555": {
|
|
43
|
+
puzzleID: "5x5x5",
|
|
44
|
+
eventName: "5x5x5 Cube",
|
|
45
|
+
scramblesImplemented: "random-moves"
|
|
46
|
+
},
|
|
47
|
+
"666": {
|
|
48
|
+
puzzleID: "6x6x6",
|
|
49
|
+
eventName: "6x6x6 Cube",
|
|
50
|
+
scramblesImplemented: "random-moves"
|
|
51
|
+
},
|
|
52
|
+
"777": {
|
|
53
|
+
puzzleID: "7x7x7",
|
|
54
|
+
eventName: "7x7x7 Cube",
|
|
55
|
+
scramblesImplemented: "random-moves"
|
|
56
|
+
},
|
|
57
|
+
"333bf": {
|
|
58
|
+
puzzleID: "3x3x3",
|
|
59
|
+
eventName: "3x3x3 Blindfolded",
|
|
60
|
+
scramblesImplemented: "random-state"
|
|
61
|
+
},
|
|
62
|
+
"333fm": {
|
|
63
|
+
puzzleID: "3x3x3",
|
|
64
|
+
eventName: "3x3x3 Fewest Moves",
|
|
65
|
+
scramblesImplemented: "random-state"
|
|
66
|
+
},
|
|
67
|
+
"333oh": {
|
|
68
|
+
puzzleID: "3x3x3",
|
|
69
|
+
eventName: "3x3x3 One-Handed",
|
|
70
|
+
scramblesImplemented: "random-state"
|
|
71
|
+
},
|
|
72
|
+
clock: {
|
|
73
|
+
puzzleID: "clock",
|
|
74
|
+
eventName: "Clock",
|
|
75
|
+
scramblesImplemented: "random-state"
|
|
76
|
+
},
|
|
77
|
+
minx: {
|
|
78
|
+
puzzleID: "megaminx",
|
|
79
|
+
eventName: "Megaminx",
|
|
80
|
+
scramblesImplemented: "random-moves"
|
|
81
|
+
},
|
|
82
|
+
pyram: {
|
|
83
|
+
puzzleID: "pyraminx",
|
|
84
|
+
eventName: "Pyraminx",
|
|
85
|
+
scramblesImplemented: "random-state"
|
|
86
|
+
},
|
|
87
|
+
skewb: {
|
|
88
|
+
puzzleID: "skewb",
|
|
89
|
+
eventName: "Skewb",
|
|
90
|
+
scramblesImplemented: "random-state"
|
|
91
|
+
},
|
|
92
|
+
sq1: {
|
|
93
|
+
puzzleID: "square1",
|
|
94
|
+
eventName: "Square-1",
|
|
95
|
+
scramblesImplemented: "random-state"
|
|
96
|
+
},
|
|
97
|
+
"444bf": {
|
|
98
|
+
puzzleID: "4x4x4",
|
|
99
|
+
eventName: "4x4x4 Blindfolded",
|
|
100
|
+
scramblesImplemented: "random-state"
|
|
101
|
+
},
|
|
102
|
+
"555bf": {
|
|
103
|
+
puzzleID: "5x5x5",
|
|
104
|
+
eventName: "5x5x5 Blindfolded",
|
|
105
|
+
scramblesImplemented: "random-moves"
|
|
106
|
+
},
|
|
107
|
+
"333mbf": {
|
|
108
|
+
puzzleID: "3x3x3",
|
|
109
|
+
eventName: "3x3x3 Multi-Blind",
|
|
110
|
+
scramblesImplemented: "random-state"
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
function wcaEventInfo(event) {
|
|
114
|
+
return wcaEvents[event] ?? null;
|
|
115
|
+
}
|
|
116
|
+
var twizzleEvents = {
|
|
117
|
+
...wcaEvents,
|
|
118
|
+
fto: {
|
|
119
|
+
puzzleID: "fto",
|
|
120
|
+
eventName: "Face-Turning Octahedron",
|
|
121
|
+
scramblesImplemented: "random-state"
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
function eventInfo(event) {
|
|
125
|
+
return twizzleEvents[event] ?? null;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// src/cubing/puzzles/implementations/2x2x2/index.ts
|
|
129
|
+
var cube2x2x2 = {
|
|
130
|
+
id: "2x2x2",
|
|
131
|
+
fullName: "2\xD72\xD72 Cube",
|
|
132
|
+
kpuzzle: getCached(async () => {
|
|
133
|
+
const kpuzzle = new KPuzzle(
|
|
134
|
+
(await import("./puzzles-dynamic-2x2x2-JYJJXB4V.js")).cube2x2x2JSON
|
|
135
|
+
);
|
|
136
|
+
kpuzzle.definition.experimentalIsPatternSolved = experimentalIs2x2x2Solved;
|
|
137
|
+
return kpuzzle;
|
|
138
|
+
}),
|
|
139
|
+
svg: async () => (await import("./puzzles-dynamic-2x2x2-JYJJXB4V.js")).cube2x2x2SVG,
|
|
140
|
+
llSVG: getCached(
|
|
141
|
+
async () => (await import("./puzzles-dynamic-2x2x2-JYJJXB4V.js")).cube2x2x2LLSVG
|
|
142
|
+
),
|
|
143
|
+
pg: getCached(async () => {
|
|
144
|
+
return asyncGetPuzzleGeometry("2x2x2");
|
|
145
|
+
}),
|
|
146
|
+
stickeringMask: (stickering) => cubeLikeStickeringMask(cube2x2x2, stickering),
|
|
147
|
+
stickerings: () => cubeLikeStickeringList("2x2x2", { use3x3x3Fallbacks: true }),
|
|
148
|
+
algTransformData: cubeMirrorTransforms
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
// src/cubing/puzzles/implementations/4x4x4/cube4x4x4And5x5x5KeyMapping.ts
|
|
152
|
+
var cube4x4x4And5x5x5KeyMapping = {
|
|
153
|
+
...cube3x3x3KeyMapping,
|
|
154
|
+
KeyZ: new Move("m'"),
|
|
155
|
+
KeyB: new Move("m"),
|
|
156
|
+
Period: new Move("m'")
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
// src/cubing/puzzles/implementations/4x4x4/index.ts
|
|
160
|
+
var cube4x4x4 = new CubePGPuzzleLoader({
|
|
161
|
+
id: "4x4x4",
|
|
162
|
+
fullName: "4\xD74\xD74 Cube",
|
|
163
|
+
inventedBy: ["Peter Sebest\xE9ny"],
|
|
164
|
+
inventionYear: 1981
|
|
165
|
+
});
|
|
166
|
+
cube4x4x4.llSVG = getCached(async () => {
|
|
167
|
+
return (await import("./puzzles-dynamic-4x4x4-AIGABOAR.js")).cube4x4x4LLSVG;
|
|
168
|
+
});
|
|
169
|
+
cube4x4x4.keyMapping = async () => cube4x4x4And5x5x5KeyMapping;
|
|
170
|
+
cube4x4x4.kpuzzle = getCached(async () => {
|
|
171
|
+
const kpuzzle = await PGPuzzleLoader.prototype.kpuzzle.call(cube4x4x4);
|
|
172
|
+
kpuzzle.definition.defaultPattern["CENTERS"].pieces = [
|
|
173
|
+
// U
|
|
174
|
+
0,
|
|
175
|
+
0,
|
|
176
|
+
0,
|
|
177
|
+
0,
|
|
178
|
+
// L
|
|
179
|
+
4,
|
|
180
|
+
4,
|
|
181
|
+
4,
|
|
182
|
+
4,
|
|
183
|
+
// F
|
|
184
|
+
8,
|
|
185
|
+
8,
|
|
186
|
+
8,
|
|
187
|
+
8,
|
|
188
|
+
// R
|
|
189
|
+
12,
|
|
190
|
+
12,
|
|
191
|
+
12,
|
|
192
|
+
12,
|
|
193
|
+
// B
|
|
194
|
+
16,
|
|
195
|
+
16,
|
|
196
|
+
16,
|
|
197
|
+
16,
|
|
198
|
+
// D
|
|
199
|
+
20,
|
|
200
|
+
20,
|
|
201
|
+
20,
|
|
202
|
+
20
|
|
203
|
+
];
|
|
204
|
+
const { experimentalIsBigCubeSolved } = await bigCubePuzzleOrientation();
|
|
205
|
+
kpuzzle.definition.experimentalIsPatternSolved = experimentalIsBigCubeSolved;
|
|
206
|
+
return kpuzzle;
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// src/cubing/puzzles/implementations/5x5x5/index.ts
|
|
210
|
+
var cube5x5x5 = new CubePGPuzzleLoader({
|
|
211
|
+
id: "5x5x5",
|
|
212
|
+
fullName: "5\xD75\xD75 Cube",
|
|
213
|
+
inventedBy: ["Udo Krell"],
|
|
214
|
+
inventionYear: 1981
|
|
215
|
+
});
|
|
216
|
+
cube5x5x5.llSVG = getCached(async () => {
|
|
217
|
+
return (await import("./puzzles-dynamic-5x5x5-JUNRX27W.js")).cube5x5x5LLSVG;
|
|
218
|
+
});
|
|
219
|
+
cube5x5x5.keyMapping = async () => cube4x4x4And5x5x5KeyMapping;
|
|
220
|
+
cube5x5x5.kpuzzle = getCached(async () => {
|
|
221
|
+
const kpuzzle = await PGPuzzleLoader.prototype.kpuzzle.call(cube5x5x5);
|
|
222
|
+
const speffzDistinguishableCenters = [
|
|
223
|
+
// U
|
|
224
|
+
0,
|
|
225
|
+
0,
|
|
226
|
+
0,
|
|
227
|
+
0,
|
|
228
|
+
// L
|
|
229
|
+
4,
|
|
230
|
+
4,
|
|
231
|
+
4,
|
|
232
|
+
4,
|
|
233
|
+
// F
|
|
234
|
+
8,
|
|
235
|
+
8,
|
|
236
|
+
8,
|
|
237
|
+
8,
|
|
238
|
+
// R
|
|
239
|
+
12,
|
|
240
|
+
12,
|
|
241
|
+
12,
|
|
242
|
+
12,
|
|
243
|
+
// B
|
|
244
|
+
16,
|
|
245
|
+
16,
|
|
246
|
+
16,
|
|
247
|
+
16,
|
|
248
|
+
// D
|
|
249
|
+
20,
|
|
250
|
+
20,
|
|
251
|
+
20,
|
|
252
|
+
20
|
|
253
|
+
];
|
|
254
|
+
kpuzzle.definition.defaultPattern["CENTERS"].pieces = speffzDistinguishableCenters;
|
|
255
|
+
kpuzzle.definition.defaultPattern["CENTERS2"].pieces = speffzDistinguishableCenters;
|
|
256
|
+
kpuzzle.definition.defaultPattern["CENTERS3"].orientationMod = new Array(
|
|
257
|
+
6
|
|
258
|
+
).fill(1);
|
|
259
|
+
const { experimentalIsBigCubeSolved } = await bigCubePuzzleOrientation();
|
|
260
|
+
kpuzzle.definition.experimentalIsPatternSolved = experimentalIsBigCubeSolved;
|
|
261
|
+
return kpuzzle;
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
// src/cubing/puzzles/implementations/clock/index.ts
|
|
265
|
+
var clock = {
|
|
266
|
+
id: "clock",
|
|
267
|
+
fullName: "Clock",
|
|
268
|
+
inventedBy: ["Christopher C. Wiggs", "Christopher J. Taylor"],
|
|
269
|
+
inventionYear: 1988,
|
|
270
|
+
// Patent application year: https://www.jaapsch.net/puzzles/patents/us4869506.pdf
|
|
271
|
+
kpuzzle: getCached(
|
|
272
|
+
async () => new KPuzzle(
|
|
273
|
+
(await import("./puzzles-dynamic-clock-USGQTDPO.js")).clockJSON
|
|
274
|
+
)
|
|
275
|
+
),
|
|
276
|
+
svg: getCached(async () => {
|
|
277
|
+
return (await import("./puzzles-dynamic-clock-USGQTDPO.js")).clockSVG;
|
|
278
|
+
})
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
// src/cubing/puzzles/stickerings/fto-stickerings.ts
|
|
282
|
+
async function ftoStickering(puzzleLoader, stickering) {
|
|
283
|
+
const kpuzzle = await puzzleLoader.kpuzzle();
|
|
284
|
+
const puzzleStickering = new PuzzleStickering(kpuzzle);
|
|
285
|
+
const m = new StickeringManager(kpuzzle);
|
|
286
|
+
const experimentalFTO_FC = () => m.and([m.move("U"), m.not(m.or(m.moves(["F", "BL", "BR"])))]);
|
|
287
|
+
const experimentalFTO_F2T = () => m.and([m.move("U"), m.not(m.move("F"))]);
|
|
288
|
+
const experimentalFTO_SC = () => m.or([
|
|
289
|
+
experimentalFTO_F2T(),
|
|
290
|
+
m.and([m.move("F"), m.not(m.or(m.moves(["U", "BL", "BR"])))])
|
|
291
|
+
]);
|
|
292
|
+
const experimentalFTO_L2C = () => m.not(
|
|
293
|
+
m.or([
|
|
294
|
+
m.and([m.move("U"), m.move("F")]),
|
|
295
|
+
m.and([m.move("F"), m.move("BL")]),
|
|
296
|
+
m.and([m.move("F"), m.move("BR")]),
|
|
297
|
+
m.and([m.move("BL"), m.move("BR")])
|
|
298
|
+
])
|
|
299
|
+
);
|
|
300
|
+
const experimentalFTO_LBT = () => m.not(
|
|
301
|
+
m.or([
|
|
302
|
+
m.and([m.move("F"), m.move("BL")]),
|
|
303
|
+
m.and([m.move("F"), m.move("BR")]),
|
|
304
|
+
m.and([m.move("BL"), m.move("BR")])
|
|
305
|
+
])
|
|
306
|
+
);
|
|
307
|
+
switch (stickering) {
|
|
308
|
+
case "full":
|
|
309
|
+
break;
|
|
310
|
+
case "experimental-fto-fc": {
|
|
311
|
+
puzzleStickering.set(
|
|
312
|
+
m.not(experimentalFTO_FC()),
|
|
313
|
+
"Ignored" /* Ignored */
|
|
314
|
+
);
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
case "experimental-fto-f2t": {
|
|
318
|
+
puzzleStickering.set(
|
|
319
|
+
m.not(experimentalFTO_F2T()),
|
|
320
|
+
"Ignored" /* Ignored */
|
|
321
|
+
);
|
|
322
|
+
puzzleStickering.set(experimentalFTO_FC(), "Dim" /* Dim */);
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
case "experimental-fto-sc": {
|
|
326
|
+
puzzleStickering.set(
|
|
327
|
+
m.not(experimentalFTO_SC()),
|
|
328
|
+
"Ignored" /* Ignored */
|
|
329
|
+
);
|
|
330
|
+
puzzleStickering.set(experimentalFTO_F2T(), "Dim" /* Dim */);
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
case "experimental-fto-l2c": {
|
|
334
|
+
puzzleStickering.set(
|
|
335
|
+
m.not(experimentalFTO_L2C()),
|
|
336
|
+
"Ignored" /* Ignored */
|
|
337
|
+
);
|
|
338
|
+
puzzleStickering.set(experimentalFTO_SC(), "Dim" /* Dim */);
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
case "experimental-fto-lbt": {
|
|
342
|
+
puzzleStickering.set(
|
|
343
|
+
m.not(experimentalFTO_LBT()),
|
|
344
|
+
"Ignored" /* Ignored */
|
|
345
|
+
);
|
|
346
|
+
puzzleStickering.set(experimentalFTO_L2C(), "Dim" /* Dim */);
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
349
|
+
case "experimental-fto-l3t": {
|
|
350
|
+
puzzleStickering.set(experimentalFTO_LBT(), "Dim" /* Dim */);
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
default:
|
|
354
|
+
console.warn(
|
|
355
|
+
`Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`
|
|
356
|
+
);
|
|
357
|
+
puzzleStickering.set(m.and(m.moves([])), "Dim" /* Dim */);
|
|
358
|
+
}
|
|
359
|
+
return puzzleStickering.toStickeringMask();
|
|
360
|
+
}
|
|
361
|
+
async function ftoStickerings() {
|
|
362
|
+
return [
|
|
363
|
+
"full",
|
|
364
|
+
"experimental-fto-fc",
|
|
365
|
+
"experimental-fto-f2t",
|
|
366
|
+
"experimental-fto-sc",
|
|
367
|
+
"experimental-fto-l2c",
|
|
368
|
+
"experimental-fto-lbt",
|
|
369
|
+
"experimental-fto-l3t"
|
|
370
|
+
];
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// src/cubing/puzzles/implementations/fto/ftoKeyMapping.ts
|
|
374
|
+
var ftoKeyMapping = {
|
|
375
|
+
KeyI: new Move("R"),
|
|
376
|
+
KeyK: new Move("R'"),
|
|
377
|
+
KeyW: new Move("B"),
|
|
378
|
+
KeyO: new Move("B'"),
|
|
379
|
+
KeyS: new Move("D"),
|
|
380
|
+
KeyL: new Move("D'"),
|
|
381
|
+
KeyD: new Move("L"),
|
|
382
|
+
KeyE: new Move("L'"),
|
|
383
|
+
KeyJ: new Move("U"),
|
|
384
|
+
KeyF: new Move("U'"),
|
|
385
|
+
KeyH: new Move("F"),
|
|
386
|
+
KeyG: new Move("F'"),
|
|
387
|
+
KeyN: new Move("Rv'"),
|
|
388
|
+
KeyC: new Move("l"),
|
|
389
|
+
KeyR: new Move("l'"),
|
|
390
|
+
KeyU: new Move("r"),
|
|
391
|
+
KeyM: new Move("r'"),
|
|
392
|
+
KeyX: new Move("d"),
|
|
393
|
+
Comma: new Move("d'"),
|
|
394
|
+
KeyT: new Move("Lv'"),
|
|
395
|
+
KeyY: new Move("Rv"),
|
|
396
|
+
KeyV: new Move("Lv"),
|
|
397
|
+
Semicolon: new Move("Uv"),
|
|
398
|
+
KeyA: new Move("Uv'"),
|
|
399
|
+
KeyP: new Move("BR'"),
|
|
400
|
+
KeyQ: new Move("BL"),
|
|
401
|
+
KeyZ: new Move("BL'"),
|
|
402
|
+
KeyB: new Move("T"),
|
|
403
|
+
Period: new Move("BR"),
|
|
404
|
+
Backquote: new Pause()
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
// src/cubing/puzzles/implementations/fto/index.ts
|
|
408
|
+
var FTOPuzzleLoader = class extends PGPuzzleLoader {
|
|
409
|
+
constructor() {
|
|
410
|
+
super({
|
|
411
|
+
pgID: "FTO",
|
|
412
|
+
id: "fto",
|
|
413
|
+
fullName: "Face-Turning Octahedron",
|
|
414
|
+
inventedBy: ["Karl Rohrbach", "David Pitcher"],
|
|
415
|
+
// http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1663
|
|
416
|
+
inventionYear: 1983
|
|
417
|
+
// http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1663
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
stickeringMask(stickering) {
|
|
421
|
+
return ftoStickering(this, stickering);
|
|
422
|
+
}
|
|
423
|
+
stickerings = ftoStickerings;
|
|
424
|
+
svg = getCached(async () => {
|
|
425
|
+
return (await import("./puzzles-dynamic-fto-WJHMLYCJ.js")).ftoSVG;
|
|
426
|
+
});
|
|
427
|
+
keyMapping = async () => ftoKeyMapping;
|
|
428
|
+
algTransformData = {
|
|
429
|
+
"\u2194 Mirror (x)": {
|
|
430
|
+
replaceMovesByFamily: {
|
|
431
|
+
L: "R",
|
|
432
|
+
R: "L",
|
|
433
|
+
l: "r",
|
|
434
|
+
r: "l",
|
|
435
|
+
Lw: "Rw",
|
|
436
|
+
Rw: "Lw",
|
|
437
|
+
Lv: "Rv",
|
|
438
|
+
Rv: "Lv",
|
|
439
|
+
BL: "BR",
|
|
440
|
+
BR: "BL",
|
|
441
|
+
bl: "br",
|
|
442
|
+
br: "bl",
|
|
443
|
+
BLw: "BRw",
|
|
444
|
+
BRw: "BLw",
|
|
445
|
+
BLv: "BRv",
|
|
446
|
+
BRv: "BLv"
|
|
447
|
+
},
|
|
448
|
+
invertExceptByFamily: /* @__PURE__ */ new Set(["x"])
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
var fto = new FTOPuzzleLoader();
|
|
453
|
+
|
|
454
|
+
// src/cubing/puzzles/stickerings/megaminx-stickerings.ts
|
|
455
|
+
async function megaminxStickeringMask(puzzleLoader, stickering) {
|
|
456
|
+
if ((await megaminxStickerings()).includes(stickering)) {
|
|
457
|
+
return cubeLikeStickeringMask(puzzleLoader, stickering);
|
|
458
|
+
}
|
|
459
|
+
console.warn(
|
|
460
|
+
`Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`
|
|
461
|
+
);
|
|
462
|
+
return cubeLikeStickeringMask(puzzleLoader, "full");
|
|
463
|
+
}
|
|
464
|
+
var megaminxStickeringListPromise = new LazyPromise(
|
|
465
|
+
() => cubeLikeStickeringList("megaminx")
|
|
466
|
+
);
|
|
467
|
+
function megaminxStickerings() {
|
|
468
|
+
return megaminxStickeringListPromise;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
// src/cubing/puzzles/implementations/megaminx/megaminxKeyMapping.ts
|
|
472
|
+
var megaminxKeyMapping = {
|
|
473
|
+
KeyI: new Move("R"),
|
|
474
|
+
KeyK: new Move("R'"),
|
|
475
|
+
KeyW: new Move("B"),
|
|
476
|
+
KeyO: new Move("B'"),
|
|
477
|
+
KeyS: new Move("FR"),
|
|
478
|
+
KeyL: new Move("FR'"),
|
|
479
|
+
KeyD: new Move("L"),
|
|
480
|
+
KeyE: new Move("L'"),
|
|
481
|
+
KeyJ: new Move("U"),
|
|
482
|
+
KeyF: new Move("U'"),
|
|
483
|
+
KeyH: new Move("F"),
|
|
484
|
+
KeyG: new Move("F'"),
|
|
485
|
+
KeyC: new Move("Lw"),
|
|
486
|
+
KeyR: new Move("Lw'"),
|
|
487
|
+
KeyU: new Move("Rw"),
|
|
488
|
+
KeyM: new Move("Rw'"),
|
|
489
|
+
KeyX: new Move("d"),
|
|
490
|
+
Comma: new Move("d'"),
|
|
491
|
+
KeyT: new Move("Rv"),
|
|
492
|
+
KeyY: new Move("Rv"),
|
|
493
|
+
KeyV: new Move("Rv'"),
|
|
494
|
+
KeyN: new Move("Rv'"),
|
|
495
|
+
Semicolon: new Move("y"),
|
|
496
|
+
KeyA: new Move("y'"),
|
|
497
|
+
KeyP: new Move("z"),
|
|
498
|
+
KeyQ: new Move("z'"),
|
|
499
|
+
KeyZ: new Move("2L'"),
|
|
500
|
+
KeyB: new Move("2R"),
|
|
501
|
+
Period: new Move("2R'"),
|
|
502
|
+
Backquote: new Pause()
|
|
503
|
+
};
|
|
504
|
+
|
|
505
|
+
// src/cubing/puzzles/implementations/megaminx/index.ts
|
|
506
|
+
var MegaminxPuzzleLoader = class extends PGPuzzleLoader {
|
|
507
|
+
constructor() {
|
|
508
|
+
super({
|
|
509
|
+
id: "megaminx",
|
|
510
|
+
fullName: "Megaminx",
|
|
511
|
+
// Too many simultaneous inventors to name.
|
|
512
|
+
inventionYear: 1981
|
|
513
|
+
// Earliest date from https://www.jaapsch.net/puzzles/megaminx.htm
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
stickeringMask(stickering) {
|
|
517
|
+
return megaminxStickeringMask(this, stickering);
|
|
518
|
+
}
|
|
519
|
+
stickerings = megaminxStickerings;
|
|
520
|
+
llSVG = getCached(async () => {
|
|
521
|
+
return (await import("./puzzles-dynamic-megaminx-2LVHIDL4.js")).megaminxLLSVG;
|
|
522
|
+
});
|
|
523
|
+
keyMapping = async () => megaminxKeyMapping;
|
|
524
|
+
// TODO: async loading
|
|
525
|
+
};
|
|
526
|
+
var megaminx = new MegaminxPuzzleLoader();
|
|
527
|
+
|
|
528
|
+
// src/cubing/puzzles/implementations/pyraminx/index.ts
|
|
529
|
+
var PyraminxPuzzleLoader = class extends PGPuzzleLoader {
|
|
530
|
+
constructor() {
|
|
531
|
+
super({
|
|
532
|
+
id: "pyraminx",
|
|
533
|
+
fullName: "Pyraminx",
|
|
534
|
+
inventedBy: ["Uwe Meffert"]
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
svg = getCached(async () => {
|
|
538
|
+
return (await import("./puzzles-dynamic-pyraminx-7UWX4HHI.js")).pyraminxSVG;
|
|
539
|
+
});
|
|
540
|
+
algTransformData = {
|
|
541
|
+
"\u2194 Mirror (x)": {
|
|
542
|
+
replaceMovesByFamily: {
|
|
543
|
+
L: "R",
|
|
544
|
+
R: "L",
|
|
545
|
+
l: "r",
|
|
546
|
+
r: "l",
|
|
547
|
+
Lw: "Rw",
|
|
548
|
+
Rw: "Lw",
|
|
549
|
+
Lv: "Rv",
|
|
550
|
+
Rv: "Lv"
|
|
551
|
+
},
|
|
552
|
+
invertExceptByFamily: /* @__PURE__ */ new Set([])
|
|
553
|
+
}
|
|
554
|
+
};
|
|
555
|
+
};
|
|
556
|
+
var pyraminx = new PyraminxPuzzleLoader();
|
|
557
|
+
|
|
558
|
+
// src/cubing/puzzles/implementations/square1/index.ts
|
|
559
|
+
var square1 = {
|
|
560
|
+
id: "square1",
|
|
561
|
+
fullName: "Square-1",
|
|
562
|
+
inventedBy: ["Karel Hr\u0161el", "Vojtech Kopsk\xFD"],
|
|
563
|
+
inventionYear: 1990,
|
|
564
|
+
// Czech patent application year: http://spisy.upv.cz/Patents/FullDocuments/277/277266.pdf
|
|
565
|
+
kpuzzle: getCached(
|
|
566
|
+
async () => new KPuzzle(
|
|
567
|
+
(await import("./puzzles-dynamic-square1-PQEKBPFN.js")).sq1HyperOrbitJSON
|
|
568
|
+
)
|
|
569
|
+
),
|
|
570
|
+
svg: getCached(async () => {
|
|
571
|
+
return (await import("./puzzles-dynamic-square1-PQEKBPFN.js")).sq1HyperOrbitSVG;
|
|
572
|
+
}),
|
|
573
|
+
llSVG: getCached(async () => {
|
|
574
|
+
return (await import("./puzzles-dynamic-square1-PQEKBPFN.js")).sq1HyperOrbitLLSVG;
|
|
575
|
+
}),
|
|
576
|
+
stickeringMask: async (stickering) => {
|
|
577
|
+
return (await import("./square1-stickerings-W2ZLZWIN.js")).square1StickeringMask(square1, stickering);
|
|
578
|
+
},
|
|
579
|
+
stickerings: () => cubeLikeStickeringList("square1")
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
// src/cubing/puzzles/index.ts
|
|
583
|
+
var puzzles = {
|
|
584
|
+
/******** Start of WCA Puzzles *******/
|
|
585
|
+
"3x3x3": cube3x3x3,
|
|
586
|
+
"2x2x2": cube2x2x2,
|
|
587
|
+
"4x4x4": cube4x4x4,
|
|
588
|
+
"5x5x5": cube5x5x5,
|
|
589
|
+
"6x6x6": new CubePGPuzzleLoader({ id: "6x6x6", fullName: "6\xD76\xD76 Cube" }),
|
|
590
|
+
"7x7x7": new CubePGPuzzleLoader({ id: "7x7x7", fullName: "7\xD77\xD77 Cube" }),
|
|
591
|
+
// 3x3x3 Blindfolded
|
|
592
|
+
// 3x3x3 Fewest Moves
|
|
593
|
+
// 3x3x3 One-Handed
|
|
594
|
+
clock,
|
|
595
|
+
megaminx,
|
|
596
|
+
pyraminx,
|
|
597
|
+
skewb: new PGPuzzleLoader({
|
|
598
|
+
id: "skewb",
|
|
599
|
+
fullName: "Skewb",
|
|
600
|
+
inventedBy: ["Tony Durham"]
|
|
601
|
+
// https://www.jaapsch.net/puzzles/skewb.htm
|
|
602
|
+
// inventionYear: 1982, // 1982 is actually the year of Hofstadter's column.
|
|
603
|
+
}),
|
|
604
|
+
square1,
|
|
605
|
+
// 4x4x4 Blindfolded
|
|
606
|
+
// 5x5x5 Blindfolded
|
|
607
|
+
/******** End of WCA puzzles ********/
|
|
608
|
+
fto
|
|
609
|
+
};
|
|
610
|
+
|
|
611
|
+
export {
|
|
612
|
+
wcaEvents,
|
|
613
|
+
wcaEventInfo,
|
|
614
|
+
twizzleEvents,
|
|
615
|
+
eventInfo,
|
|
616
|
+
cube2x2x2,
|
|
617
|
+
puzzles
|
|
618
|
+
};
|
|
619
|
+
//# sourceMappingURL=chunk-YSI6PF35.js.map
|