cubing 0.25.6 → 0.25.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{2x2x2.sgs.json-GQVTWF7L.js → 2x2x2.sgs.json-3ZT7QXX6.js} +3 -3
- package/dist/esm/{2x2x2.sgs.json-GQVTWF7L.js.map → 2x2x2.sgs.json-3ZT7QXX6.js.map} +0 -0
- package/dist/esm/{3d-dynamic-DKWMBHRS.js → 3d-dynamic-PTVO24C3.js} +4 -4
- package/dist/esm/{3d-dynamic-DKWMBHRS.js.map → 3d-dynamic-PTVO24C3.js.map} +0 -0
- package/dist/esm/{444-solver-ZBJQH3QR.js → 444-solver-BYA4CXZO.js} +4 -4
- package/dist/esm/{444-solver-ZBJQH3QR.js.map → 444-solver-BYA4CXZO.js.map} +0 -0
- package/dist/esm/bluetooth/index.js +3 -3
- package/dist/esm/{chunk-L7AOT5LY.js → chunk-ANYSPBCR.js} +2 -2
- package/dist/esm/{chunk-L7AOT5LY.js.map → chunk-ANYSPBCR.js.map} +0 -0
- package/dist/esm/{chunk-BOKO2BWT.js → chunk-CNIY6YZL.js} +2 -2
- package/dist/esm/{chunk-BOKO2BWT.js.map → chunk-CNIY6YZL.js.map} +0 -0
- package/dist/esm/{chunk-T2BDGTK3.js → chunk-HFQZM22L.js} +3 -3
- package/dist/esm/{chunk-T2BDGTK3.js.map → chunk-HFQZM22L.js.map} +0 -0
- package/dist/esm/{chunk-TG5KP5IL.js → chunk-JGAZXWH2.js} +2 -2
- package/dist/esm/{chunk-TG5KP5IL.js.map → chunk-JGAZXWH2.js.map} +0 -0
- package/dist/esm/{chunk-L73RWUDG.js → chunk-JW2JE4D3.js} +2 -2
- package/dist/esm/{chunk-L73RWUDG.js.map → chunk-JW2JE4D3.js.map} +0 -0
- package/dist/esm/{chunk-FE3HTWQK.js → chunk-MVKZPDII.js} +13 -1
- package/dist/esm/chunk-MVKZPDII.js.map +7 -0
- package/dist/esm/{chunk-ME2QTCHN.js → chunk-NROLOGGL.js} +3 -3
- package/dist/esm/{chunk-ME2QTCHN.js.map → chunk-NROLOGGL.js.map} +0 -0
- package/dist/esm/{chunk-LZGPOT2V.js → chunk-OAPHPP4R.js} +2 -2
- package/dist/esm/{chunk-LZGPOT2V.js.map → chunk-OAPHPP4R.js.map} +0 -0
- package/dist/esm/{chunk-HTPDDD3Q.js → chunk-ZIHFCBOI.js} +2 -2
- package/dist/esm/{chunk-HTPDDD3Q.js.map → chunk-ZIHFCBOI.js.map} +0 -0
- package/dist/esm/{fto.dynamic-ZH5IVUKX.js → fto.dynamic-FLX5JKRG.js} +3 -3
- package/dist/esm/{fto.dynamic-ZH5IVUKX.js.map → fto.dynamic-FLX5JKRG.js.map} +0 -0
- package/dist/esm/kpuzzle/index.js +1 -1
- package/dist/esm/{megaminx.sgs.json-JXXOXGQE.js → megaminx.sgs.json-CGIZZZMZ.js} +3 -3
- package/dist/esm/{megaminx.sgs.json-JXXOXGQE.js.map → megaminx.sgs.json-CGIZZZMZ.js.map} +0 -0
- package/dist/esm/protocol/index.js +2 -2
- package/dist/esm/puzzles/index.js +2 -2
- package/dist/esm/{pyraminx.sgs.json-EHYGSC7B.js → pyraminx.sgs.json-XGJQTHLV.js} +4 -4
- package/dist/esm/{pyraminx.sgs.json-EHYGSC7B.js.map → pyraminx.sgs.json-XGJQTHLV.js.map} +0 -0
- package/dist/esm/scramble/index.js +4 -4
- package/dist/esm/search/index.js +4 -4
- package/dist/esm/{search-worker-js-entry-BDMABBZV.js → search-worker-js-entry-A4VBA2ZD.js} +13 -13
- package/dist/esm/{search-worker-js-entry-BDMABBZV.js.map → search-worker-js-entry-A4VBA2ZD.js.map} +0 -0
- package/dist/esm/{search-worker-ts-entry-3B5U6XER.js → search-worker-ts-entry-LUHAXJBE.js} +2 -2
- package/dist/esm/{search-worker-ts-entry-3B5U6XER.js.map → search-worker-ts-entry-LUHAXJBE.js.map} +0 -0
- package/dist/esm/{skewb.sgs.json-F5FL7533.js → skewb.sgs.json-HNUN4G7F.js} +3 -3
- package/dist/esm/{skewb.sgs.json-F5FL7533.js.map → skewb.sgs.json-HNUN4G7F.js.map} +0 -0
- package/dist/esm/twisty/index.js +13 -5
- package/dist/esm/twisty/index.js.map +2 -2
- package/dist/esm/{worker-inside-generated-string-AHMSHHSF.js → worker-inside-generated-string-VHOABMFC.js} +2 -2
- package/dist/esm/worker-inside-generated-string-VHOABMFC.js.map +7 -0
- package/dist/types/kpuzzle/KState.d.ts +1 -0
- package/dist/types/kpuzzle/KTransformation.d.ts +1 -0
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
- package/package.json +1 -1
- package/dist/esm/chunk-FE3HTWQK.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-AHMSHHSF.js.map +0 -7
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
} from "./chunk-27KJGD3S.js";
|
|
4
4
|
import {
|
|
5
5
|
cube2x2x2
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-CNIY6YZL.js";
|
|
7
|
+
import "./chunk-MVKZPDII.js";
|
|
8
8
|
import "./chunk-EWRBHQFX.js";
|
|
9
9
|
import "./chunk-WO2AXYFE.js";
|
|
10
10
|
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
cachedData222,
|
|
120
120
|
data222
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=2x2x2.sgs.json-
|
|
122
|
+
//# sourceMappingURL=2x2x2.sgs.json-3ZT7QXX6.js.map
|
|
File without changes
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
THREEJS,
|
|
4
4
|
experimentalStickerings,
|
|
5
5
|
hintFaceletStyles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JGAZXWH2.js";
|
|
7
7
|
import {
|
|
8
8
|
cube3x3x3,
|
|
9
9
|
getFaceletAppearance,
|
|
10
10
|
puzzles
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-CNIY6YZL.js";
|
|
12
|
+
import "./chunk-MVKZPDII.js";
|
|
13
13
|
import {
|
|
14
14
|
Move
|
|
15
15
|
} from "./chunk-EWRBHQFX.js";
|
|
@@ -1496,4 +1496,4 @@ export {
|
|
|
1496
1496
|
cube3DShim,
|
|
1497
1497
|
pg3dShim
|
|
1498
1498
|
};
|
|
1499
|
-
//# sourceMappingURL=3d-dynamic-
|
|
1499
|
+
//# sourceMappingURL=3d-dynamic-PTVO24C3.js.map
|
|
File without changes
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
mustBeInsideWorker,
|
|
3
3
|
random333Scramble
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NROLOGGL.js";
|
|
5
5
|
import {
|
|
6
6
|
randomUIntBelowFactory
|
|
7
7
|
} from "./chunk-RENZB7QN.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-CNIY6YZL.js";
|
|
9
|
+
import "./chunk-MVKZPDII.js";
|
|
10
10
|
import {
|
|
11
11
|
Alg
|
|
12
12
|
} from "./chunk-EWRBHQFX.js";
|
|
@@ -2570,4 +2570,4 @@ export {
|
|
|
2570
2570
|
initialize,
|
|
2571
2571
|
random444Scramble
|
|
2572
2572
|
};
|
|
2573
|
-
//# sourceMappingURL=444-solver-
|
|
2573
|
+
//# sourceMappingURL=444-solver-BYA4CXZO.js.map
|
|
File without changes
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
binaryComponentsToReid3x3x3,
|
|
3
3
|
twizzleBinaryToBinaryComponents
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-ANYSPBCR.js";
|
|
5
5
|
import {
|
|
6
6
|
puzzles
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-CNIY6YZL.js";
|
|
8
8
|
import {
|
|
9
9
|
KState,
|
|
10
10
|
experimental3x3x3KPuzzle
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-MVKZPDII.js";
|
|
12
12
|
import {
|
|
13
13
|
Alg,
|
|
14
14
|
Move,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
KState,
|
|
3
3
|
experimental3x3x3KPuzzle
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MVKZPDII.js";
|
|
5
5
|
import {
|
|
6
6
|
Alg
|
|
7
7
|
} from "./chunk-EWRBHQFX.js";
|
|
@@ -271,4 +271,4 @@ export {
|
|
|
271
271
|
bufferToSpacedHex,
|
|
272
272
|
spacedHexToBuffer
|
|
273
273
|
};
|
|
274
|
-
//# sourceMappingURL=chunk-
|
|
274
|
+
//# sourceMappingURL=chunk-ANYSPBCR.js.map
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
KPuzzle,
|
|
3
3
|
experimental3x3x3KPuzzle
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MVKZPDII.js";
|
|
5
5
|
import {
|
|
6
6
|
__privateAdd,
|
|
7
7
|
__privateGet,
|
|
@@ -882,4 +882,4 @@ export {
|
|
|
882
882
|
cube3x3x3,
|
|
883
883
|
puzzles
|
|
884
884
|
};
|
|
885
|
-
//# sourceMappingURL=chunk-
|
|
885
|
+
//# sourceMappingURL=chunk-CNIY6YZL.js.map
|
|
File without changes
|
|
@@ -108,7 +108,7 @@ async function constructWorker(source, options) {
|
|
|
108
108
|
// src/cubing/search/inside/search-worker-ts-entry-path-getter.ts
|
|
109
109
|
exposeAPI.expose = false;
|
|
110
110
|
async function getWorkerEntryFileURL() {
|
|
111
|
-
return (await import("./search-worker-ts-entry-
|
|
111
|
+
return (await import("./search-worker-ts-entry-LUHAXJBE.js")).WORKER_ENTRY_FILE_URL;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
// src/cubing/search/instantiator.ts
|
|
@@ -169,7 +169,7 @@ async function instantiateWorker() {
|
|
|
169
169
|
return await instantiateModuleWorker();
|
|
170
170
|
} catch (e) {
|
|
171
171
|
console.warn("Could not instantiate module worker (this is expected in Firefox and `bundle-global`). Falling back to string worker.", e);
|
|
172
|
-
const { workerSource } = await import("./worker-inside-generated-string-
|
|
172
|
+
const { workerSource } = await import("./worker-inside-generated-string-VHOABMFC.js");
|
|
173
173
|
const worker = await constructWorker(workerSource, { eval: true });
|
|
174
174
|
return wrap(worker);
|
|
175
175
|
}
|
|
@@ -231,4 +231,4 @@ export {
|
|
|
231
231
|
solveMegaminx,
|
|
232
232
|
setDebug
|
|
233
233
|
};
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
234
|
+
//# sourceMappingURL=chunk-HFQZM22L.js.map
|
|
File without changes
|
|
@@ -405,7 +405,7 @@ var DEGREES_PER_RADIAN = 360 / TAU;
|
|
|
405
405
|
// src/cubing/twisty/heavy-code-imports/3d.ts
|
|
406
406
|
var cachedConstructorProxy = null;
|
|
407
407
|
async function proxy3D() {
|
|
408
|
-
return cachedConstructorProxy ?? (cachedConstructorProxy = import("./3d-dynamic-
|
|
408
|
+
return cachedConstructorProxy ?? (cachedConstructorProxy = import("./3d-dynamic-PTVO24C3.js"));
|
|
409
409
|
}
|
|
410
410
|
var THREEJS = from(async () => (await proxy3D()).T3I);
|
|
411
411
|
|
|
@@ -425,4 +425,4 @@ export {
|
|
|
425
425
|
proxy3D,
|
|
426
426
|
THREEJS
|
|
427
427
|
};
|
|
428
|
-
//# sourceMappingURL=chunk-
|
|
428
|
+
//# sourceMappingURL=chunk-JGAZXWH2.js.map
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-F5WNHV7V.js";
|
|
8
8
|
import {
|
|
9
9
|
KPuzzle
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MVKZPDII.js";
|
|
11
11
|
|
|
12
12
|
// src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts
|
|
13
13
|
async function skewbKPuzzleWithoutMO() {
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
sgsDataSkewb,
|
|
120
120
|
sgsDataSkewbFixedCorner
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
122
|
+
//# sourceMappingURL=chunk-JW2JE4D3.js.map
|
|
File without changes
|
|
@@ -144,6 +144,12 @@ var KState = class {
|
|
|
144
144
|
this.kpuzzle = kpuzzle;
|
|
145
145
|
this.stateData = stateData;
|
|
146
146
|
}
|
|
147
|
+
toJSON() {
|
|
148
|
+
return {
|
|
149
|
+
experimentalPuzzleName: this.kpuzzle.name(),
|
|
150
|
+
stateData: this.stateData
|
|
151
|
+
};
|
|
152
|
+
}
|
|
147
153
|
static fromTransformation(transformation) {
|
|
148
154
|
const newStateData = applyTransformationDataToStateData(transformation.kpuzzle.definition, transformation.kpuzzle.definition.startStateData, transformation.transformationData);
|
|
149
155
|
return new KState(transformation.kpuzzle, newStateData);
|
|
@@ -188,6 +194,12 @@ var _KTransformation = class {
|
|
|
188
194
|
this.transformationData = transformationData;
|
|
189
195
|
__privateAdd(this, _cachedIsIdentity, void 0);
|
|
190
196
|
}
|
|
197
|
+
toJSON() {
|
|
198
|
+
return {
|
|
199
|
+
experimentalPuzzleName: this.kpuzzle.name(),
|
|
200
|
+
transformationData: this.transformationData
|
|
201
|
+
};
|
|
202
|
+
}
|
|
191
203
|
invert() {
|
|
192
204
|
return new _KTransformation(this.kpuzzle, invertTransformation(this.kpuzzle, this.transformationData));
|
|
193
205
|
}
|
|
@@ -831,4 +843,4 @@ export {
|
|
|
831
843
|
KPuzzle,
|
|
832
844
|
experimental3x3x3KPuzzle
|
|
833
845
|
};
|
|
834
|
-
//# sourceMappingURL=chunk-
|
|
846
|
+
//# sourceMappingURL=chunk-MVKZPDII.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cubing/kpuzzle/combine.ts", "../../src/cubing/kpuzzle/construct.ts", "../../src/cubing/kpuzzle/KState.ts", "../../src/cubing/kpuzzle/KTransformation.ts", "../../src/cubing/kpuzzle/calculate.ts", "../../src/cubing/kpuzzle/KPuzzle.ts", "../../src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts", "../../src/cubing/kpuzzle/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { isOrbitTransformationDataIdentityUncached } from \"./calculate\";\nimport type {\n KPuzzleDefinition,\n KStateData,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\n\nexport function combineTransformationData(\n definition: KPuzzleDefinition,\n transformationData1: KTransformationData,\n transformationData2: KTransformationData,\n): KTransformationData {\n const newTransformationData = {} as KTransformationData;\n for (const orbitName in definition.orbits) {\n const orbitDefinition = definition.orbits[orbitName];\n const orbit1 = transformationData1[orbitName];\n const orbit2 = transformationData2[orbitName];\n if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbit2,\n )\n ) {\n // common case for big cubes\n newTransformationData[orbitName] = orbit1;\n } else if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbit1,\n )\n ) {\n newTransformationData[orbitName] = orbit2;\n } else {\n const newPerm = new Array(orbitDefinition.numPieces);\n if (orbitDefinition.numOrientations === 1) {\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newPerm[idx] = orbit1.permutation[orbit2.permutation[idx]];\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: orbit1.orientation,\n };\n } else {\n const newOri = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newOri[idx] =\n (orbit1.orientation[orbit2.permutation[idx]] +\n orbit2.orientation[idx]) %\n orbitDefinition.numOrientations;\n newPerm[idx] = orbit1.permutation[orbit2.permutation[idx]];\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: newOri,\n };\n }\n }\n }\n return newTransformationData;\n}\n\nexport function applyTransformationDataToStateData(\n definition: KPuzzleDefinition,\n stateData: KStateData,\n transformationData: KTransformationData,\n): KStateData {\n const newStateData = {} as KStateData;\n for (const orbitName in definition.orbits) {\n const orbitDefinition = definition.orbits[orbitName];\n const orbit1 = stateData[orbitName];\n const orbit2 = transformationData[orbitName];\n if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbit2,\n )\n ) {\n // common case for big cubes\n newStateData[orbitName] = orbit1;\n } else {\n const newPieces = new Array(orbitDefinition.numPieces);\n if (orbitDefinition.numOrientations === 1) {\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newPieces[idx] = orbit1.pieces[orbit2.permutation[idx]];\n }\n newStateData[orbitName] = {\n pieces: newPieces,\n orientation: orbit1.orientation,\n };\n } else {\n const newOri = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newOri[idx] =\n (orbit1.orientation[orbit2.permutation[idx]] +\n orbit2.orientation[idx]) %\n orbitDefinition.numOrientations;\n newPieces[idx] = orbit1.pieces[orbit2.permutation[idx]];\n }\n newStateData[orbitName] = {\n pieces: newPieces,\n orientation: newOri,\n };\n }\n }\n }\n return newStateData;\n}\n", "import type { Move } from \"../alg\";\nimport { repeatTransformationUncached } from \"./calculate\";\nimport type { KPuzzle } from \"./KPuzzle\";\nimport type {\n KPuzzleDefinition,\n KTransformationData,\n KTransformationOrbitData,\n} from \"./KPuzzleDefinition\";\n\nconst FREEZE: boolean = false;\n\nconst identityOrbitCache = new Map<number, KTransformationOrbitData>();\nfunction constructIdentityOrbitTransformation(\n numPieces: number,\n): KTransformationOrbitData {\n const cached = identityOrbitCache.get(numPieces);\n if (cached) {\n return cached;\n }\n\n const newPermutation = new Array(numPieces);\n const newOrientation = new Array(numPieces);\n for (let i = 0; i < numPieces; i++) {\n newPermutation[i] = i;\n newOrientation[i] = 0;\n }\n const orbitTransformation = {\n permutation: newPermutation,\n orientation: newOrientation,\n };\n if (FREEZE) {\n Object.freeze(newPermutation); // TODO\n Object.freeze(newOrientation); // TODO\n Object.freeze(orbitTransformation); // TODO\n }\n identityOrbitCache.set(numPieces, orbitTransformation);\n return orbitTransformation;\n}\n\nexport function constructIdentityTransformationDataUncached(\n definition: KPuzzleDefinition,\n): KTransformationData {\n const transformation = {} as KTransformationData;\n for (const [orbitName, orbitDefinition] of Object.entries(\n definition.orbits,\n )) {\n transformation[orbitName] = constructIdentityOrbitTransformation(\n orbitDefinition.numPieces,\n );\n }\n if (FREEZE) {\n Object.freeze(transformation); // TODO\n }\n return transformation;\n}\n\nexport function moveToTransformationUncached(\n kpuzzle: KPuzzle,\n move: Move,\n): KTransformationData {\n const quantumKey = move.quantum.toString();\n let quantumMoveDefinition = kpuzzle.definition.moves[quantumKey] as\n | KTransformationData\n | undefined;\n\n if (!quantumMoveDefinition) {\n const derivedFrom =\n kpuzzle.definition.experimentalDerivedMoves?.[quantumKey];\n\n if (derivedFrom) {\n // TODO: avoid the round trip?\n quantumMoveDefinition =\n kpuzzle.algToTransformation(derivedFrom).transformationData;\n }\n }\n\n if (quantumMoveDefinition) {\n return repeatTransformationUncached(\n kpuzzle,\n quantumMoveDefinition,\n move.amount,\n );\n }\n\n // Handle e.g. `y2` if `y2` is defined.\n // Note: this doesn't handle multiples.\n const moveDefinition = kpuzzle.definition.moves[move.toString()];\n if (moveDefinition) {\n return moveDefinition;\n }\n\n // Handle e.g. `y2'` if `y2` is defined.\n // Note: this doesn't handle multiples.\n const inverseMoveDefinition =\n kpuzzle.definition.moves[move.invert().toString()];\n if (inverseMoveDefinition) {\n return repeatTransformationUncached(kpuzzle, inverseMoveDefinition, -1);\n }\n\n throw new Error(`Invalid move for KPuzzle (${kpuzzle.name()}): ${move}`);\n}\n", "import type { KPuzzle, KTransformationData } from \".\";\nimport type { Alg, Move } from \"../alg\";\nimport { applyTransformationDataToStateData } from \"./combine\";\nimport type { KTransformationSource } from \"./KPuzzle\";\nimport type { KStateData, KTransformationOrbitData } from \"./KPuzzleDefinition\";\nimport { KTransformation } from \"./KTransformation\";\n\nexport class KState {\n constructor(\n public readonly kpuzzle: KPuzzle,\n public readonly stateData: KStateData,\n ) {}\n\n toJSON(): any {\n return {\n experimentalPuzzleName: this.kpuzzle.name(),\n stateData: this.stateData,\n };\n }\n\n static fromTransformation(transformation: KTransformation): KState {\n const newStateData = applyTransformationDataToStateData(\n transformation.kpuzzle.definition,\n transformation.kpuzzle.definition.startStateData,\n transformation.transformationData,\n );\n return new KState(transformation.kpuzzle, newStateData);\n }\n\n // Convenience function\n /** @deprecated */\n apply(source: KTransformationSource): KState {\n return this.applyTransformation(this.kpuzzle.toTransformation(source));\n }\n\n applyTransformation(transformation: KTransformation): KState {\n if (transformation.isIdentityTransformation()) {\n return new KState(this.kpuzzle, this.stateData);\n }\n const newStateData = applyTransformationDataToStateData(\n this.kpuzzle.definition,\n this.stateData,\n transformation.transformationData,\n );\n return new KState(this.kpuzzle, newStateData);\n }\n\n applyMove(move: Move | string): KState {\n return this.applyTransformation(this.kpuzzle.moveToTransformation(move));\n }\n\n applyAlg(alg: Alg | string): KState {\n return this.applyTransformation(this.kpuzzle.algToTransformation(alg));\n }\n\n /** @deprecated */\n experimentalToTransformation(): KTransformation | null {\n if (!this.kpuzzle.canConvertStateToUniqueTransformation()) {\n return null;\n }\n const transformationData: KTransformationData = {};\n for (const [orbitName, stateOrbitData] of Object.entries(this.stateData)) {\n const transformationOrbit: KTransformationOrbitData = {\n permutation: stateOrbitData.pieces,\n orientation: stateOrbitData.orientation,\n };\n transformationData[orbitName] = transformationOrbit;\n }\n return new KTransformation(this.kpuzzle, transformationData);\n }\n}\n", "import type { Alg, Move } from \"../alg\";\nimport {\n invertTransformation,\n isTransformationDataIdentical,\n repeatTransformationUncached,\n transformationRepetitionOrder,\n} from \"./calculate\";\nimport { combineTransformationData } from \"./combine\";\nimport { constructIdentityTransformationDataUncached } from \"./construct\";\nimport type { KPuzzle, KTransformationSource } from \"./KPuzzle\";\nimport type { KTransformationData } from \"./KPuzzleDefinition\";\nimport { KState } from \"./KState\";\n\nexport class KTransformation {\n constructor(\n public readonly kpuzzle: KPuzzle,\n public readonly transformationData: KTransformationData,\n ) {}\n\n toJSON(): any {\n return {\n experimentalPuzzleName: this.kpuzzle.name(),\n transformationData: this.transformationData,\n };\n }\n\n invert(): KTransformation {\n return new KTransformation(\n this.kpuzzle,\n invertTransformation(this.kpuzzle, this.transformationData),\n );\n }\n\n // For optimizations, we want to make it cheap to rely on optimizations when a\n // transformation is an identity. Here, we try to make it cheaper by:\n // - only calculating when needed, and\n // - caching the result.\n #cachedIsIdentity: boolean | undefined; // TODO: is `null` worse here?\n isIdentityTransformation(): boolean {\n return (this.#cachedIsIdentity ??= this.isIdentical(\n this.kpuzzle.identityTransformation(),\n ));\n }\n\n /** @deprecated */\n static experimentalConstructIdentity(kpuzzle: KPuzzle) {\n const transformation = new KTransformation(\n kpuzzle,\n constructIdentityTransformationDataUncached(kpuzzle.definition),\n );\n transformation.#cachedIsIdentity = true;\n return transformation;\n }\n\n isIdentical(t2: KTransformation): boolean {\n return isTransformationDataIdentical(\n this.kpuzzle,\n this.transformationData,\n t2.transformationData,\n );\n }\n\n // Convenience function\n /** @deprecated */\n apply(source: KTransformationSource): KTransformation {\n return this.applyTransformation(this.kpuzzle.toTransformation(source));\n }\n\n applyTransformation(t2: KTransformation): KTransformation {\n if (this.kpuzzle !== t2.kpuzzle) {\n throw new Error(\n `Tried to apply a transformation for a KPuzzle (${t2.kpuzzle.name()}) to a different KPuzzle (${this.kpuzzle.name()}).`,\n );\n }\n\n if (this.#cachedIsIdentity) {\n return new KTransformation(this.kpuzzle, t2.transformationData);\n }\n if (t2.#cachedIsIdentity) {\n return new KTransformation(this.kpuzzle, this.transformationData);\n }\n\n return new KTransformation(\n this.kpuzzle,\n combineTransformationData(\n this.kpuzzle.definition,\n this.transformationData,\n t2.transformationData,\n ),\n );\n }\n\n applyMove(move: Move | string): KTransformation {\n return this.applyTransformation(this.kpuzzle.moveToTransformation(move));\n }\n\n applyAlg(alg: Alg | string): KTransformation {\n return this.applyTransformation(this.kpuzzle.algToTransformation(alg));\n }\n\n // Convenience. Useful for chaining.\n toKState(): KState {\n return KState.fromTransformation(this);\n }\n\n repetitionOrder(): number {\n return transformationRepetitionOrder(this.kpuzzle.definition, this);\n }\n\n selfMultiply(amount: number): KTransformation {\n return new KTransformation(\n this.kpuzzle,\n repeatTransformationUncached(\n this.kpuzzle,\n this.transformationData,\n amount,\n ),\n );\n }\n}\n", "import type { KPuzzleDefinition } from \".\";\nimport {\n Alg,\n Commutator,\n Conjugate,\n Grouping,\n LineComment,\n Move,\n Newline,\n Pause,\n TraversalDownUp,\n} from \"../alg\";\nimport { combineTransformationData } from \"./combine\";\nimport type { KPuzzle } from \"./KPuzzle\";\nimport type {\n KOrbitDefinition,\n KTransformationOrbitData,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\nimport { KTransformation } from \"./KTransformation\";\n\nexport function isOrbitTransformationDataIdentityUncached(\n numOrientations: number,\n orbitTransformationData: KTransformationOrbitData,\n): boolean {\n // TODO\n // if (o === lasto) {\n // return true;\n // }\n const { permutation } = orbitTransformationData;\n const numPieces = permutation.length;\n for (let idx = 0; idx < numPieces; idx++) {\n if (permutation[idx] !== idx) {\n return false;\n }\n }\n if (numOrientations > 1) {\n const { orientation } = orbitTransformationData;\n for (let idx = 0; idx < numPieces; idx++) {\n if (orientation[idx] !== 0) {\n return false;\n }\n }\n }\n // lasto = o; // TODO\n return true;\n}\n\nexport function isOrbitTransformationDataIdentical(\n orbitDefinition: KOrbitDefinition,\n orbitTransformationData1: KTransformationOrbitData,\n orbitTransformationData2: KTransformationOrbitData,\n options: {\n ignoreOrientation?: boolean;\n ignorePermutation?: boolean;\n } = {},\n): boolean {\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n if (\n !options?.ignoreOrientation &&\n orbitTransformationData1.orientation[idx] !==\n orbitTransformationData2.orientation[idx]\n ) {\n return false;\n }\n if (\n !options?.ignorePermutation &&\n orbitTransformationData1.permutation[idx] !==\n orbitTransformationData2.permutation[idx]\n ) {\n return false;\n }\n }\n return true;\n}\n\nexport function isTransformationDataIdentical(\n kpuzzle: KPuzzle,\n transformationData1: KTransformationData,\n transformationData2: KTransformationData,\n): boolean {\n for (const [orbitName, orbitDefinition] of Object.entries(\n kpuzzle.definition.orbits,\n )) {\n if (\n !isOrbitTransformationDataIdentical(\n orbitDefinition,\n transformationData1[orbitName],\n transformationData2[orbitName],\n )\n ) {\n return false;\n }\n }\n return true;\n}\n\nexport function invertTransformation(\n kpuzzle: KPuzzle,\n transformationData: KTransformationData,\n): KTransformationData {\n const newTransformationData: KTransformationData = {};\n for (const orbitName in kpuzzle.definition.orbits) {\n const orbitDefinition: KOrbitDefinition =\n kpuzzle.definition.orbits[orbitName];\n const orbitTransformationData = transformationData[orbitName];\n if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbitTransformationData,\n )\n ) {\n newTransformationData[orbitName] = orbitTransformationData;\n } else if (orbitDefinition.numOrientations === 1) {\n const newPerm = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newPerm[orbitTransformationData.permutation[idx]] = idx;\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: orbitTransformationData.orientation,\n };\n } else {\n const newPerm = new Array(orbitDefinition.numPieces);\n const newOri = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n const fromIdx = orbitTransformationData.permutation[idx];\n newPerm[fromIdx] = idx;\n newOri[fromIdx] =\n (orbitDefinition.numOrientations -\n orbitTransformationData.orientation[idx] +\n orbitDefinition.numOrientations) %\n orbitDefinition.numOrientations;\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: newOri,\n };\n }\n }\n return newTransformationData;\n}\n\nexport function repeatTransformationUncached(\n kpuzzle: KPuzzle,\n transformationData: KTransformationData,\n amount: number,\n): KTransformationData {\n // This is used for move construction, so we optimize for the quantum move case.\n if (amount === 1) {\n return transformationData;\n }\n if (amount < 0) {\n return repeatTransformationUncached(\n kpuzzle,\n invertTransformation(kpuzzle, transformationData),\n -amount,\n );\n }\n if (amount === 0) {\n // TODO\n const { transformationData } = kpuzzle.identityTransformation();\n return transformationData;\n }\n let halfish = transformationData;\n if (amount !== 2) {\n halfish = repeatTransformationUncached(\n kpuzzle,\n transformationData,\n Math.floor(amount / 2),\n );\n }\n const twiceHalfish = combineTransformationData(\n kpuzzle.definition,\n halfish,\n halfish,\n );\n if (amount % 2 === 0) {\n return twiceHalfish;\n } else {\n return combineTransformationData(\n kpuzzle.definition,\n transformationData,\n twiceHalfish,\n );\n }\n}\n\nclass AlgToTransformationTraversal extends TraversalDownUp<\n KPuzzle,\n KTransformation\n> {\n traverseAlg(alg: Alg, kpuzzle: KPuzzle): KTransformation {\n let transformation: KTransformation | null = null;\n for (const unit of alg.units()) {\n if (transformation) {\n transformation = transformation.applyTransformation(\n this.traverseUnit(unit, kpuzzle),\n );\n } else {\n transformation = this.traverseUnit(unit, kpuzzle);\n }\n }\n return transformation ?? kpuzzle.identityTransformation();\n }\n traverseGrouping(grouping: Grouping, kpuzzle: KPuzzle): KTransformation {\n const algTransformation = this.traverseAlg(grouping.alg, kpuzzle);\n return new KTransformation(\n kpuzzle,\n repeatTransformationUncached(\n kpuzzle,\n algTransformation.transformationData,\n grouping.amount,\n ),\n );\n }\n traverseMove(move: Move, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.moveToTransformation(move);\n }\n traverseCommutator(\n commutator: Commutator,\n kpuzzle: KPuzzle,\n ): KTransformation {\n const aTransformation = this.traverseAlg(commutator.A, kpuzzle);\n const bTransformation = this.traverseAlg(commutator.B, kpuzzle);\n return aTransformation\n .applyTransformation(bTransformation)\n .applyTransformation(aTransformation.invert())\n .applyTransformation(bTransformation.invert());\n }\n traverseConjugate(conjugate: Conjugate, kpuzzle: KPuzzle): KTransformation {\n const aTransformation = this.traverseAlg(conjugate.A, kpuzzle);\n const bTransformation = this.traverseAlg(conjugate.B, kpuzzle);\n return aTransformation\n .applyTransformation(bTransformation)\n .applyTransformation(aTransformation.invert());\n }\n traversePause(_: Pause, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.identityTransformation();\n }\n traverseNewline(_: Newline, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.identityTransformation();\n }\n traverseLineComment(_: LineComment, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.identityTransformation();\n }\n}\n\nconst algToTransformationInstance = new AlgToTransformationTraversal();\nexport const algToTransformation = algToTransformationInstance.traverseAlg.bind(\n algToTransformationInstance,\n) as (alg: Alg, kpuzzle: KPuzzle) => KTransformation;\n\nexport function canConvertStateToUniqueTransformationUncached(\n definition: KPuzzleDefinition,\n): boolean {\n for (const [orbitName, orbitDefinition] of Object.entries(definition)) {\n const pieces = new Array(orbitDefinition.numPieces).fill(false);\n for (const piece of this.definition.startStateData[orbitName].pieces) {\n pieces[piece] = true;\n }\n for (const piece of pieces) {\n if (!piece) {\n return false;\n }\n }\n }\n return true;\n}\n\nfunction gcd(a: number, b: number): number {\n if (b) {\n return gcd(b, a % b);\n }\n return a;\n}\n\n/* calculate the order of a particular transformation. */\nexport function transformationRepetitionOrder(\n definition: KPuzzleDefinition,\n transformation: KTransformation,\n): number {\n let order: number = 1;\n for (const orbitName in definition.orbits) {\n const orbitDefinition = definition.orbits[orbitName];\n const transformationOrbit = transformation.transformationData[orbitName];\n const orbitPieces = new Array(orbitDefinition.numPieces);\n for (let startIdx = 0; startIdx < orbitDefinition.numPieces; startIdx++) {\n if (!orbitPieces[startIdx]) {\n let currentIdx = startIdx;\n let orientationSum = 0;\n let cycleLength = 0;\n for (;;) {\n orbitPieces[currentIdx] = true;\n orientationSum =\n orientationSum + transformationOrbit.orientation[currentIdx];\n cycleLength = cycleLength + 1;\n currentIdx = transformationOrbit.permutation[currentIdx];\n if (currentIdx === startIdx) {\n break;\n }\n }\n if (orientationSum !== 0) {\n cycleLength =\n (cycleLength * orbitDefinition.numOrientations) /\n gcd(orbitDefinition.numOrientations, orientationSum);\n }\n order = (order * cycleLength) / gcd(order, cycleLength);\n }\n }\n }\n return order;\n}\n", "import { Alg, Move } from \"../alg\";\nimport type { PGNotation } from \"../puzzle-geometry/PuzzleGeometry\";\nimport { algToTransformation } from \"./calculate\";\nimport { moveToTransformationUncached } from \"./construct\";\nimport type {\n KPuzzleDefinition,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\nimport { KState } from \"./KState\";\nimport { KTransformation } from \"./KTransformation\";\n\nexport type KTransformationSource = Alg | Move | string | KTransformation;\n\nexport class KPuzzle {\n private experimentalPGNotation: PGNotation | undefined;\n constructor(\n public readonly definition: KPuzzleDefinition,\n options?: {\n experimentalPGNotation?: PGNotation;\n },\n ) {\n this.experimentalPGNotation = options?.experimentalPGNotation;\n }\n\n name(): string {\n return this.definition.name; // TODO\n }\n\n identityTransformation(): KTransformation {\n return KTransformation.experimentalConstructIdentity(this);\n }\n\n #moveToTransformationDataCache = new Map<string, KTransformationData>();\n moveToTransformation(move: Move | string): KTransformation {\n if (typeof move === \"string\") {\n move = new Move(move);\n }\n const cacheKey = move.toString();\n const cachedTransformationData: KTransformationData | undefined =\n this.#moveToTransformationDataCache.get(cacheKey);\n if (cachedTransformationData) {\n return new KTransformation(this, cachedTransformationData);\n }\n\n if (this.experimentalPGNotation) {\n const transformationData = this.experimentalPGNotation.lookupMove(move);\n if (!transformationData) {\n throw new Error(`could not map to internal move: ${move}`);\n }\n this.#moveToTransformationDataCache.set(cacheKey, transformationData);\n return new KTransformation(this, transformationData);\n }\n\n const transformationData = moveToTransformationUncached(this, move);\n this.#moveToTransformationDataCache.set(cacheKey, transformationData);\n return new KTransformation(this, transformationData);\n }\n\n algToTransformation(alg: Alg | string): KTransformation {\n if (typeof alg === \"string\") {\n alg = new Alg(alg);\n }\n return algToTransformation(alg, this);\n }\n\n /** @deprecated */\n toTransformation(source: KTransformationSource): KTransformation {\n if (typeof source === \"string\") {\n return this.algToTransformation(source);\n } else if ((source as Alg | null)?.is?.(Alg)) {\n return this.algToTransformation(source as Alg);\n } else if ((source as Move | null)?.is?.(Move)) {\n return this.moveToTransformation(source as Move);\n } else {\n return source as KTransformation;\n }\n }\n\n startState(): KState {\n return new KState(this, this.definition.startStateData);\n }\n\n #cachedCanConvertStateToUniqueTransformation: boolean | undefined;\n // TODO: Handle incomplete start state data\n canConvertStateToUniqueTransformation(): boolean {\n return (this.#cachedCanConvertStateToUniqueTransformation ??=\n ((): boolean => {\n for (const [orbitName, orbitDefinition] of Object.entries(\n this.definition.orbits,\n )) {\n const pieces = new Array(orbitDefinition.numPieces).fill(false);\n for (const piece of this.definition.startStateData[orbitName]\n .pieces) {\n pieces[piece] = true;\n }\n for (const piece of pieces) {\n if (!piece) {\n return false;\n }\n }\n }\n return true;\n })());\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n get state(): never {\n throw new Error(\"KPuzzle is now a different (stateless) class.\");\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n reset(): never {\n throw new Error(\"KPuzzle is now a different (stateless) class.\");\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n applyMove(_move: Move): never {\n throw new Error(\n \"KPuzzle is now a different class. Try `.moveToTransformation()` to get the transformation for a move.\",\n );\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n applyAlg(_alg: Alg): never {\n throw new Error(\n \"KPuzzle is now a different class. Try `.algToTransformation()` to get the transformation for an alg.\",\n );\n }\n}\n", "// TODO: This file is here to avoid dependency loops, but it should eventually\n// move back into `cubing/puzzles`. We currently have a few functions that are\n// hardcoded to require synchronous access to this definition, and we need to\n// find a better way to do that.\n\nimport type { KPuzzleDefinition } from \"../KPuzzleDefinition\";\n\nexport const cube3x3x3KPuzzleDefinition: KPuzzleDefinition = {\n name: \"3x3x3\",\n orbits: {\n EDGES: { numPieces: 12, numOrientations: 2 },\n CORNERS: { numPieces: 8, numOrientations: 3 },\n CENTERS: { numPieces: 6, numOrientations: 4 },\n },\n startStateData: {\n EDGES: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n pieces: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 0, 0, 0],\n },\n },\n moves: {\n U: {\n EDGES: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [1, 0, 0, 0, 0, 0],\n },\n },\n y: {\n EDGES: {\n permutation: [1, 2, 3, 0, 5, 6, 7, 4, 10, 8, 11, 9],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 7, 4, 5, 6],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 2, 3, 4, 1, 5],\n orientation: [1, 0, 0, 0, 0, 3],\n },\n },\n x: {\n EDGES: {\n permutation: [4, 8, 0, 9, 6, 10, 2, 11, 5, 7, 1, 3],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 3, 5, 7, 6, 2, 1],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n CENTERS: {\n permutation: [2, 1, 5, 3, 0, 4],\n orientation: [0, 3, 0, 1, 2, 2],\n },\n },\n L: {\n EDGES: {\n permutation: [0, 1, 2, 11, 4, 5, 6, 9, 8, 3, 10, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 6, 2, 4, 3, 5, 7],\n orientation: [0, 0, 2, 1, 0, 2, 1, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 1, 0, 0, 0, 0],\n },\n },\n F: {\n EDGES: {\n permutation: [9, 1, 2, 3, 8, 5, 6, 7, 0, 4, 10, 11],\n orientation: [1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0],\n },\n CORNERS: {\n permutation: [3, 1, 2, 5, 0, 4, 6, 7],\n orientation: [1, 0, 0, 2, 2, 1, 0, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 1, 0, 0, 0],\n },\n },\n R: {\n EDGES: {\n permutation: [0, 8, 2, 3, 4, 10, 6, 7, 5, 9, 1, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 2, 3, 7, 5, 6, 1],\n orientation: [2, 1, 0, 0, 1, 0, 0, 2],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 1, 0, 0],\n },\n },\n B: {\n EDGES: {\n permutation: [0, 1, 10, 3, 4, 5, 11, 7, 8, 9, 6, 2],\n orientation: [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1],\n },\n CORNERS: {\n permutation: [0, 7, 1, 3, 4, 5, 2, 6],\n orientation: [0, 2, 1, 0, 0, 0, 2, 1],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 0, 1, 0],\n },\n },\n D: {\n EDGES: {\n permutation: [0, 1, 2, 3, 7, 4, 5, 6, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 0, 0, 1],\n },\n },\n z: {\n EDGES: {\n permutation: [9, 3, 11, 7, 8, 1, 10, 5, 0, 4, 2, 6],\n orientation: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [3, 2, 6, 5, 0, 4, 7, 1],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n CENTERS: {\n permutation: [1, 5, 2, 0, 4, 3],\n orientation: [1, 1, 1, 1, 3, 1],\n },\n },\n M: {\n EDGES: {\n permutation: [2, 1, 6, 3, 0, 5, 4, 7, 8, 9, 10, 11],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [4, 1, 0, 3, 5, 2],\n orientation: [2, 0, 0, 0, 2, 0],\n },\n },\n E: {\n EDGES: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 8, 10],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 4, 1, 2, 3, 5],\n orientation: [0, 0, 0, 0, 0, 0],\n },\n },\n S: {\n EDGES: {\n permutation: [0, 3, 2, 7, 4, 1, 6, 5, 8, 9, 10, 11],\n orientation: [0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [1, 5, 2, 0, 4, 3],\n orientation: [1, 1, 0, 1, 0, 1],\n },\n },\n u: {\n EDGES: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7, 10, 8, 11, 9],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 2, 3, 4, 1, 5],\n orientation: [1, 0, 0, 0, 0, 0],\n },\n },\n l: {\n EDGES: {\n permutation: [2, 1, 6, 11, 0, 5, 4, 9, 8, 3, 10, 7],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 6, 2, 4, 3, 5, 7],\n orientation: [0, 0, 2, 1, 0, 2, 1, 0],\n },\n CENTERS: {\n permutation: [4, 1, 0, 3, 5, 2],\n orientation: [2, 1, 0, 0, 2, 0],\n },\n },\n f: {\n EDGES: {\n permutation: [9, 3, 2, 7, 8, 1, 6, 5, 0, 4, 10, 11],\n orientation: [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0],\n },\n CORNERS: {\n permutation: [3, 1, 2, 5, 0, 4, 6, 7],\n orientation: [1, 0, 0, 2, 2, 1, 0, 0],\n },\n CENTERS: {\n permutation: [1, 5, 2, 0, 4, 3],\n orientation: [1, 1, 1, 1, 0, 1],\n },\n },\n r: {\n EDGES: {\n permutation: [4, 8, 0, 3, 6, 10, 2, 7, 5, 9, 1, 11],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 2, 3, 7, 5, 6, 1],\n orientation: [2, 1, 0, 0, 1, 0, 0, 2],\n },\n CENTERS: {\n permutation: [2, 1, 5, 3, 0, 4],\n orientation: [0, 0, 0, 1, 2, 2],\n },\n },\n b: {\n EDGES: {\n permutation: [0, 5, 10, 1, 4, 7, 11, 3, 8, 9, 6, 2],\n orientation: [0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1],\n },\n CORNERS: {\n permutation: [0, 7, 1, 3, 4, 5, 2, 6],\n orientation: [0, 2, 1, 0, 0, 0, 2, 1],\n },\n CENTERS: {\n permutation: [3, 0, 2, 5, 4, 1],\n orientation: [3, 3, 0, 3, 1, 3],\n },\n },\n d: {\n EDGES: {\n permutation: [0, 1, 2, 3, 7, 4, 5, 6, 9, 11, 8, 10],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 4, 1, 2, 3, 5],\n orientation: [0, 0, 0, 0, 0, 1],\n },\n },\n },\n};\n\ncube3x3x3KPuzzleDefinition.moves[\"Uw\"] = cube3x3x3KPuzzleDefinition.moves[\"u\"];\ncube3x3x3KPuzzleDefinition.moves[\"Lw\"] = cube3x3x3KPuzzleDefinition.moves[\"l\"];\ncube3x3x3KPuzzleDefinition.moves[\"Fw\"] = cube3x3x3KPuzzleDefinition.moves[\"f\"];\ncube3x3x3KPuzzleDefinition.moves[\"Rw\"] = cube3x3x3KPuzzleDefinition.moves[\"r\"];\ncube3x3x3KPuzzleDefinition.moves[\"Bw\"] = cube3x3x3KPuzzleDefinition.moves[\"b\"];\ncube3x3x3KPuzzleDefinition.moves[\"Dw\"] = cube3x3x3KPuzzleDefinition.moves[\"d\"];\n\ncube3x3x3KPuzzleDefinition.moves[\"Rv\"] = cube3x3x3KPuzzleDefinition.moves[\"x\"];\ncube3x3x3KPuzzleDefinition.moves[\"Uv\"] = cube3x3x3KPuzzleDefinition.moves[\"y\"];\ncube3x3x3KPuzzleDefinition.moves[\"Fv\"] = cube3x3x3KPuzzleDefinition.moves[\"z\"];\ncube3x3x3KPuzzleDefinition.moves[\"Lv\"] = {\n EDGES: {\n permutation: [2, 10, 6, 11, 0, 8, 4, 9, 1, 3, 5, 7],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [1, 7, 6, 2, 0, 3, 5, 4],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n CENTERS: {\n permutation: [4, 1, 0, 3, 5, 2],\n orientation: [2, 1, 0, 3, 2, 0],\n },\n};\ncube3x3x3KPuzzleDefinition.moves[\"Dv\"] = {\n EDGES: {\n permutation: [3, 0, 1, 2, 7, 4, 5, 6, 9, 11, 8, 10],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [3, 0, 1, 2, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 4, 1, 2, 3, 5],\n orientation: [3, 0, 0, 0, 0, 1],\n },\n};\ncube3x3x3KPuzzleDefinition.moves[\"Bv\"] = {\n EDGES: {\n permutation: [8, 5, 10, 1, 9, 7, 11, 3, 4, 0, 6, 2],\n orientation: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [4, 7, 1, 0, 5, 3, 2, 6],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n CENTERS: {\n permutation: [3, 0, 2, 5, 4, 1],\n orientation: [3, 3, 3, 3, 1, 3],\n },\n};\n", "export { KPuzzle } from \"./KPuzzle\";\nexport type {\n KPuzzleDefinition,\n KStateData,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\nexport { KState } from \"./KState\";\nexport { KTransformation } from \"./KTransformation\";\n\nimport { cube3x3x3KPuzzleDefinition } from \"./3x3x3/3x3x3.kpuzzle.json\";\nimport { KPuzzle } from \"./KPuzzle\";\nexport const experimental3x3x3KPuzzle = new KPuzzle(cube3x3x3KPuzzleDefinition);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-RENZB7QN.js";
|
|
4
4
|
import {
|
|
5
5
|
puzzles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CNIY6YZL.js";
|
|
7
7
|
import {
|
|
8
8
|
KState
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MVKZPDII.js";
|
|
10
10
|
import {
|
|
11
11
|
Alg,
|
|
12
12
|
AlgBuilder,
|
|
@@ -502,4 +502,4 @@ export {
|
|
|
502
502
|
random333OrientedScramble,
|
|
503
503
|
random333FewestMovesScramble
|
|
504
504
|
};
|
|
505
|
-
//# sourceMappingURL=chunk-
|
|
505
|
+
//# sourceMappingURL=chunk-NROLOGGL.js.map
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-F5WNHV7V.js";
|
|
8
8
|
import {
|
|
9
9
|
KPuzzle
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MVKZPDII.js";
|
|
11
11
|
|
|
12
12
|
// src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts
|
|
13
13
|
async function megaminxKPuzzleWithoutMO() {
|
|
@@ -1558,4 +1558,4 @@ export {
|
|
|
1558
1558
|
cachedSGSDataMegaminx,
|
|
1559
1559
|
sgsDataMegaminx
|
|
1560
1560
|
};
|
|
1561
|
-
//# sourceMappingURL=chunk-
|
|
1561
|
+
//# sourceMappingURL=chunk-OAPHPP4R.js.map
|
|
File without changes
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-27KJGD3S.js";
|
|
4
4
|
import {
|
|
5
5
|
puzzles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CNIY6YZL.js";
|
|
7
7
|
|
|
8
8
|
// src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts
|
|
9
9
|
var cachedData = null;
|
|
@@ -100,4 +100,4 @@ export {
|
|
|
100
100
|
sgsDataPyraminx,
|
|
101
101
|
sgsDataPyraminxFixedOrientation
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-ZIHFCBOI.js.map
|
|
File without changes
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
} from "./chunk-27KJGD3S.js";
|
|
4
4
|
import {
|
|
5
5
|
puzzles
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-CNIY6YZL.js";
|
|
7
|
+
import "./chunk-MVKZPDII.js";
|
|
8
8
|
import "./chunk-EWRBHQFX.js";
|
|
9
9
|
import "./chunk-WO2AXYFE.js";
|
|
10
10
|
|
|
@@ -643,4 +643,4 @@ export {
|
|
|
643
643
|
randomFTOScrambleString,
|
|
644
644
|
sgsDataFTO
|
|
645
645
|
};
|
|
646
|
-
//# sourceMappingURL=fto.dynamic-
|
|
646
|
+
//# sourceMappingURL=fto.dynamic-FLX5JKRG.js.map
|
|
File without changes
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
cachedMegaminxKPuzzleWithoutMO,
|
|
3
3
|
cachedSGSDataMegaminx,
|
|
4
4
|
sgsDataMegaminx
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OAPHPP4R.js";
|
|
6
6
|
import "./chunk-27KJGD3S.js";
|
|
7
7
|
import "./chunk-F5WNHV7V.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-MVKZPDII.js";
|
|
9
9
|
import "./chunk-EWRBHQFX.js";
|
|
10
10
|
import "./chunk-WO2AXYFE.js";
|
|
11
11
|
export {
|
|
@@ -13,4 +13,4 @@ export {
|
|
|
13
13
|
cachedSGSDataMegaminx,
|
|
14
14
|
sgsDataMegaminx
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=megaminx.sgs.json-
|
|
16
|
+
//# sourceMappingURL=megaminx.sgs.json-CGIZZZMZ.js.map
|
|
File without changes
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
spacedHexToBuffer,
|
|
7
7
|
twizzleBinaryToBinaryComponents,
|
|
8
8
|
twizzleBinaryToReid3x3x3
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-ANYSPBCR.js";
|
|
10
|
+
import "../chunk-MVKZPDII.js";
|
|
11
11
|
import "../chunk-EWRBHQFX.js";
|
|
12
12
|
import "../chunk-WO2AXYFE.js";
|
|
13
13
|
export {
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
getFaceletAppearance,
|
|
8
8
|
puzzles,
|
|
9
9
|
wcaEventInfo
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-CNIY6YZL.js";
|
|
11
11
|
import {
|
|
12
12
|
experimental3x3x3KPuzzle
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-MVKZPDII.js";
|
|
14
14
|
import "../chunk-EWRBHQFX.js";
|
|
15
15
|
import "../chunk-WO2AXYFE.js";
|
|
16
16
|
export {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sgsDataPyraminx,
|
|
3
3
|
sgsDataPyraminxFixedOrientation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZIHFCBOI.js";
|
|
5
5
|
import "./chunk-27KJGD3S.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-CNIY6YZL.js";
|
|
7
|
+
import "./chunk-MVKZPDII.js";
|
|
8
8
|
import "./chunk-EWRBHQFX.js";
|
|
9
9
|
import "./chunk-WO2AXYFE.js";
|
|
10
10
|
export {
|
|
11
11
|
sgsDataPyraminx,
|
|
12
12
|
sgsDataPyraminxFixedOrientation
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=pyraminx.sgs.json-
|
|
14
|
+
//# sourceMappingURL=pyraminx.sgs.json-XGJQTHLV.js.map
|
|
File without changes
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
randomScrambleForEvent
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-HFQZM22L.js";
|
|
4
4
|
import "../chunk-BEXHMXCT.js";
|
|
5
5
|
import "../chunk-IVQ4ITE2.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-NROLOGGL.js";
|
|
7
7
|
import "../chunk-RENZB7QN.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-CNIY6YZL.js";
|
|
9
|
+
import "../chunk-MVKZPDII.js";
|
|
10
10
|
import "../chunk-EWRBHQFX.js";
|
|
11
11
|
import "../chunk-WO2AXYFE.js";
|
|
12
12
|
export {
|
package/dist/esm/search/index.js
CHANGED
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
solveMegaminx,
|
|
7
7
|
solvePyraminx,
|
|
8
8
|
solveSkewb
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-HFQZM22L.js";
|
|
10
10
|
import "../chunk-BEXHMXCT.js";
|
|
11
11
|
import "../chunk-IVQ4ITE2.js";
|
|
12
12
|
import {
|
|
13
13
|
random333State
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-NROLOGGL.js";
|
|
15
15
|
import "../chunk-RENZB7QN.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-CNIY6YZL.js";
|
|
17
|
+
import "../chunk-MVKZPDII.js";
|
|
18
18
|
import "../chunk-EWRBHQFX.js";
|
|
19
19
|
import "../chunk-WO2AXYFE.js";
|
|
20
20
|
export {
|