cubing 0.53.11 → 0.53.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/lib/cubing/{index-DR8lwjeP.d.ts → KPattern.d-B8PBnjzZ.d.ts} +104 -104
  2. package/dist/lib/cubing/{PuzzleLoader-BN2CTwbG.d.ts → PuzzleLoader-BYI7PA7C.d.ts} +2 -0
  3. package/dist/lib/cubing/{TwizzleLink.d-Dl_V74VW.d.ts → TwizzleLink.d-Bxv5QZmG.d.ts} +5 -3
  4. package/dist/lib/cubing/alg/index.d.ts +3 -3
  5. package/dist/lib/cubing/bluetooth/index.d.ts +6 -6
  6. package/dist/lib/cubing/{bluetooth-puzzle.d-9F8pLnkE.d.ts → bluetooth-puzzle.d-SLdses2g.d.ts} +2 -2
  7. package/dist/lib/cubing/chunks/{chunk-Q7LVKWAU.js → chunk-4A5X67G6.js} +3 -5
  8. package/dist/lib/cubing/chunks/{chunk-Q7LVKWAU.js.map → chunk-4A5X67G6.js.map} +1 -1
  9. package/dist/lib/cubing/chunks/{chunk-RDSQRW3G.js → chunk-GOT3GVLG.js} +11 -1
  10. package/dist/lib/cubing/chunks/chunk-GOT3GVLG.js.map +7 -0
  11. package/dist/lib/cubing/chunks/{chunk-VXVRV477.js → chunk-YUHH4EXE.js} +3 -5
  12. package/dist/lib/cubing/chunks/{chunk-VXVRV477.js.map → chunk-YUHH4EXE.js.map} +1 -1
  13. package/dist/lib/cubing/chunks/{inside-QH4KBULV.js → inside-FE3UMYVY.js} +5 -6
  14. package/dist/lib/cubing/chunks/{inside-QH4KBULV.js.map → inside-FE3UMYVY.js.map} +1 -1
  15. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-MCEJ4TLC.js → search-dynamic-solve-4x4x4-W5GCSX3J.js} +3 -4
  16. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-MCEJ4TLC.js.map → search-dynamic-solve-4x4x4-W5GCSX3J.js.map} +1 -1
  17. package/dist/lib/cubing/chunks/search-worker-entry.js +3 -4
  18. package/dist/lib/cubing/chunks/search-worker-entry.js.map +1 -1
  19. package/dist/lib/cubing/chunks/{twsearch-P7UCZ2FN.js → twsearch-P5MOXX3O.js} +220 -227
  20. package/dist/lib/cubing/chunks/twsearch-P5MOXX3O.js.map +7 -0
  21. package/dist/lib/cubing/chunks/twsearch_wasm_bg-7OSYYTWX-SEPIFK5Y.js +15 -0
  22. package/dist/lib/cubing/chunks/twsearch_wasm_bg-7OSYYTWX-SEPIFK5Y.js.map +7 -0
  23. package/dist/lib/cubing/{index-BKODmlbd.d.ts → index-C0GtBTdp.d.ts} +2 -2
  24. package/dist/lib/cubing/kpuzzle/index.d.ts +2 -2
  25. package/dist/lib/cubing/notation/index.d.ts +4 -4
  26. package/dist/lib/cubing/{parseAlg.d-DewXU-Sn.d.ts → parseAlg.d-BMkZo3Y-.d.ts} +1 -1
  27. package/dist/lib/cubing/protocol/index.d.ts +2 -2
  28. package/dist/lib/cubing/puzzle-geometry/index.d.ts +3 -3
  29. package/dist/lib/cubing/puzzles/index.d.ts +4 -4
  30. package/dist/lib/cubing/scramble/index.d.ts +3 -3
  31. package/dist/lib/cubing/scramble/index.js +2 -3
  32. package/dist/lib/cubing/search/index.d.ts +3 -3
  33. package/dist/lib/cubing/search/index.js +2 -3
  34. package/dist/lib/cubing/stream/index.d.ts +5 -5
  35. package/dist/lib/cubing/twisty/index.d.ts +5 -5
  36. package/dist/lib/cubing/twisty/index.js +19 -1
  37. package/dist/lib/cubing/twisty/index.js.map +2 -2
  38. package/package.json +1 -1
  39. package/dist/lib/cubing/chunks/chunk-RDSQRW3G.js.map +0 -7
  40. package/dist/lib/cubing/chunks/chunk-YLS2ZYML.js +0 -13
  41. package/dist/lib/cubing/chunks/chunk-YLS2ZYML.js.map +0 -7
  42. package/dist/lib/cubing/chunks/twsearch-P7UCZ2FN.js.map +0 -7
  43. package/dist/lib/cubing/chunks/twsearch_wasm_bg-NVQDAG6T-4Q3NEW35.js +0 -15
  44. package/dist/lib/cubing/chunks/twsearch_wasm_bg-NVQDAG6T-4Q3NEW35.js.map +0 -7
@@ -1,107 +1,4 @@
1
- import { M as Move, A as Alg } from './PuzzleLoader-BN2CTwbG.js';
2
-
3
- interface NotationMapper {
4
- notationToInternal(move: Move): Move | null;
5
- notationToExternal(move: Move): Move | null;
6
- }
7
-
8
- declare function parseOptions(argv: string[]): {
9
- puzzleDescription: PuzzleDescription | null;
10
- options: PuzzleGeometryOptions;
11
- };
12
- type FaceName = string;
13
- type OrientationDirection = [number, number, number];
14
- type FaceBasedOrientationDescription = [
15
- [
16
- FaceName,
17
- OrientationDirection
18
- ],
19
- [
20
- FaceName,
21
- OrientationDirection
22
- ]
23
- ];
24
- type BaseFaceCount = 4 | 6 | 8 | 12 | 20;
25
- type FaceBasedOrientationDescriptionLookup = Record<BaseFaceCount, FaceBasedOrientationDescription>;
26
- declare class PuzzleGeometryFullOptions {
27
- verbosity: number;
28
- allMoves: boolean;
29
- outerBlockMoves: boolean;
30
- vertexMoves: boolean;
31
- addRotations: boolean;
32
- moveList: string[] | null;
33
- fixedOrientation: boolean;
34
- fixedPieceType: null | "e" | "v" | "f";
35
- orientCenters: boolean;
36
- includeCornerOrbits: boolean;
37
- includeCenterOrbits: boolean;
38
- includeEdgeOrbits: boolean;
39
- excludeOrbits: string[];
40
- optimizeOrbits: boolean;
41
- grayCorners: boolean;
42
- grayCenters: boolean;
43
- grayEdges: boolean;
44
- puzzleOrientation: FaceBasedOrientationDescription | null;
45
- puzzleOrientations: FaceBasedOrientationDescriptionLookup | null;
46
- scrambleAmount: number;
47
- constructor(options?: PuzzleGeometryOptions);
48
- }
49
- type PuzzleGeometryOptions = Partial<PuzzleGeometryFullOptions>;
50
-
51
- declare class Perm {
52
- n: number;
53
- p: number[];
54
- constructor(a: number[]);
55
- toString(): string;
56
- mul(p2: Perm): Perm;
57
- rmul(p2: Perm): Perm;
58
- inv(): Perm;
59
- compareTo(p2: Perm): number;
60
- toGap(): string;
61
- toMathematica(): string;
62
- order(): number;
63
- }
64
-
65
- declare class KTransformation {
66
- #private;
67
- readonly kpuzzle: KPuzzle;
68
- readonly transformationData: KTransformationData;
69
- constructor(kpuzzle: KPuzzle, transformationData: KTransformationData);
70
- toJSON(): any;
71
- invert(): KTransformation;
72
- isIdentityTransformation(): boolean;
73
- /** @deprecated */
74
- static experimentalConstructIdentity(kpuzzle: KPuzzle): KTransformation;
75
- isIdentical(t2: KTransformation): boolean;
76
- /** @deprecated */
77
- apply(source: KTransformationSource): KTransformation;
78
- applyTransformation(t2: KTransformation): KTransformation;
79
- applyMove(move: Move | string): KTransformation;
80
- applyAlg(alg: Alg | string): KTransformation;
81
- toKPattern(): KPattern;
82
- repetitionOrder(): number;
83
- selfMultiply(amount: number): KTransformation;
84
- }
85
-
86
- declare class KPattern {
87
- readonly kpuzzle: KPuzzle;
88
- readonly patternData: KPatternData;
89
- constructor(kpuzzle: KPuzzle, patternData: KPatternData);
90
- toJSON(): any;
91
- static fromTransformation(transformation: KTransformation): KPattern;
92
- /** @deprecated */
93
- apply(source: KTransformationSource): KPattern;
94
- applyTransformation(transformation: KTransformation): KPattern;
95
- applyMove(move: Move | string): KPattern;
96
- applyAlg(alg: Alg | string): KPattern;
97
- isIdentical(other: KPattern): boolean;
98
- /** @deprecated */
99
- experimentalToTransformation(): KTransformation | null;
100
- experimentalIsSolved(options: {
101
- ignorePuzzleOrientation: boolean;
102
- ignoreCenterOrientation: boolean;
103
- }): boolean;
104
- }
1
+ import { M as Move, A as Alg } from './PuzzleLoader-BYI7PA7C.js';
105
2
 
