cubing 0.24.7 → 0.25.3

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 (118) hide show
  1. package/README.md +14 -5
  2. package/dist/esm/{2x2x2.sgs.json-KBCXHIZP.js → 2x2x2.sgs.json-MMXKAIKZ.js} +2 -2
  3. package/dist/esm/{2x2x2.sgs.json-KBCXHIZP.js.map → 2x2x2.sgs.json-MMXKAIKZ.js.map} +0 -0
  4. package/dist/esm/{3d-dynamic-inside-IIG5EJZP.js → 3d-dynamic-N4H7XJWX.js} +28 -26
  5. package/dist/esm/3d-dynamic-N4H7XJWX.js.map +7 -0
  6. package/dist/esm/{gwt-B7CBESZR.js → 3x3x3-min2phase-FPRJ5PCJ.js} +2 -2
  7. package/dist/esm/{gwt-B7CBESZR.js.map → 3x3x3-min2phase-FPRJ5PCJ.js.map} +1 -1
  8. package/dist/esm/{scramble_444-ZFKBLRUE.js → 444-solver-PV2GUWP2.js} +5 -5
  9. package/dist/esm/{scramble_444-ZFKBLRUE.js.map → 444-solver-PV2GUWP2.js.map} +1 -1
  10. package/dist/esm/bluetooth/index.js +1 -1
  11. package/dist/esm/{chunk-DMCRTYR4.js → chunk-5GJ5C7NZ.js} +31 -23
  12. package/dist/esm/chunk-5GJ5C7NZ.js.map +7 -0
  13. package/dist/esm/chunk-BEXHMXCT.js +9 -0
  14. package/dist/esm/chunk-BEXHMXCT.js.map +7 -0
  15. package/dist/esm/{chunk-KRL5KQQK.js → chunk-F5WNHV7V.js} +2 -2
  16. package/dist/esm/{chunk-KRL5KQQK.js.map → chunk-F5WNHV7V.js.map} +2 -2
  17. package/dist/esm/chunk-IVQ4ITE2.js +33 -0
  18. package/dist/esm/chunk-IVQ4ITE2.js.map +7 -0
  19. package/dist/esm/{chunk-T5KQKRR3.js → chunk-KJZNEDOV.js} +2 -2
  20. package/dist/esm/{chunk-T5KQKRR3.js.map → chunk-KJZNEDOV.js.map} +0 -0
  21. package/dist/esm/{chunk-MVJPIWT7.js → chunk-LMZIKLXW.js} +84 -29
  22. package/dist/esm/chunk-LMZIKLXW.js.map +7 -0
  23. package/dist/esm/{chunk-UOI5KUW4.js → chunk-NGA3FW7U.js} +4 -4
  24. package/dist/esm/{chunk-UOI5KUW4.js.map → chunk-NGA3FW7U.js.map} +2 -2
  25. package/dist/esm/{chunk-OOIEAACO.js → chunk-OH2FLVZM.js} +7 -2
  26. package/dist/esm/{chunk-OOIEAACO.js.map → chunk-OH2FLVZM.js.map} +2 -2
  27. package/dist/esm/{chunk-QMZKTP7F.js → chunk-QEDC2QTN.js} +2 -2
  28. package/dist/esm/{chunk-QMZKTP7F.js.map → chunk-QEDC2QTN.js.map} +0 -0
  29. package/dist/esm/{chunk-37EHU3GZ.js → chunk-RENZB7QN.js} +4 -2
  30. package/dist/esm/chunk-RENZB7QN.js.map +7 -0
  31. package/dist/esm/{chunk-V7BTHDW3.js → chunk-UNROETIO.js} +2 -2
  32. package/dist/esm/{chunk-V7BTHDW3.js.map → chunk-UNROETIO.js.map} +0 -0
  33. package/dist/esm/chunk-WDJDRVZZ.js +28 -0
  34. package/dist/esm/chunk-WDJDRVZZ.js.map +7 -0
  35. package/dist/esm/fto-solver-HI6NIV74.js +1537 -0
  36. package/dist/esm/fto-solver-HI6NIV74.js.map +7 -0
  37. package/dist/esm/{fto.sgs.json-USV4WNQJ.js → fto.dynamic-UHH65HEC.js} +8 -3
  38. package/dist/esm/fto.dynamic-UHH65HEC.js.map +7 -0
  39. package/dist/esm/kilominx.kpuzzle.svg-7XJBOKFU.js +83 -0
  40. package/dist/esm/kilominx.kpuzzle.svg-7XJBOKFU.js.map +7 -0
  41. package/dist/esm/master_tetraminx-solver-KBQJGW4A.js +729 -0
  42. package/dist/esm/master_tetraminx-solver-KBQJGW4A.js.map +7 -0
  43. package/dist/esm/{megaminx.sgs.json-KKR4VPHV.js → megaminx.sgs.json-3ZEDZMWF.js} +3 -3
  44. package/dist/esm/{megaminx.sgs.json-KKR4VPHV.js.map → megaminx.sgs.json-3ZEDZMWF.js.map} +0 -0
  45. package/dist/esm/puzzle-geometry/index.js +1 -1
  46. package/dist/esm/puzzles/index.js +3 -1
  47. package/dist/esm/{pyraminx.sgs.json-HMKDN3ZT.js → pyraminx.sgs.json-5IA2F65U.js} +3 -3
  48. package/dist/esm/{pyraminx.sgs.json-HMKDN3ZT.js.map → pyraminx.sgs.json-5IA2F65U.js.map} +0 -0
  49. package/dist/esm/scramble/index.js +6 -4
  50. package/dist/esm/search/index.js +6 -4
  51. package/dist/esm/{entry-FHL2XSAP.js → search-worker-js-entry-AXEFSQVG.js} +49 -66
  52. package/dist/esm/search-worker-js-entry-AXEFSQVG.js.map +7 -0
  53. package/dist/esm/search-worker-ts-entry-OOL7WATY.js +22 -0
  54. package/dist/esm/search-worker-ts-entry-OOL7WATY.js.map +7 -0
  55. package/dist/esm/{skewb.sgs.json-MWONK6HT.js → skewb.sgs.json-6NDFH63U.js} +3 -3
  56. package/dist/esm/{skewb.sgs.json-MWONK6HT.js.map → skewb.sgs.json-6NDFH63U.js.map} +0 -0
  57. package/dist/esm/{scramble_sq1-PQ2AYBFW.js → sq1-solver-P3IWWET7.js} +3 -3
  58. package/dist/esm/{scramble_sq1-PQ2AYBFW.js.map → sq1-solver-P3IWWET7.js.map} +1 -1
  59. package/dist/esm/twisty/index.js +55 -12
  60. package/dist/esm/twisty/index.js.map +3 -3
  61. package/dist/esm/worker-inside-generated-string-CSXWVF2Y.js +3522 -0
  62. package/dist/esm/worker-inside-generated-string-CSXWVF2Y.js.map +7 -0
  63. package/dist/types/puzzles/async/async-pg3d.d.ts +2 -0
  64. package/dist/types/puzzles/events.d.ts +8 -0
  65. package/dist/types/puzzles/implementations/kilominx/index.d.ts +2 -0
  66. package/dist/types/puzzles/implementations/kilominx/kilominx.kpuzzle.svg.d.ts +1 -0
  67. package/dist/types/puzzles/index.d.ts +6 -11
  68. package/dist/types/{esm-test-worker.d.ts → search/inside/search-worker-js-entry.d.ts} +0 -0
  69. package/dist/types/search/inside/{module-entry-path-getter.d.ts → search-worker-ts-entry-path-getter.d.ts} +0 -0
  70. package/dist/types/search/inside/{module-entry.d.ts → search-worker-ts-entry.d.ts} +0 -0
  71. package/dist/types/search/inside/solve/puzzles/fto.d.ts +1 -1
  72. package/dist/types/search/inside/solve/puzzles/{fto.sgs.json.d.ts → fto.dynamic.d.ts} +1 -0
  73. package/dist/types/search/inside/solve/puzzles/master_tetraminx.d.ts +2 -0
  74. package/dist/types/search/inside/worker-guard.d.ts +3 -0
  75. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  76. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -1
  77. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d-dynamic-inside.d.ts → 3d-dynamic.d.ts} +0 -0
  78. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +4 -0
  79. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +1 -2
  80. package/dist/types/twisty/model/props/general/ArbitraryStringProp.d.ts +4 -0
  81. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +1 -0
  82. package/dist/types/twisty/views/TwistyPlayer.d.ts +6 -0
  83. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +6 -0
  84. package/dist/types/twisty/views/twizzle/TwizzleLink.d.ts +1 -1
  85. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts +4 -1
  86. package/dist/types/vendor/comlink-everywhere/node-adapter.d.ts +6 -0
  87. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts +4 -2
  88. package/dist/types/vendor/cstimer/src/js/scramble/{scramble_444.d.ts → 444-solver.d.ts} +0 -0
  89. package/dist/types/vendor/min2phase/{gwt.d.ts → 3x3x3-min2phase.d.ts} +0 -0
  90. package/dist/types/vendor/sq12phase/{scramble_sq1.d.ts → sq1-solver.d.ts} +0 -0
  91. package/dist/types/vendor/xyzzy/fto-solver-original.d.ts +203 -0
  92. package/dist/types/vendor/xyzzy/fto-solver.d.ts +1 -0
  93. package/dist/types/vendor/xyzzy/kilosolver.d.ts +140 -0
  94. package/dist/types/vendor/xyzzy/master_tetraminx-solver.d.ts +1 -0
  95. package/dist/types/vendor/xyzzy/rediscrambler.d.ts +94 -0
  96. package/package.json +3 -3
  97. package/dist/esm/3d-dynamic-inside-IIG5EJZP.js.map +0 -7
  98. package/dist/esm/chunk-37EHU3GZ.js.map +0 -7
  99. package/dist/esm/chunk-BJIOROQC.js +0 -18
  100. package/dist/esm/chunk-BJIOROQC.js.map +0 -7
  101. package/dist/esm/chunk-DMCRTYR4.js.map +0 -7
  102. package/dist/esm/chunk-MVJPIWT7.js.map +0 -7
  103. package/dist/esm/entry-FHL2XSAP.js.map +0 -7
  104. package/dist/esm/esm-test-worker.js +0 -15
  105. package/dist/esm/esm-test-worker.js.map +0 -7
  106. package/dist/esm/fto.sgs.json-USV4WNQJ.js.map +0 -7
  107. package/dist/esm/module-entry-TKJ6ZAZB.js +0 -18
  108. package/dist/esm/module-entry-TKJ6ZAZB.js.map +0 -7
  109. package/dist/esm/node-SP4L2AKI.js +0 -12
  110. package/dist/esm/node-SP4L2AKI.js.map +0 -7
  111. package/dist/esm/node-W3AD4HBK.js +0 -39
  112. package/dist/esm/node-W3AD4HBK.js.map +0 -7
  113. package/dist/esm/worker-inside-generated-string-XYHIVIPG.js +0 -3447
  114. package/dist/esm/worker-inside-generated-string-XYHIVIPG.js.map +0 -7
  115. package/dist/types/search/esm-test-worker.d.ts +0 -3
  116. package/dist/types/search/inside/entry.d.ts +0 -1
  117. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts +0 -1
  118. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts +0 -2