106
3
  type KPatternData = Record<string, KPatternOrbitData>;
107
4
  interface KPatternOrbitData {
@@ -254,6 +151,89 @@ interface KPuzzleDefinition {
254
151
  }) => boolean;
255
152
  }
256
153
 
154
+ declare class KTransformation {
155
+ #private;
156
+ readonly kpuzzle: KPuzzle;
157
+ readonly transformationData: KTransformationData;
158
+ constructor(kpuzzle: KPuzzle, transformationData: KTransformationData);
159
+ toJSON(): any;
160
+ invert(): KTransformation;
161
+ isIdentityTransformation(): boolean;
162
+ /** @deprecated */
163
+ static experimentalConstructIdentity(kpuzzle: KPuzzle): KTransformation;
164
+ isIdentical(t2: KTransformation): boolean;
165
+ /** @deprecated */
166
+ apply(source: KTransformationSource): KTransformation;
167
+ applyTransformation(t2: KTransformation): KTransformation;
168
+ applyMove(move: Move | string): KTransformation;
169
+ applyAlg(alg: Alg | string): KTransformation;
170
+ toKPattern(): KPattern;
171
+ repetitionOrder(): number;
172
+ selfMultiply(amount: number): KTransformation;
173
+ }
174
+
175
+ interface NotationMapper {
176
+ notationToInternal(move: Move): Move | null;
177
+ notationToExternal(move: Move): Move | null;
178
+ }
179
+
180
+ declare function parseOptions(argv: string[]): {
181
+ puzzleDescription: PuzzleDescription | null;
182
+ options: PuzzleGeometryOptions;
183
+ };
184
+ type FaceName = string;
185
+ type OrientationDirection = [number, number, number];
186
+ type FaceBasedOrientationDescription = [
187
+ [
188
+ FaceName,
189
+ OrientationDirection
190
+ ],
191
+ [
192
+ FaceName,
193
+ OrientationDirection
194
+ ]
195
+ ];
196
+ type BaseFaceCount = 4 | 6 | 8 | 12 | 20;
197
+ type FaceBasedOrientationDescriptionLookup = Record<BaseFaceCount, FaceBasedOrientationDescription>;
198
+ declare class PuzzleGeometryFullOptions {
199
+ verbosity: number;
200
+ allMoves: boolean;
201
+ outerBlockMoves: boolean;
202
+ vertexMoves: boolean;
203
+ addRotations: boolean;
204
+ moveList: string[] | null;
205
+ fixedOrientation: boolean;
206
+ fixedPieceType: null | "e" | "v" | "f";
207
+ orientCenters: boolean;
208
+ includeCornerOrbits: boolean;
209
+ includeCenterOrbits: boolean;
210
+ includeEdgeOrbits: boolean;
211
+ excludeOrbits: string[];
212
+ optimizeOrbits: boolean;
213
+ grayCorners: boolean;
214
+ grayCenters: boolean;
215
+ grayEdges: boolean;
216
+ puzzleOrientation: FaceBasedOrientationDescription | null;
217
+ puzzleOrientations: FaceBasedOrientationDescriptionLookup | null;
218
+ scrambleAmount: number;
219
+ constructor(options?: PuzzleGeometryOptions);
220
+ }
221
+ type PuzzleGeometryOptions = Partial<PuzzleGeometryFullOptions>;
222
+
223
+ declare class Perm {
224
+ n: number;
225
+ p: number[];
226
+ constructor(a: number[]);
227
+ toString(): string;
228
+ mul(p2: Perm): Perm;
229
+ rmul(p2: Perm): Perm;
230
+ inv(): Perm;
231
+ compareTo(p2: Perm): number;
232
+ toGap(): string;
233
+ toMathematica(): string;
234
+ order(): number;
235
+ }
236
+
257
237
  declare class PGOrbitDef {
258
238
  size: number;
259
239
  mod: number;
@@ -547,4 +527,24 @@ declare class KPuzzle {
547
527
  canConvertDefaultPatternToUniqueTransformation(): boolean;
548
528
  }
549
529
 
530
+ declare class KPattern {
531
+ readonly kpuzzle: KPuzzle;
532
+ readonly patternData: KPatternData;
533
+ constructor(kpuzzle: KPuzzle, patternData: KPatternData);
534
+ toJSON(): any;
535
+ static fromTransformation(transformation: KTransformation): KPattern;
536
+ /** @deprecated */
537
+ apply(source: KTransformationSource): KPattern;
538
+ applyTransformation(transformation: KTransformation): KPattern;
539
+ applyMove(move: Move | string): KPattern;
540
+ applyAlg(alg: Alg | string): KPattern;
541
+ isIdentical(other: KPattern): boolean;
542
+ /** @deprecated */
543
+ experimentalToTransformation(): KTransformation | null;
544
+ experimentalIsSolved(options: {
545
+ ignorePuzzleOrientation: boolean;
546
+ ignoreCenterOrientation: boolean;
547
+ }): boolean;
548
+ }
549
+
550
550
  export { KPattern as K, Perm as P, Quat as Q, type StickerDat as S, getPuzzleGeometryByDesc as a, getPuzzleGeometryByName as b, getPG3DNamedPuzzles as c, PuzzleGeometry as d, type StickerDatAxis as e, type StickerDatFace as f, getPuzzleDescriptionString as g, type StickerDatSticker as h, parseOptions as i, type PuzzleGeometryOptions as j, PGNotation as k, type PuzzleCutDescription as l, type PuzzleDescription as m, PUZZLE_CUT_TYPES as n, type PuzzleCutType as o, parsePuzzleDescription as p, PUZZLE_BASE_SHAPES as q, type PuzzleBaseShape as r, KPuzzle as s, KTransformation as t, type PuzzleDescriptionString as u, type KPuzzleDefinition as v, type KPatternData as w, type KPatternOrbitData as x, type KTransformationData as y, type KTransformationOrbitData as z };
@@ -2321,6 +2321,7 @@ interface TwistyPlayerConfig {
2321
2321
  experimentalHintSprite?: string | null;
2322
2322
  experimentalMovePressCancelOptions?: AppendCancelOptions;
2323
2323
  }
2324
+ declare const intersectedCallback: unique symbol;
2324
2325
  /**
2325
2326
  * TwistyPlayer is the heart of `cubing.js`. It can be used to display a puzzle on a web page like this:
2326
2327
  *
@@ -2347,6 +2348,7 @@ declare class TwistyPlayer extends TwistyPlayerSettable implements TwistyAnimati
2347
2348
  experimentalCanvasClickCallback: (...args: any) => void;
2348
2349
  constructor(config?: TwistyPlayerConfig);
2349
2350
  connectedCallback(): Promise<void>;
2351
+ [intersectedCallback](): Promise<void>;
2350
2352
  /** @deprecated */
2351
2353
  experimentalSetFlashLevel(newLevel: "auto" | "none"): void;
2352
2354
  flash(): void;
@@ -1,7 +1,7 @@
1
1
  import { Texture, Object3D, Raycaster, PerspectiveCamera, Scene, WebGLRenderer } from 'three';
2
- import { P as PuzzleSpecificSimplifyOptions, b as AlgLeaf, M as Move, A as Alg, e as Pause, h as AppendCancelOptions, c as AppendOptions, a as AlgNode, I as IterationDirection } from './PuzzleLoader-BN2CTwbG.js';
3
- import { P as Parsed } from './parseAlg.d-DewXU-Sn.js';
4
- import { s as KPuzzle, d as PuzzleGeometry, K as KPattern, t as KTransformation, u as PuzzleDescriptionString } from './index-DR8lwjeP.js';
2
+ import { P as PuzzleSpecificSimplifyOptions, b as AlgLeaf, M as Move, A as Alg, e as Pause, h as AppendCancelOptions, c as AppendOptions, a as AlgNode, I as IterationDirection } from './PuzzleLoader-BYI7PA7C.js';
3
+ import { P as Parsed } from './parseAlg.d-BMkZo3Y-.js';
4
+ import { s as KPuzzle, d as PuzzleGeometry, K as KPattern, t as KTransformation, u as PuzzleDescriptionString } from './KPattern.d-B8PBnjzZ.js';
5
5
 
6
6
  type FaceletMeshStickeringMask = "regular" | "dim" | "oriented" | "experimentalOriented2" | "ignored" | "invisible" | "mystery";
7
7
  type FaceletStickeringMask = {
@@ -1114,6 +1114,7 @@ interface TwistyPlayerConfig {
1114
1114
  experimentalHintSprite?: string | null;
1115
1115
  experimentalMovePressCancelOptions?: AppendCancelOptions;
1116
1116
  }
1117
+ declare const intersectedCallback: unique symbol;
1117
1118
  /**
1118
1119
  * TwistyPlayer is the heart of `cubing.js`. It can be used to display a puzzle on a web page like this:
1119
1120
  *
@@ -1140,6 +1141,7 @@ declare class TwistyPlayer extends TwistyPlayerSettable implements TwistyAnimati
1140
1141
  experimentalCanvasClickCallback: (...args: any) => void;
1141
1142
  constructor(config?: TwistyPlayerConfig);
1142
1143
  connectedCallback(): Promise<void>;
1144
+ [intersectedCallback](): Promise<void>;
1143
1145
  /** @deprecated */
1144
1146
  experimentalSetFlashLevel(newLevel: "auto" | "none"): void;
1145
1147
  flash(): void;
@@ -1,6 +1,6 @@
1
- import { a as AlgNode, A as Alg, M as Move, c as AppendOptions, K as KeyMapping, b as AlgLeaf, G as Grouping, C as Commutator, d as Conjugate, e as Pause, N as Newline, L as LineComment } from '../PuzzleLoader-BN2CTwbG.js';
2
- export { g as AlgBranch, h as AppendCancelOptions, E as ExperimentalNotationType, i as ExperimentalSerializationOptions, f as MoveModifications, P as PuzzleSpecificSimplifyOptions, Q as QuantumMove, S as SimplifyOptions } from '../PuzzleLoader-BN2CTwbG.js';
3
- export { P as ExperimentalParsed } from '../parseAlg.d-DewXU-Sn.js';
1
+ import { a as AlgNode, A as Alg, M as Move, c as AppendOptions, K as KeyMapping, b as AlgLeaf, G as Grouping, C as Commutator, d as Conjugate, e as Pause, N as Newline, L as LineComment } from '../PuzzleLoader-BYI7PA7C.js';
2
+ export { g as AlgBranch, h as AppendCancelOptions, E as ExperimentalNotationType, i as ExperimentalSerializationOptions, f as MoveModifications, P as PuzzleSpecificSimplifyOptions, Q as QuantumMove, S as SimplifyOptions } from '../PuzzleLoader-BYI7PA7C.js';
3
+ export { P as ExperimentalParsed } from '../parseAlg.d-BMkZo3Y-.js';
4
4
  import 'three';
5
5
 
6
6
  /** @deprecated */
@@ -1,10 +1,10 @@
1
- import { K as KPattern } from '../index-DR8lwjeP.js';
2
- import { a as PuzzleID, P as PuzzleLoader } from '../TwizzleLink.d-Dl_V74VW.js';
3
- import { A as Alg, M as Move } from '../PuzzleLoader-BN2CTwbG.js';
4
- import { B as BluetoothPuzzle } from '../bluetooth-puzzle.d-9F8pLnkE.js';
5
- export { A as MoveEvent, O as OrientationEvent } from '../bluetooth-puzzle.d-9F8pLnkE.js';
1
+ import { K as KPattern } from '../KPattern.d-B8PBnjzZ.js';
2
+ import { a as PuzzleID, P as PuzzleLoader } from '../TwizzleLink.d-Bxv5QZmG.js';
3
+ import { A as Alg, M as Move } from '../PuzzleLoader-BYI7PA7C.js';
4
+ import { B as BluetoothPuzzle } from '../bluetooth-puzzle.d-SLdses2g.js';
5
+ export { A as MoveEvent, O as OrientationEvent } from '../bluetooth-puzzle.d-SLdses2g.js';
6
6
  import 'three';
7
- import '../parseAlg.d-DewXU-Sn.js';
7
+ import '../parseAlg.d-BMkZo3Y-.js';
8
8
 
9
9
  declare function enableDebugLogging(enable: boolean): void;
10
10
 
@@ -1,5 +1,5 @@
1
- import { b as AlgLeaf } from './PuzzleLoader-BN2CTwbG.js';
2
- import { K as KPattern } from './index-DR8lwjeP.js';
1
+ import { b as AlgLeaf } from './PuzzleLoader-BYI7PA7C.js';
2
+ import { K as KPattern } from './KPattern.d-B8PBnjzZ.js';
3
3
 
4
4
  interface StreamTransformer {
5
5
  transformAlgLeaf(algLeafEvent: AlgLeafEvent): void;
@@ -2,11 +2,9 @@ import {
2
2
  exposeAPI
3
3
  } from "./chunk-7GUL3OBQ.js";
4
4
  import {
5
+ getBuiltinModule,
5
6
  node_adapter_default
6
- } from "./chunk-RDSQRW3G.js";
7
- import {
8
- getBuiltinModule
9
- } from "./chunk-YLS2ZYML.js";
7
+ } from "./chunk-GOT3GVLG.js";
10
8
  import {
11
9
  Alg
12
10
  } from "./chunk-2SBMIHZV.js";
@@ -362,4 +360,4 @@ export {
362
360
  solveTwsearch,
363
361
  setSearchDebug
364
362
  };
365
- //# sourceMappingURL=chunk-Q7LVKWAU.js.map
363
+ //# sourceMappingURL=chunk-4A5X67G6.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/cubing/search/inside/solve/puzzles/clock.ts", "../../../../src/cubing/vendor/apache/comlink-everywhere/outside/index.ts", "../../../../src/cubing/search/worker-workarounds/index.ts", "../../../../src/cubing/search/instantiator.ts", "../../../../src/cubing/search/outside.ts"],
4
4
  "sourcesContent": ["import { randomUIntBelow } from \"random-uint-below\";\n\nconst backMoves = [\"U\", \"R\", \"D\", \"L\", \"ALL\"];\nconst frontMoves = [\"UR\", \"DR\", \"DL\", \"UL\"].concat(backMoves);\n\nexport function randomClockScrambleString(): string {\n let filteringMoveCount = 0;\n\n function randomSuffix() {\n const amount = randomUIntBelow(12);\n if (amount !== 0) {\n filteringMoveCount++;\n }\n if (amount <= 6) {\n return `${amount}+`;\n } else {\n return `${12 - amount}-`;\n }\n }\n\n const moves = [];\n function side(families: string[]): void {\n for (const family of families) {\n moves.push(`${family}${randomSuffix()}`);\n }\n }\n\n side(frontMoves);\n moves.push(\"y2\");\n side(backMoves);\n\n // https://www.worldcubeassociation.org/regulations/#4b3\n if (filteringMoveCount < 2) {\n return randomClockScrambleString();\n }\n\n return moves.join(\" \");\n}\n", "import { getBuiltinModule } from \"getbuiltinmodule-ponyfill\";\nimport nodeEndpoint from \"../node-adapter\";\n\nexport { wrap } from \"comlink\";\nconst useNodeWorkarounds =\n typeof globalThis.Worker === \"undefined\" &&\n typeof (globalThis as any).WorkerNavigator === \"undefined\";\n\nasync function nodeWorker(\n source: string | URL,\n options?: { eval?: boolean },\n): Promise<Worker> {\n const { Worker: NodeWorker } = await getBuiltinModule(\"node:worker_threads\");\n const worker = new NodeWorker(source, options);\n worker.unref();\n return nodeEndpoint(worker);\n}\n\nexport async function constructWorker(\n source: string | URL,\n options?: { type?: WorkerType },\n): Promise<Worker> {\n let worker: Worker;\n if (useNodeWorkarounds) {\n return nodeWorker(source);\n } else {\n worker = new globalThis.Worker(source, {\n type: options ? options.type : undefined, // TODO: Is it safe to use `options?.type`?\n });\n }\n return worker;\n}\n", "import { exposeAPI } from \"./worker-guard\";\n\nexport async function searchWorkerURLImportMetaResolve(): Promise<string> {\n // Note:\n // - We have to hardcode the expected path of the entry file in the ESM build, due to lack of `esbuild` support: https://github.com/evanw/esbuild/issues/2866\n // - This URL is based on the assumption that the code from this file ends up in a shared chunk in the `esm` build. This is not guaranteed by `esbuild`, but it consistently happens for our codebase.\n // - We inline the value (instead of using a constant), to maximize compatibility for hardcoded syntax detection in bundlers.\n // - `import.meta.resolve(\u2026)` returns a sync result in every environment except `bun`: https://loadeverything.net/#compatibility-dashboard\n // - We assume that it's `async`, just in case.\n // @ts-ignore\n return import.meta.resolve(\"./search-worker-entry.js\");\n}\n\nexport function searchWorkerURLNewURLImportMetaURL(): URL {\n // Note:\n // - We have to hardcode the expected path of the entry file in the ESM build, due to lack of `esbuild` support: https://github.com/evanw/esbuild/issues/795\n // - This URL is based on the assumption that the code from this file ends up in a shared chunk in the `esm` build. This is not guaranteed by `esbuild`, but it consistently happens for our codebase.\n // - We inline the value (instead of using a constant), to maximize compatibility for hardcoded syntax detection in bundlers.\n return new URL(\"./search-worker-entry.js\", import.meta.url);\n}\n\n// Workaround for `esbuild`: https://github.com/evanw/esbuild/issues/312#issuecomment-1092195778\nexport async function searchWorkerURLEsbuildWorkaround(): Promise<string> {\n exposeAPI.expose = false;\n return (await import(\"./search-worker-entry.js\")).WORKER_ENTRY_FILE_URL;\n}\n\nexport function instantiateSearchWorkerURLNewURLImportMetaURL(): Worker {\n return new Worker(new URL(\"./search-worker-entry.js\", import.meta.url), {\n type: \"module\",\n });\n}\n", "import {\n constructWorker,\n wrap,\n} from \"../vendor/apache/comlink-everywhere/outside\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport { searchOutsideDebugGlobals } from \"./outside\";\nimport {\n instantiateSearchWorkerURLNewURLImportMetaURL,\n searchWorkerURLEsbuildWorkaround,\n searchWorkerURLImportMetaResolve,\n searchWorkerURLNewURLImportMetaURL,\n} from \"./worker-workarounds\";\n\nexport interface WorkerOutsideAPI {\n terminate: () => void; // `node` can return a `Promise` with an exit code, but we match the web worker API.\n}\nexport interface InsideOutsideAPI {\n insideAPI: WorkerInsideAPI;\n outsideAPI: WorkerOutsideAPI;\n}\n\nfunction probablyCrossOrigin(workerEntryFileURL: URL): boolean {\n try {\n const scriptOrigin = globalThis.location?.origin;\n const workerOrigin = workerEntryFileURL.origin;\n return !!scriptOrigin && !!workerOrigin && scriptOrigin !== workerOrigin;\n } catch {\n return false;\n }\n}\n\nasync function instantiateModuleWorker(\n workerEntryFileURL: string | URL,\n): Promise<InsideOutsideAPI> {\n // We need the `import.meta.url` base for `bun`.\n const url = new URL(workerEntryFileURL, import.meta.url);\n const tryTrampolineFirst = probablyCrossOrigin(url);\n try {\n return instantiateModuleWorkerAttempt(url, tryTrampolineFirst);\n } catch {\n return instantiateModuleWorkerAttempt(url, !tryTrampolineFirst);\n }\n}\n\ninterface BunWorker extends Worker {\n unref?: () => void;\n}\n\nasync function instantiateModuleWorkerAttempt(\n workerEntryFileURL: URL,\n crossOriginTrampoline: boolean,\n): Promise<InsideOutsideAPI> {\n // biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO\n return new Promise<InsideOutsideAPI>(async (resolve, reject) => {\n try {\n if (!workerEntryFileURL) {\n reject(new Error(\"Could not get worker entry file URL.\"));\n }\n let url: URL = workerEntryFileURL;\n if (crossOriginTrampoline) {\n // Standard browser-like environment.\n const importSrc = `import ${JSON.stringify(\n workerEntryFileURL.toString(),\n )};`;\n const blob = new Blob([importSrc], {\n type: \"text/javascript\",\n });\n url = new URL(URL.createObjectURL(blob));\n }\n\n const worker = (await constructWorker(url, {\n type: \"module\",\n })) as Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n } & BunWorker;\n\n worker.unref?.(); // Unref in `bun`.\n\n const onError = (e: ErrorEvent) => {\n reject(e);\n };\n\n // TODO: Remove this once we can remove the workarounds for lack of `import.meta.resolve(\u2026)` support.\n const onFirstMessage = (messageData: string) => {\n if (messageData === \"comlink-exposed\") {\n // We need to clear the timeout so that we don't prevent `node` from exiting in the meantime.\n resolve(wrapWithTerminate(worker));\n } else {\n reject(\n new Error(`wrong module instantiation message ${messageData}`),\n );\n }\n };\n\n if (worker.nodeWorker) {\n // We have to use `once` so the `unref()` from `comlink-everywhere` allows the process to quit as expected.\n worker.nodeWorker.once(\"message\", onFirstMessage);\n } else {\n worker.addEventListener(\"error\", onError, {\n once: true,\n });\n worker.addEventListener(\"message\", (e) => onFirstMessage(e.data), {\n once: true,\n });\n }\n } catch (e) {\n reject(e);\n }\n });\n}\n\n// Maybe some day if we work really hard, this code path can work:\n// - in `node` (https://github.com/nodejs/node/issues/43583#issuecomment-1540025755)\n// - for CDNs (https://github.com/tc39/proposal-module-expressions or https://github.com/whatwg/html/issues/6911)\nexport async function instantiateModuleWorkerDirectlyForBrowser(): Promise<InsideOutsideAPI> {\n // biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO\n return new Promise<InsideOutsideAPI>(async (resolve, reject) => {\n try {\n const worker = instantiateSearchWorkerURLNewURLImportMetaURL();\n\n const onError = (e: ErrorEvent) => {\n reject(e);\n };\n\n // TODO: Remove this once we can remove the workarounds for lack of `import.meta.resolve(\u2026)` support.\n const onFirstMessage = (messageData: string) => {\n if (messageData === \"comlink-exposed\") {\n // We need to clear the timeout so that we don't prevent `node` from exiting in the meantime.\n resolve(wrapWithTerminate(worker));\n } else {\n reject(\n new Error(`wrong module instantiation message ${messageData}`),\n );\n }\n };\n\n worker.addEventListener(\"error\", onError, {\n once: true,\n });\n worker.addEventListener(\"message\", (e) => onFirstMessage(e.data), {\n once: true,\n });\n } catch (e) {\n reject(e);\n }\n });\n}\n\nfunction wrapWithTerminate(worker: Worker): InsideOutsideAPI {\n const insideAPI = wrap<WorkerInsideAPI>(worker);\n const terminate = worker.terminate.bind(worker);\n return { insideAPI, outsideAPI: { terminate } };\n}\n\nexport const allInsideOutsideAPIPromises: Promise<InsideOutsideAPI>[] = [];\n\nexport async function instantiateWorker(): Promise<InsideOutsideAPI> {\n const insideOutsideAPIPromise = instantiateWorkerImplementation();\n allInsideOutsideAPIPromises.push(insideOutsideAPIPromise);\n const { insideAPI } = await insideOutsideAPIPromise;\n insideAPI.setDebugMeasurePerf(searchOutsideDebugGlobals.logPerf);\n insideAPI.setScramblePrefetchLevel(\n searchOutsideDebugGlobals.scramblePrefetchLevel,\n );\n return insideOutsideAPIPromise;\n}\n\nexport async function mapToAllWorkers(\n f: (worker: InsideOutsideAPI) => void,\n): Promise<void> {\n await Promise.all(\n allInsideOutsideAPIPromises.map((worker) => worker.then(f)),\n );\n}\n\nasync function instantiateWorkerImplementation(): Promise<InsideOutsideAPI> {\n if (globalThis.location?.protocol === \"file:\") {\n console.warn(\n \"This current web page is loaded from the local filesystem (a URL that starts with `file://`). In this situation, `cubing.js` may be unable to generate scrambles or perform searches in some browsers. See: https://js.cubing.net/cubing/scramble/#file-server-required\",\n );\n }\n\n function failed(methodDescription?: string) {\n return `Module worker instantiation${\n methodDescription ? ` ${methodDescription}` : \"\"\n } failed`;\n }\n\n const fallbackOrder: [\n fn: () => Promise<InsideOutsideAPI>,\n description: string,\n warnOnSuccess: null | string,\n ][] = [\n [\n async () =>\n instantiateModuleWorker(await searchWorkerURLImportMetaResolve()),\n \"using `import.meta.resolve(\u2026)\",\n null,\n ],\n // TODO: This fallback should be lower (because it's less portable), but we need to try it earlier to work around https://github.com/parcel-bundler/parcel/issues/9051\n [\n instantiateModuleWorkerDirectlyForBrowser,\n \"using inline `new URL(\u2026, import.meta.url)`\",\n \"may\",\n ],\n [\n async () => instantiateModuleWorker(searchWorkerURLNewURLImportMetaURL()),\n \"using `new URL(\u2026, import.meta.url)`\",\n \"will\",\n ],\n [\n async () =>\n instantiateModuleWorker(await searchWorkerURLEsbuildWorkaround()),\n \"using the `esbuild` workaround\",\n \"will\",\n ],\n ];\n\n for (const [fn, description, warnOnSuccess] of fallbackOrder) {\n try {\n const worker = await fn();\n if (warnOnSuccess) {\n if (searchOutsideDebugGlobals.showWorkerInstantiationWarnings) {\n console.warn(\n `Module worker instantiation required ${description}. \\`cubing.js\\` ${warnOnSuccess} not support this fallback in the future.`,\n );\n }\n }\n return worker;\n } catch {\n if (searchOutsideDebugGlobals.showWorkerInstantiationWarnings) {\n console.warn(`${failed(description)}, falling back.`);\n }\n }\n }\n\n throw new Error(`${failed()}. There are no more fallbacks available.`);\n}\n", "import { Alg } from \"../alg\";\nimport type { KPuzzle } from \"../kpuzzle\";\n// import { preInitialize222 } from \"../implementations/2x2x2\";\nimport type { KPattern } from \"../kpuzzle/KPattern\";\nimport type { PrefetchLevel } from \"./inside/api\";\nimport { randomClockScrambleString } from \"./inside/solve/puzzles/clock\"; // TODO: don't reach into `inside` code.\nimport type { TwsearchOptions } from \"./inside/solve/twsearch\";\nimport {\n type InsideOutsideAPI,\n instantiateWorker,\n mapToAllWorkers,\n} from \"./instantiator\";\n\nlet cachedWorkerInstance: Promise<InsideOutsideAPI> | undefined;\nfunction getCachedWorkerInstance(): Promise<InsideOutsideAPI> {\n return (cachedWorkerInstance ??= instantiateWorker());\n}\n\n// Pre-initialize the scrambler for the given event. (Otherwise, an event is\n// initialized the first time you ask for a scramble for that event.)\n//\n// Some typical numbers for a fast computer:\n// - 3x3x3 initialization: 200ms\n// - Each 3x3x3 scramble: 50ms\n// - 4x4x4 initialization: 2500ms\n// - Each 4x4x4 scramble: 300ms to 800ms\n//\n// It is safe to immediately call for a scramble\n// any time after starting pre-initialization, or to call for them without\n// pre-initializing. Pre-initializing essentially gives the scramble worker a\n// head start in case a scramble doesn't get requested immediately.\n//\n// Note that events cannot be pre-initialized in parallel. Attempting to\n// pre-initialize multiple events will initialize them consecutively. Scrambles\n// for a given event cannot be computed while another event is being initialized.\nexport function _preInitializationHintForEvent(\n eventID: string,\n // callback?: () => void\n): void {\n switch (eventID) {\n case \"333oh\":\n _preInitializationHintForEvent(\"333\");\n return;\n }\n (async () => {\n await (await getCachedWorkerInstance()).insideAPI.initialize(eventID);\n })();\n}\n\nexport async function randomScrambleForEvent(eventID: string): Promise<Alg> {\n switch (eventID) {\n case \"clock\":\n return Alg.fromString(await randomClockScrambleString());\n }\n const prom = _randomScrambleStringForEvent(eventID);\n const wat = await prom;\n return Alg.fromString(wat);\n}\n\nexport async function _randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n if (searchOutsideDebugGlobals.forceNewWorkerForEveryScramble) {\n }\n const worker = searchOutsideDebugGlobals.forceNewWorkerForEveryScramble\n ? await instantiateWorker()\n : await getCachedWorkerInstance();\n return worker.insideAPI.randomScrambleStringForEvent(eventID);\n}\n\nexport async function randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n switch (eventID) {\n case \"clock\":\n return randomClockScrambleString();\n }\n return await _randomScrambleStringForEvent(eventID);\n}\n\nexport async function experimentalSolve3x3x3IgnoringCenters(\n pattern: KPattern,\n): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solve333ToString(pattern.patternData),\n );\n}\n\nexport async function experimentalSolve2x2x2(pattern: KPattern): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solve222ToString(pattern.patternData),\n );\n}\n\nexport async function solveSkewb(pattern: KPattern): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solveSkewbToString(pattern.patternData),\n );\n}\n\nexport async function solvePyraminx(pattern: KPattern): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solvePyraminxToString(pattern.patternData),\n );\n}\n\nexport async function solveMegaminx(pattern: KPattern): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(\n await cwi.insideAPI.solveMegaminxToString(pattern.patternData),\n );\n}\n\nexport interface SolveTwsearchOptions {\n generatorMoves?: string[];\n targetPattern?: KPattern;\n minDepth?: number;\n maxDepth?: number;\n}\n\nexport async function solveTwsearch(\n kpuzzle: KPuzzle,\n pattern: KPattern,\n options?: SolveTwsearchOptions,\n): Promise<Alg> {\n const { targetPattern, ...otherOptions } = options ?? {};\n const apiOptions: TwsearchOptions = otherOptions;\n if (targetPattern) {\n apiOptions.targetPattern = targetPattern.patternData;\n }\n const { ...def } = kpuzzle.definition;\n delete def.experimentalIsPatternSolved;\n // delete def.derivedMoves;\n const dedicatedWorker = await instantiateWorker();\n try {\n return Alg.fromString(\n await dedicatedWorker.insideAPI.solveTwsearchToString(\n def,\n pattern.patternData,\n apiOptions,\n ),\n );\n } finally {\n console.log(\"Search ended, terminating dedicated `twsearch` worker.\");\n // TODO: support re-using the same worker for multiple searches..\n await dedicatedWorker.outsideAPI.terminate();\n }\n}\n\ninterface SearchOutsideDebugGlobals {\n logPerf: boolean;\n scramblePrefetchLevel: `${PrefetchLevel}`;\n disableStringWorker: boolean;\n forceNewWorkerForEveryScramble: boolean;\n showWorkerInstantiationWarnings: boolean;\n}\nexport const searchOutsideDebugGlobals: SearchOutsideDebugGlobals = {\n logPerf: true,\n scramblePrefetchLevel: \"auto\",\n disableStringWorker: false,\n forceNewWorkerForEveryScramble: false,\n showWorkerInstantiationWarnings: true,\n};\n\nexport function setSearchDebug(\n options: Partial<SearchOutsideDebugGlobals>,\n): void {\n const { logPerf, scramblePrefetchLevel } = options;\n if (typeof logPerf !== \"undefined\") {\n searchOutsideDebugGlobals.logPerf = logPerf;\n mapToAllWorkers((worker) => worker.insideAPI.setDebugMeasurePerf(logPerf));\n }\n if (typeof scramblePrefetchLevel !== \"undefined\") {\n searchOutsideDebugGlobals.scramblePrefetchLevel = scramblePrefetchLevel;\n mapToAllWorkers((worker) =>\n worker.insideAPI.setScramblePrefetchLevel(\n scramblePrefetchLevel as PrefetchLevel,\n ),\n );\n }\n if (\"disableStringWorker\" in options) {\n searchOutsideDebugGlobals.disableStringWorker =\n !!options.disableStringWorker;\n }\n if (\"forceNewWorkerForEveryScramble\" in options) {\n searchOutsideDebugGlobals.forceNewWorkerForEveryScramble =\n !!options.forceNewWorkerForEveryScramble;\n }\n if (\"showWorkerInstantiationWarnings\" in options) {\n searchOutsideDebugGlobals.showWorkerInstantiationWarnings =\n !!options.showWorkerInstantiationWarnings;\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;AAAA,SAAS,uBAAuB;AAEhC,IAAM,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK;AAC5C,IAAM,aAAa,CAAC,MAAM,MAAM,MAAM,IAAI,EAAE,OAAO,SAAS;AAErD,SAAS,4BAAoC;AAClD,MAAI,qBAAqB;AAEzB,WAAS,eAAe;AACtB,UAAM,SAAS,gBAAgB,EAAE;AACjC,QAAI,WAAW,GAAG;AAChB;AAAA,IACF;AACA,QAAI,UAAU,GAAG;AACf,aAAO,GAAG,MAAM;AAAA,IAClB,OAAO;AACL,aAAO,GAAG,KAAK,MAAM;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,QAAQ,CAAC;AACf,WAAS,KAAK,UAA0B;AACtC,eAAW,UAAU,UAAU;AAC7B,YAAM,KAAK,GAAG,MAAM,GAAG,aAAa,CAAC,EAAE;AAAA,IACzC;AAAA,EACF;AAEA,OAAK,UAAU;AACf,QAAM,KAAK,IAAI;AACf,OAAK,SAAS;AAGd,MAAI,qBAAqB,GAAG;AAC1B,WAAO,0BAA0B;AAAA,EACnC;AAEA,SAAO,MAAM,KAAK,GAAG;AACvB;;;AClCA,SAAS,YAAY;AACrB,IAAM,qBACJ,OAAO,WAAW,WAAW,eAC7B,OAAQ,WAAmB,oBAAoB;AAEjD,eAAe,WACb,QACA,SACiB;AACjB,QAAM,EAAE,QAAQ,WAAW,IAAI,MAAM,iBAAiB,qBAAqB;AAC3E,QAAM,SAAS,IAAI,WAAW,QAAQ,OAAO;AAC7C,SAAO,MAAM;AACb,SAAO,qBAAa,MAAM;AAC5B;AAEA,eAAsB,gBACpB,QACA,SACiB;AACjB,MAAI;AACJ,MAAI,oBAAoB;AACtB,WAAO,WAAW,MAAM;AAAA,EAC1B,OAAO;AACL,aAAS,IAAI,WAAW,OAAO,QAAQ;AAAA,MACrC,MAAM,UAAU,QAAQ,OAAO;AAAA;AAAA,IACjC,CAAC;AAAA,EACH;AACA,SAAO;AACT;;;AC7BA,eAAsB,mCAAoD;AAQxE,SAAO,YAAY,QAAQ,0BAA0B;AACvD;AAEO,SAAS,qCAA0C;AAKxD,SAAO,IAAI,IAAI,4BAA4B,YAAY,GAAG;AAC5D;AAGA,eAAsB,mCAAoD;AACxE,YAAU,SAAS;AACnB,UAAQ,MAAM,OAAO,0BAA0B,GAAG;AACpD;AAEO,SAAS,gDAAwD;AACtE,SAAO,IAAI,OAAO,IAAI,IAAI,4BAA4B,YAAY,GAAG,GAAG;AAAA,IACtE,MAAM;AAAA,EACR,CAAC;AACH;;;ACVA,SAAS,oBAAoB,oBAAkC;AAC7D,MAAI;AACF,UAAM,eAAe,WAAW,UAAU;AAC1C,UAAM,eAAe,mBAAmB;AACxC,WAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,iBAAiB;AAAA,EAC9D,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,eAAe,wBACb,oBAC2B;AAE3B,QAAM,MAAM,IAAI,IAAI,oBAAoB,YAAY,GAAG;AACvD,QAAM,qBAAqB,oBAAoB,GAAG;AAClD,MAAI;AACF,WAAO,+BAA+B,KAAK,kBAAkB;AAAA,EAC/D,QAAQ;AACN,WAAO,+BAA+B,KAAK,CAAC,kBAAkB;AAAA,EAChE;AACF;AAMA,eAAe,+BACb,oBACA,uBAC2B;AAE3B,SAAO,IAAI,QAA0B,OAAO,SAAS,WAAW;AAC9D,QAAI;AACF,UAAI,CAAC,oBAAoB;AACvB,eAAO,IAAI,MAAM,sCAAsC,CAAC;AAAA,MAC1D;AACA,UAAI,MAAW;AACf,UAAI,uBAAuB;AAEzB,cAAM,YAAY,UAAU,KAAK;AAAA,UAC/B,mBAAmB,SAAS;AAAA,QAC9B,CAAC;AACD,cAAM,OAAO,IAAI,KAAK,CAAC,SAAS,GAAG;AAAA,UACjC,MAAM;AAAA,QACR,CAAC;AACD,cAAM,IAAI,IAAI,IAAI,gBAAgB,IAAI,CAAC;AAAA,MACzC;AAEA,YAAM,SAAU,MAAM,gBAAgB,KAAK;AAAA,QACzC,MAAM;AAAA,MACR,CAAC;AAID,aAAO,QAAQ;AAEf,YAAM,UAAU,CAAC,MAAkB;AACjC,eAAO,CAAC;AAAA,MACV;AAGA,YAAM,iBAAiB,CAAC,gBAAwB;AAC9C,YAAI,gBAAgB,mBAAmB;AAErC,kBAAQ,kBAAkB,MAAM,CAAC;AAAA,QACnC,OAAO;AACL;AAAA,YACE,IAAI,MAAM,sCAAsC,WAAW,EAAE;AAAA,UAC/D;AAAA,QACF;AAAA,MACF;AAEA,UAAI,OAAO,YAAY;AAErB,eAAO,WAAW,KAAK,WAAW,cAAc;AAAA,MAClD,OAAO;AACL,eAAO,iBAAiB,SAAS,SAAS;AAAA,UACxC,MAAM;AAAA,QACR,CAAC;AACD,eAAO,iBAAiB,WAAW,CAAC,MAAM,eAAe,EAAE,IAAI,GAAG;AAAA,UAChE,MAAM;AAAA,QACR,CAAC;AAAA,MACH;AAAA,IACF,SAAS,GAAG;AACV,aAAO,CAAC;AAAA,IACV;AAAA,EACF,CAAC;AACH;AAKA,eAAsB,4CAAuE;AAE3F,SAAO,IAAI,QAA0B,OAAO,SAAS,WAAW;AAC9D,QAAI;AACF,YAAM,SAAS,8CAA8C;AAE7D,YAAM,UAAU,CAAC,MAAkB;AACjC,eAAO,CAAC;AAAA,MACV;AAGA,YAAM,iBAAiB,CAAC,gBAAwB;AAC9C,YAAI,gBAAgB,mBAAmB;AAErC,kBAAQ,kBAAkB,MAAM,CAAC;AAAA,QACnC,OAAO;AACL;AAAA,YACE,IAAI,MAAM,sCAAsC,WAAW,EAAE;AAAA,UAC/D;AAAA,QACF;AAAA,MACF;AAEA,aAAO,iBAAiB,SAAS,SAAS;AAAA,QACxC,MAAM;AAAA,MACR,CAAC;AACD,aAAO,iBAAiB,WAAW,CAAC,MAAM,eAAe,EAAE,IAAI,GAAG;AAAA,QAChE,MAAM;AAAA,MACR,CAAC;AAAA,IACH,SAAS,GAAG;AACV,aAAO,CAAC;AAAA,IACV;AAAA,EACF,CAAC;AACH;AAEA,SAAS,kBAAkB,QAAkC;AAC3D,QAAM,YAAY,KAAsB,MAAM;AAC9C,QAAM,YAAY,OAAO,UAAU,KAAK,MAAM;AAC9C,SAAO,EAAE,WAAW,YAAY,EAAE,UAAU,EAAE;AAChD;AAEO,IAAM,8BAA2D,CAAC;AAEzE,eAAsB,oBAA+C;AACnE,QAAM,0BAA0B,gCAAgC;AAChE,8BAA4B,KAAK,uBAAuB;AACxD,QAAM,EAAE,UAAU,IAAI,MAAM;AAC5B,YAAU,oBAAoB,0BAA0B,OAAO;AAC/D,YAAU;AAAA,IACR,0BAA0B;AAAA,EAC5B;AACA,SAAO;AACT;AAEA,eAAsB,gBACpB,GACe;AACf,QAAM,QAAQ;AAAA,IACZ,4BAA4B,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,EAC5D;AACF;AAEA,eAAe,kCAA6D;AAC1E,MAAI,WAAW,UAAU,aAAa,SAAS;AAC7C,YAAQ;AAAA,MACN;AAAA,IACF;AAAA,EACF;AAEA,WAAS,OAAO,mBAA4B;AAC1C,WAAO,8BACL,oBAAoB,IAAI,iBAAiB,KAAK,EAChD;AAAA,EACF;AAEA,QAAM,gBAIA;AAAA,IACJ;AAAA,MACE,YACE,wBAAwB,MAAM,iCAAiC,CAAC;AAAA,MAClE;AAAA,MACA;AAAA,IACF;AAAA;AAAA,IAEA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE,YAAY,wBAAwB,mCAAmC,CAAC;AAAA,MACxE;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE,YACE,wBAAwB,MAAM,iCAAiC,CAAC;AAAA,MAClE;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,aAAW,CAAC,IAAI,aAAa,aAAa,KAAK,eAAe;AAC5D,QAAI;AACF,YAAM,SAAS,MAAM,GAAG;AACxB,UAAI,eAAe;AACjB,YAAI,0BAA0B,iCAAiC;AAC7D,kBAAQ;AAAA,YACN,wCAAwC,WAAW,mBAAmB,aAAa;AAAA,UACrF;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT,QAAQ;AACN,UAAI,0BAA0B,iCAAiC;AAC7D,gBAAQ,KAAK,GAAG,OAAO,WAAW,CAAC,iBAAiB;AAAA,MACtD;AAAA,IACF;AAAA,EACF;AAEA,QAAM,IAAI,MAAM,GAAG,OAAO,CAAC,0CAA0C;AACvE;;;AChOA,IAAI;AACJ,SAAS,0BAAqD;AAC5D,SAAQ,yBAAyB,kBAAkB;AACrD;AAiCA,eAAsB,uBAAuB,SAA+B;AAC1E,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,IAAI,WAAW,MAAM,0BAA0B,CAAC;AAAA,EAC3D;AACA,QAAM,OAAO,8BAA8B,OAAO;AAClD,QAAM,MAAM,MAAM;AAClB,SAAO,IAAI,WAAW,GAAG;AAC3B;AAEA,eAAsB,8BACpB,SACiB;AACjB,MAAI,0BAA0B,gCAAgC;AAAA,EAC9D;AACA,QAAM,SAAS,0BAA0B,iCACrC,MAAM,kBAAkB,IACxB,MAAM,wBAAwB;AAClC,SAAO,OAAO,UAAU,6BAA6B,OAAO;AAC9D;AAYA,eAAsB,sCACpB,SACc;AACd,QAAM,MAAM,MAAM,wBAAwB;AAC1C,SAAO,IAAI;AAAA,IACT,MAAM,IAAI,UAAU,iBAAiB,QAAQ,WAAW;AAAA,EAC1D;AACF;AAEA,eAAsB,uBAAuB,SAAiC;AAC5E,QAAM,MAAM,MAAM,wBAAwB;AAC1C,SAAO,IAAI;AAAA,IACT,MAAM,IAAI,UAAU,iBAAiB,QAAQ,WAAW;AAAA,EAC1D;AACF;AAEA,eAAsB,WAAW,SAAiC;AAChE,QAAM,MAAM,MAAM,wBAAwB;AAC1C,SAAO,IAAI;AAAA,IACT,MAAM,IAAI,UAAU,mBAAmB,QAAQ,WAAW;AAAA,EAC5D;AACF;AAEA,eAAsB,cAAc,SAAiC;AACnE,QAAM,MAAM,MAAM,wBAAwB;AAC1C,SAAO,IAAI;AAAA,IACT,MAAM,IAAI,UAAU,sBAAsB,QAAQ,WAAW;AAAA,EAC/D;AACF;AAEA,eAAsB,cAAc,SAAiC;AACnE,QAAM,MAAM,MAAM,wBAAwB;AAC1C,SAAO,IAAI;AAAA,IACT,MAAM,IAAI,UAAU,sBAAsB,QAAQ,WAAW;AAAA,EAC/D;AACF;AASA,eAAsB,cACpB,SACA,SACA,SACc;AACd,QAAM,EAAE,eAAe,GAAG,aAAa,IAAI,WAAW,CAAC;AACvD,QAAM,aAA8B;AACpC,MAAI,eAAe;AACjB,eAAW,gBAAgB,cAAc;AAAA,EAC3C;AACA,QAAM,EAAE,GAAG,IAAI,IAAI,QAAQ;AAC3B,SAAO,IAAI;AAEX,QAAM,kBAAkB,MAAM,kBAAkB;AAChD,MAAI;AACF,WAAO,IAAI;AAAA,MACT,MAAM,gBAAgB,UAAU;AAAA,QAC9B;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF,UAAE;AACA,YAAQ,IAAI,wDAAwD;AAEpE,UAAM,gBAAgB,WAAW,UAAU;AAAA,EAC7C;AACF;AASO,IAAM,4BAAuD;AAAA,EAClE,SAAS;AAAA,EACT,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,gCAAgC;AAAA,EAChC,iCAAiC;AACnC;AAEO,SAAS,eACd,SACM;AACN,QAAM,EAAE,SAAS,sBAAsB,IAAI;AAC3C,MAAI,OAAO,YAAY,aAAa;AAClC,8BAA0B,UAAU;AACpC,oBAAgB,CAAC,WAAW,OAAO,UAAU,oBAAoB,OAAO,CAAC;AAAA,EAC3E;AACA,MAAI,OAAO,0BAA0B,aAAa;AAChD,8BAA0B,wBAAwB;AAClD;AAAA,MAAgB,CAAC,WACf,OAAO,UAAU;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,MAAI,yBAAyB,SAAS;AACpC,8BAA0B,sBACxB,CAAC,CAAC,QAAQ;AAAA,EACd;AACA,MAAI,oCAAoC,SAAS;AAC/C,8BAA0B,iCACxB,CAAC,CAAC,QAAQ;AAAA,EACd;AACA,MAAI,qCAAqC,SAAS;AAChD,8BAA0B,kCACxB,CAAC,CAAC,QAAQ;AAAA,EACd;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,12 @@
1
+ // node_modules/getbuiltinmodule-ponyfill/index.js
2
+ async function getBuiltinModule(moduleSpecifier) {
3
+ const getBuiltinModule2 = globalThis.process?.getBuiltinModule;
4
+ if (!getBuiltinModule2) {
5
+ return import(moduleSpecifier);
6
+ }
7
+ return getBuiltinModule2(moduleSpecifier);
8
+ }
9
+
1
10
  // src/cubing/vendor/apache/comlink-everywhere/node-adapter.ts
2
11
  function nodeEndpoint(nep) {
3
12
  const listeners = /* @__PURE__ */ new WeakMap();
@@ -32,6 +41,7 @@ function nodeEndpoint(nep) {
32
41
  var node_adapter_default = nodeEndpoint;
33
42
 
34
43
  export {
44
+ getBuiltinModule,
35
45
  node_adapter_default
36
46
  };
37
- //# sourceMappingURL=chunk-RDSQRW3G.js.map
47
+ //# sourceMappingURL=chunk-GOT3GVLG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../node_modules/getbuiltinmodule-ponyfill/index.js", "../../../../src/cubing/vendor/apache/comlink-everywhere/node-adapter.ts"],
4
+ "sourcesContent": ["export async function getBuiltinModule(moduleSpecifier) {\n\tconst getBuiltinModule = globalThis.process?.getBuiltinModule;\n\tif (!getBuiltinModule) {\n\t\treturn import(moduleSpecifier);\n\t}\n\treturn getBuiltinModule(moduleSpecifier);\n}\n", "import type { Worker as NodeWorker } from \"node:worker_threads\";\n\n/**\n * Copyright 2019 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ntype EventHandler = EventListenerObject | ((event: any) => void);\n\nfunction nodeEndpoint(nep: NodeWorker): Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n} {\n const listeners = new WeakMap();\n return {\n postMessage: nep.postMessage.bind(nep),\n addEventListener: (_: string, eh: EventHandler) => {\n const l = (data: Event) => {\n if (\"handleEvent\" in eh) {\n eh.handleEvent({ data } as any);\n } else {\n eh({ data });\n }\n };\n nep.on(\"message\", l);\n listeners.set(eh, l);\n },\n removeEventListener: (_: string, eh: EventHandler) => {\n const l = listeners.get(eh);\n if (!l) {\n return;\n }\n nep.off(\"message\", l);\n listeners.delete(eh);\n },\n nodeWorker: nep,\n terminate: () => {\n nep.terminate();\n },\n // start: nep.start && nep.start.bind(nep),\n } as Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n };\n}\n\nexport default nodeEndpoint;\n//# sourceMappingURL=node-adapter.mjs.map\n"],
5
+ "mappings": ";AAAA,eAAsB,iBAAiB,iBAAiB;AACvD,QAAMA,oBAAmB,WAAW,SAAS;AAC7C,MAAI,CAACA,mBAAkB;AACtB,WAAO,OAAO;AAAA,EACf;AACA,SAAOA,kBAAiB,eAAe;AACxC;;;ACWA,SAAS,aAAa,KAEpB;AACA,QAAM,YAAY,oBAAI,QAAQ;AAC9B,SAAO;AAAA,IACL,aAAa,IAAI,YAAY,KAAK,GAAG;AAAA,IACrC,kBAAkB,CAAC,GAAW,OAAqB;AACjD,YAAM,IAAI,CAAC,SAAgB;AACzB,YAAI,iBAAiB,IAAI;AACvB,aAAG,YAAY,EAAE,KAAK,CAAQ;AAAA,QAChC,OAAO;AACL,aAAG,EAAE,KAAK,CAAC;AAAA,QACb;AAAA,MACF;AACA,UAAI,GAAG,WAAW,CAAC;AACnB,gBAAU,IAAI,IAAI,CAAC;AAAA,IACrB;AAAA,IACA,qBAAqB,CAAC,GAAW,OAAqB;AACpD,YAAM,IAAI,UAAU,IAAI,EAAE;AAC1B,UAAI,CAAC,GAAG;AACN;AAAA,MACF;AACA,UAAI,IAAI,WAAW,CAAC;AACpB,gBAAU,OAAO,EAAE;AAAA,IACrB;AAAA,IACA,YAAY;AAAA,IACZ,WAAW,MAAM;AACf,UAAI,UAAU;AAAA,IAChB;AAAA;AAAA,EAEF;AAGF;AAEA,IAAO,uBAAQ;",
6
+ "names": ["getBuiltinModule"]
7
+ }
@@ -1,9 +1,7 @@
1
1
  import {
2
+ getBuiltinModule,
2
3
  node_adapter_default
3
- } from "./chunk-RDSQRW3G.js";
4
- import {
5
- getBuiltinModule
6
- } from "./chunk-YLS2ZYML.js";
4
+ } from "./chunk-GOT3GVLG.js";
7
5
 
8
6
  // src/cubing/vendor/apache/comlink-everywhere/inside/index.ts
9
7
  import { expose as comlinkExpose } from "comlink";
@@ -28,4 +26,4 @@ export {
28
26
  nodeEndpointPort,
29
27
  expose
30
28
  };
31
- //# sourceMappingURL=chunk-VXVRV477.js.map
29
+ //# sourceMappingURL=chunk-YUHH4EXE.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/cubing/vendor/apache/comlink-everywhere/inside/index.ts"],
4
4
  "sourcesContent": ["import { expose as comlinkExpose } from \"comlink\";\nimport { getBuiltinModule } from \"getbuiltinmodule-ponyfill\";\nimport nodeEndpoint from \"../node-adapter\";\n\nconst useNodeWorkarounds =\n typeof globalThis.Worker === \"undefined\" &&\n typeof (globalThis as any).WorkerNavigator === \"undefined\";\n\nexport async function nodeEndpointPort(): Promise<\n Worker & {\n nodeWorker?: import(\"node:worker_threads\").Worker;\n }\n> {\n const { parentPort } = await getBuiltinModule(\"node:worker_threads\");\n return nodeEndpoint(\n parentPort as unknown as import(\"node:worker_threads\").Worker,\n );\n}\n\nexport function expose(api: any) {\n if (useNodeWorkarounds) {\n (async () => {\n comlinkExpose(api, await nodeEndpointPort());\n })();\n } else {\n comlinkExpose(api);\n }\n}\n"],
5
- "mappings": ";;;;;;;;AAAA,SAAS,UAAU,qBAAqB;AAIxC,IAAM,qBACJ,OAAO,WAAW,WAAW,eAC7B,OAAQ,WAAmB,oBAAoB;AAEjD,eAAsB,mBAIpB;AACA,QAAM,EAAE,WAAW,IAAI,MAAM,iBAAiB,qBAAqB;AACnE,SAAO;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,OAAO,KAAU;AAC/B,MAAI,oBAAoB;AACtB,KAAC,YAAY;AACX,oBAAc,KAAK,MAAM,iBAAiB,CAAC;AAAA,IAC7C,GAAG;AAAA,EACL,OAAO;AACL,kBAAc,GAAG;AAAA,EACnB;AACF;",
5
+ "mappings": ";;;;;;AAAA,SAAS,UAAU,qBAAqB;AAIxC,IAAM,qBACJ,OAAO,WAAW,WAAW,eAC7B,OAAQ,WAAmB,oBAAoB;AAEjD,eAAsB,mBAIpB;AACA,QAAM,EAAE,WAAW,IAAI,MAAM,iBAAiB,qBAAqB;AACnE,SAAO;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,OAAO,KAAU;AAC/B,MAAI,oBAAoB;AACtB,KAAC,YAAY;AACX,oBAAc,KAAK,MAAM,iBAAiB,CAAC;AAAA,IAC7C,GAAG;AAAA,EACL,OAAO;AACL,kBAAc,GAAG;AAAA,EACnB;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  expose
3
- } from "./chunk-VXVRV477.js";
3
+ } from "./chunk-YUHH4EXE.js";
4
4
  import {
5
5
  countMoves
6
6
  } from "./chunk-IPUTXJEJ.js";
@@ -13,8 +13,7 @@ import {
13
13
  setIsInsideWorker,
14
14
  solve333
15
15
  } from "./chunk-MNGQLIZL.js";
16
- import "./chunk-RDSQRW3G.js";
17
- import "./chunk-YLS2ZYML.js";
16
+ import "./chunk-GOT3GVLG.js";
18
17
  import {
19
18
  cube2x2x2,
20
19
  puzzles
@@ -165,7 +164,7 @@ var TrembleSolver = class {
165
164
  };
166
165
 
167
166
  // src/cubing/search/inside/solve/twsearch.ts
168
- var twsearchPromise = from(async () => import("./twsearch-P7UCZ2FN.js"));
167
+ var twsearchPromise = from(async () => import("./twsearch-P5MOXX3O.js"));
169
168
  async function wasmTwsearch(def, pattern, options) {
170
169
  const { wasmTwsearch: wasmTwsearch2 } = await twsearchPromise;
171
170
  return wasmTwsearch2(def, pattern, options);
@@ -201,7 +200,7 @@ async function solve222(pattern) {
201
200
  }
202
201
 
203
202
  // src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts
204
- var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-MCEJ4TLC.js"));
203
+ var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-W5GCSX3J.js"));
205
204
 
206
205
  // src/cubing/search/inside/solve/puzzles/4x4x4.ts
207
206
  var randomSuffixes = [
@@ -569,4 +568,4 @@ var insideAPI = {
569
568
 
570
569
  // src/cubing/search/inside/index.ts
571
570
  expose(insideAPI);
572
- //# sourceMappingURL=inside-QH4KBULV.js.map
571
+ //# sourceMappingURL=inside-FE3UMYVY.js.map