@@ -4,7 +4,7 @@ import {
4
4
  } from "../chunk-TXTMBIUR.js";
5
5
  import {
6
6
  puzzles
7
- } from "../chunk-MVJPIWT7.js";
7
+ } from "../chunk-LMZIKLXW.js";
8
8
  import {
9
9
  KState,
10
10
  experimental3x3x3KPuzzle
@@ -1,6 +1,12 @@
1
+ import {
2
+ exposeAPI
3
+ } from "./chunk-BEXHMXCT.js";
4
+ import {
5
+ node_adapter_default
6
+ } from "./chunk-IVQ4ITE2.js";
1
7
  import {
2
8
  randomUIntBelowFactory
3
- } from "./chunk-37EHU3GZ.js";
9
+ } from "./chunk-RENZB7QN.js";
4
10
  import {
5
11
  Alg
6
12
  } from "./chunk-EWRBHQFX.js";
@@ -70,36 +76,39 @@ async function randomMegaminxScrambleString() {
70
76
  return chunks.join("\n");
71
77
  }
72
78
 
73
- // src/cubing/vendor/comlink-everywhere/outside/index.js
79
+ // src/cubing/vendor/comlink-everywhere/outside/index.ts
74
80
  import { wrap } from "comlink";
81
+ var worker_threads_mangled = "w-orker-_threa-ds";
82
+ var worker_threads_unmangled = () => worker_threads_mangled.replace(/-/g, "");
75
83
  var useNodeWorkarounds = typeof globalThis.Worker === "undefined" && typeof globalThis.WorkerNavigator === "undefined";
76
- async function workerFileConstructor() {
77
- if (useNodeWorkarounds) {
78
- return await (await import("./node-W3AD4HBK.js")).NodeWorkerWrapper();
79
- } else {
80
- return globalThis.Worker;
81
- }
84
+ async function nodeWorker(source, options) {
85
+ const { Worker: NodeWorker } = await import(worker_threads_unmangled());
86
+ const worker = new NodeWorker(source, options);
87
+ worker.unref();
88
+ return node_adapter_default(worker);
82
89
  }
83
- async function constructWorkerFromString(stringSource, options) {
90
+ async function constructWorker(source, options) {
84
91
  let worker;
85
92
  if (useNodeWorkarounds) {
86
- const constructor = await (await import("./node-W3AD4HBK.js")).NodeWorkerStringWrapper();
87
- const worker2 = new constructor(stringSource);
88
- return worker2;
93
+ return nodeWorker(source, { eval: options?.eval });
89
94
  } else {
90
- const blob = new Blob([stringSource], { type: "application/javascript" });
91
- const workerURL = URL.createObjectURL(blob);
92
- worker = new globalThis.Worker(workerURL, {
95
+ if (options?.eval) {
96
+ const blob = new Blob([source], {
97
+ type: "application/javascript"
98
+ });
99
+ source = URL.createObjectURL(blob);
100
+ }
101
+ worker = new globalThis.Worker(source, {
93
102
  type: options ? options.type : void 0
94
103
  });
95
104
  }
96
105
  return worker;
97
106
  }
98
107
 
99
- // src/cubing/search/inside/module-entry-path-getter.ts
100
- globalThis.DO_NOT_EXPOSE_API = true;
108
+ // src/cubing/search/inside/search-worker-ts-entry-path-getter.ts
109
+ exposeAPI.expose = false;
101
110
  async function getWorkerEntryFileURL() {
102
- return (await import("./module-entry-TKJ6ZAZB.js")).WORKER_ENTRY_FILE_URL;
111
+ return (await import("./search-worker-ts-entry-OOL7WATY.js")).WORKER_ENTRY_FILE_URL;
103
112
  }
104
113
 
105
114
  // src/cubing/search/instantiator.ts
@@ -124,8 +133,7 @@ async function instantiateModuleWorker() {
124
133
  } else {
125
134
  url = new URL(workerEntryFileURL);
126
135
  }
127
- const constructor = await workerFileConstructor();
128
- const worker = new constructor(url, {
136
+ const worker = await constructWorker(url, {
129
137
  type: "module"
130
138
  });
131
139
  const onError = (e) => {
@@ -161,8 +169,8 @@ async function instantiateWorker() {
161
169
  return await instantiateModuleWorker();
162
170
  } catch (e) {
163
171
  console.warn("Could not instantiate module worker (this is expected in Firefox and `bundle-global`). Falling back to string worker.", e);
164
- const { workerSource } = await import("./worker-inside-generated-string-XYHIVIPG.js");
165
- const worker = await constructWorkerFromString(workerSource);
172
+ const { workerSource } = await import("./worker-inside-generated-string-CSXWVF2Y.js");
173
+ const worker = await constructWorker(workerSource, { eval: true });
166
174
  return wrap(worker);
167
175
  }
168
176
  }
@@ -223,4 +231,4 @@ export {
223
231
  solveMegaminx,
224
232
  setDebug
225
233
  };
226
- //# sourceMappingURL=chunk-DMCRTYR4.js.map
234
+ //# sourceMappingURL=chunk-5GJ5C7NZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/search/inside/solve/puzzles/clock.ts", "../../src/cubing/search/inside/solve/puzzles/wca-minx.ts", "../../src/cubing/vendor/comlink-everywhere/outside/index.ts", "../../src/cubing/search/inside/search-worker-ts-entry-path-getter.ts", "../../src/cubing/search/instantiator.ts", "../../src/cubing/search/outside.ts"],
4
+ "sourcesContent": ["import { randomUIntBelowFactory } from \"../../../../vendor/random-uint-below\";\n\nconst pins = [\"UR\", \"DR\", \"DL\", \"UL\"];\nconst backMoves = [\"U\", \"R\", \"D\", \"L\", \"ALL\"];\nconst frontMoves = pins.concat(backMoves);\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nexport async function randomClockScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n let filteringMoveCount = 0;\n\n async function randomSuffix(randomUIntBelow: (max: number) => number) {\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 async function side(families: string[]): Promise<void> {\n for (const family of families) {\n moves.push(`${family}${await randomSuffix(randomUIntBelow)}`);\n }\n }\n\n await side(frontMoves);\n moves.push(\"y2\");\n await side(backMoves);\n\n // https://www.worldcubeassociation.org/regulations/#4b3\n if (filteringMoveCount < 2) {\n return randomClockScrambleString();\n }\n\n for (const pin of pins) {\n if (randomUIntBelow(2) === 0) {\n moves.push(pin);\n }\n }\n return moves.join(\" \");\n}\n", "import { randomUIntBelowFactory } from \"../../../../vendor/random-uint-below\";\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nconst suffixes = [\"++\", \"--\"];\n\nexport async function randomMegaminxScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n function rdPair(): string {\n return `R${suffixes[randomUIntBelow(2)]} D${suffixes[randomUIntBelow(2)]}`;\n }\n\n function randomU(): string {\n return `U${[\"\", \"'\"][randomUIntBelow(2)]}`;\n }\n\n function row(): string {\n const chunks = [];\n for (let i = 0; i < 5; i++) {\n chunks.push(rdPair());\n }\n chunks.push(randomU());\n return chunks.join(\" \");\n }\n\n const chunks = [];\n for (let i = 0; i < 6; i++) {\n chunks.push(row());\n }\n return chunks.join(\"\\n\");\n}\n", "import nodeEndpoint from \"../node-adapter\";\n\nexport { wrap } from \"comlink\";\n// Mangled so that bundlers don't try to inline the source.\n\nconst worker_threads_mangled = \"w-orker-_threa-ds\";\nconst worker_threads_unmangled = () => worker_threads_mangled.replace(/-/g, \"\");\n\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 import(worker_threads_unmangled());\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?: { eval?: boolean; type?: WorkerType },\n): Promise<Worker> {\n let worker;\n if (useNodeWorkarounds) {\n return nodeWorker(source, { eval: options?.eval });\n } else {\n if (options?.eval) {\n const blob = new Blob([source as string], {\n type: \"application/javascript\",\n });\n source = URL.createObjectURL(blob);\n }\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\nexposeAPI.expose = false;\nexport async function getWorkerEntryFileURL() {\n return (await import(\"./search-worker-ts-entry\")).WORKER_ENTRY_FILE_URL;\n}\n", "import { constructWorker, wrap } from \"../vendor/comlink-everywhere/outside\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport { getWorkerEntryFileURL } from \"./inside/search-worker-ts-entry-path-getter\";\n\nconst MODULE_WORKER_TIMEOUT_MILLISECONDS = 5000;\nexport async function instantiateModuleWorker(): Promise<WorkerInsideAPI> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<WorkerInsideAPI>(async (resolve, reject) => {\n const timeoutID = setTimeout(() => {\n reject(new Error(\"module instantiation timeout\"));\n }, MODULE_WORKER_TIMEOUT_MILLISECONDS);\n\n try {\n const workerEntryFileURL = await getWorkerEntryFileURL();\n if (!workerEntryFileURL) {\n // This happens in `bundle-global`.\n reject(new Error(\"Could not get worker entry file URL.\"));\n }\n let url: string | URL;\n if (globalThis.Blob) {\n // Standard browser-like environment.\n const importSrc = `import \"${workerEntryFileURL}\";`;\n const blob = new Blob([importSrc], {\n type: \"text/javascript\",\n });\n url = URL.createObjectURL(blob);\n } else {\n // `node` doesn't have `Blob`. We can keep the original entry file URL there, but we have to wrap it.\n // Needed for `node`\n url = new URL(workerEntryFileURL);\n }\n\n const worker = (await constructWorker(url, {\n type: \"module\",\n })) as Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n };\n\n const onError = (e: ErrorEvent) => {\n // TODO: Remove fallback when Firefox implements module workers: https://bugzilla.mozilla.org/show_bug.cgi?id=1247687\n if (e.message?.startsWith(\"SyntaxError\")) {\n reject(e);\n }\n };\n\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 clearTimeout(timeoutID);\n resolve(wrap<WorkerInsideAPI>(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 quite 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\nexport async function instantiateWorker(): Promise<WorkerInsideAPI> {\n try {\n // `await` is important for `catch` to work.\n return await instantiateModuleWorker();\n } catch (e) {\n console.warn(\n \"Could not instantiate module worker (this is expected in Firefox and `bundle-global`). Falling back to string worker.\",\n e,\n );\n const { workerSource } = await import(\n \"./worker-inside-generated-string.js\"\n );\n const worker = await constructWorker(workerSource, { eval: true });\n return wrap(worker);\n }\n}\n", "import { Alg } from \"../alg\";\n// import { preInitialize222 } from \"../implementations/2x2x2\";\nimport { randomClockScrambleString } from \"./inside/solve/puzzles/clock\"; // TODO: don't reach into `inside` code.\nimport { randomMegaminxScrambleString } from \"./inside/solve/puzzles/wca-minx\"; // TODO: don't reach into `inside` code.\nimport { instantiateWorker } from \"./instantiator\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport type { KState } from \"../kpuzzle/KState\";\n\nlet cachedWorkerInstance: Promise<WorkerInsideAPI> | null = null;\nasync function getCachedWorkerInstance(): Promise<WorkerInsideAPI> {\n return await (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 \"clock\":\n case \"minx\":\n return;\n case \"333oh\":\n return _preInitializationHintForEvent(\"333\");\n }\n (async () => {\n await (await getCachedWorkerInstance()).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 case \"minx\":\n return Alg.fromString(await randomMegaminxScrambleString());\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 const cwi = await getCachedWorkerInstance();\n return cwi.randomScrambleStringForEvent(eventID);\n}\n\nexport async function randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n switch (eventID) {\n case \"clock\":\n return randomClockScrambleString();\n case \"minx\":\n return randomMegaminxScrambleString();\n }\n return await _randomScrambleStringForEvent(eventID);\n}\n\nexport async function experimentalSolve3x3x3IgnoringCenters(\n state: KState,\n): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve333ToString(state.stateData));\n}\n\nexport async function experimentalSolve2x2x2(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve222ToString(state.stateData));\n}\n\nexport async function solveSkewb(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveSkewbToString(state.stateData));\n}\n\nexport async function solvePyraminx(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solvePyraminxToString(state.stateData));\n}\n\nexport async function solveMegaminx(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveMegaminxToString(state.stateData));\n}\n\nexport function setDebug(options: { logPerf?: boolean }): void {\n const { logPerf } = options;\n if (typeof logPerf !== \"undefined\") {\n getCachedWorkerInstance().then((cwi) => cwi.setDebugMeasurePerf(logPerf));\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ // src/cubing/search/inside/worker-guard.ts
2
+ var exposeAPI = {
3
+ expose: true
4
+ };
5
+
6
+ export {
7
+ exposeAPI
8
+ };
9
+ //# sourceMappingURL=chunk-BEXHMXCT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/search/inside/worker-guard.ts"],
4
+ "sourcesContent": ["export const exposeAPI: { expose: boolean } = {\n expose: true,\n};\n"],
5
+ "mappings": ";AAAO,IAAM,YAAiC;AAAA,EAC5C,QAAQ;AAAA;",
6
+ "names": []
7
+ }
@@ -3379,7 +3379,7 @@ var PuzzleGeometry = class {
3379
3379
  getKPuzzleDefinition(fortwisty = true, includemoves = true) {
3380
3380
  const od = this.getOrbitsDef(fortwisty, includemoves);
3381
3381
  const internalDefinition = od.toKPuzzleDefinition(includemoves);
3382
- internalDefinition.exprimentalPuzzleDescription = this.puzzleDescription;
3382
+ internalDefinition.experimentalPuzzleDescription = this.puzzleDescription;
3383
3383
  if (!internalDefinition) {
3384
3384
  throw new Error("Missing definition!");
3385
3385
  }
@@ -4086,4 +4086,4 @@ export {
4086
4086
  PuzzleGeometry,
4087
4087
  PGNotation
4088
4088
  };
4089
- //# sourceMappingURL=chunk-KRL5KQQK.js.map
4089
+ //# sourceMappingURL=chunk-F5WNHV7V.js.map