cubing 0.43.2 → 0.43.4

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 (33) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/scramble.js +22 -12
  3. package/dist/bin/scramble.js.map +2 -2
  4. package/dist/lib/cubing/bluetooth/index.js +1 -1
  5. package/dist/lib/cubing/chunks/{chunk-Z2CCB3XX.js → chunk-3LQLRLXS.js} +2 -2
  6. package/dist/lib/cubing/chunks/{chunk-DYHU7CO7.js → chunk-EBWRIEEZ.js} +6 -6
  7. package/dist/lib/cubing/chunks/{chunk-2N56G6TG.js → chunk-NDY3DEEE.js} +1 -1
  8. package/dist/lib/cubing/chunks/{chunk-32CXD7UA.js → chunk-SODS5Y3A.js} +15 -15
  9. package/dist/lib/cubing/chunks/{inside-7XZ5YPBP.js → inside-5CIAPTLP.js} +3 -3
  10. package/dist/lib/cubing/chunks/{puzzles-dynamic-side-events-HEMWSAMQ.js → puzzles-dynamic-side-events-EEMN2PI4.js} +10 -10
  11. package/dist/lib/cubing/chunks/{puzzles-dynamic-side-events-HEMWSAMQ.js.map → puzzles-dynamic-side-events-EEMN2PI4.js.map} +1 -1
  12. package/dist/lib/cubing/chunks/{puzzles-dynamic-unofficial-RETSTRRW.js → puzzles-dynamic-unofficial-WXH65MSQ.js} +19 -19
  13. package/dist/lib/cubing/chunks/puzzles-dynamic-unofficial-WXH65MSQ.js.map +7 -0
  14. package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-67TCU227.js → search-dynamic-sgs-side-events-KBQTGXZR.js} +2 -2
  15. package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-OUTZD5Y2.js → search-dynamic-sgs-unofficial-KTHSSINP.js} +2 -2
  16. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-7NWGTCEG.js → search-dynamic-solve-4x4x4-JQRNWKAG.js} +4 -4
  17. package/dist/lib/cubing/chunks/search-worker-entry.js +1 -1
  18. package/dist/lib/cubing/chunks/{twisty-dynamic-3d-EKFIEPIM.js → twisty-dynamic-3d-GX34QIPC.js} +3 -3
  19. package/dist/lib/cubing/puzzles/index.js +1 -1
  20. package/dist/lib/cubing/scramble/index.js +3 -3
  21. package/dist/lib/cubing/search/index.js +3 -3
  22. package/dist/lib/cubing/twisty/index.js +2 -2
  23. package/package.json +1 -1
  24. package/dist/lib/cubing/chunks/puzzles-dynamic-unofficial-RETSTRRW.js.map +0 -7
  25. /package/dist/lib/cubing/chunks/{chunk-Z2CCB3XX.js.map → chunk-3LQLRLXS.js.map} +0 -0
  26. /package/dist/lib/cubing/chunks/{chunk-DYHU7CO7.js.map → chunk-EBWRIEEZ.js.map} +0 -0
  27. /package/dist/lib/cubing/chunks/{chunk-2N56G6TG.js.map → chunk-NDY3DEEE.js.map} +0 -0
  28. /package/dist/lib/cubing/chunks/{chunk-32CXD7UA.js.map → chunk-SODS5Y3A.js.map} +0 -0
  29. /package/dist/lib/cubing/chunks/{inside-7XZ5YPBP.js.map → inside-5CIAPTLP.js.map} +0 -0
  30. /package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-67TCU227.js.map → search-dynamic-sgs-side-events-KBQTGXZR.js.map} +0 -0
  31. /package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-OUTZD5Y2.js.map → search-dynamic-sgs-unofficial-KTHSSINP.js.map} +0 -0
  32. /package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-7NWGTCEG.js.map → search-dynamic-solve-4x4x4-JQRNWKAG.js.map} +0 -0
  33. /package/dist/lib/cubing/chunks/{twisty-dynamic-3d-EKFIEPIM.js.map → twisty-dynamic-3d-GX34QIPC.js.map} +0 -0
package/README.md CHANGED
@@ -42,7 +42,7 @@ If you would like to contribute to the development of `cubing.js`, please refer
42
42
 
43
43
  ## Developing `cubing.js` itself
44
44
 
45
- If you have `git`, `node`, and `npm` installed, you can run the `cubing.js` source like this (see the [contribution guidelines](./CONTRIBUTING.md) for more details):
45
+ If you have `git`, `node`, `npm`, and [`bun`](https://bun.sh/) installed, you can run the `cubing.js` source like this (see the [contribution guidelines](./CONTRIBUTING.md) for more details):
46
46
 
47
47
  ```shell
48
48
  git clone https://github.com/cubing/cubing.js && cd cubing.js
@@ -18,10 +18,7 @@ var [yargs, hideBin] = await (async () => {
18
18
  var argv = await yargs(
19
19
  // TODO: `hideBin` just shows `bun` in `bun`.
20
20
  hideBin(process.argv)
21
- ).parserConfiguration({
22
- // Workaround for https://github.com/yargs/yargs/issues/2359
23
- "parse-positional-numbers": false
24
- }).option("amount", {
21
+ ).option("amount", {
25
22
  describe: "Output format.",
26
23
  default: 1,
27
24
  type: "number",
@@ -34,12 +31,17 @@ var argv = await yargs(
34
31
  type: "boolean",
35
32
  describe: "Convenient shorthand for `--format text`.",
36
33
  alias: "t"
37
- }).positional("eventID", {
38
- describe: "WCA or unofficial event ID",
39
- type: "string"
40
- }).version(false).demand(1).strict().argv;
41
- var eventID = argv._[0];
42
- var format = argv.format ?? (argv.text ? "text" : void 0);
34
+ }).usage(
35
+ "$0 eventID",
36
+ "Generate cubing scrambles.",
37
+ (yargs2) => yargs2.positional("eventID", {
38
+ describe: "WCA or unofficial event ID",
39
+ type: "string"
40
+ })
41
+ ).version(false).strictOptions().argv;
42
+ var eventID = argv.eventID;
43
+ var { format } = argv;
44
+ format ??= argv.text || !process.stdout.isTTY ? "text" : "auto";
43
45
  setSearchDebug({ logPerf: false, showWorkerInstantiationWarnings: false });
44
46
  function scrambleText(scramble) {
45
47
  return scramble.toString();
@@ -88,10 +90,14 @@ if (format !== "json-text" && argv.amount === 1) {
88
90
  "Encountered `json` format in code that is not expected to handle it."
89
91
  );
90
92
  }
91
- default: {
93
+ case "auto": {
92
94
  console.log(`${scrambleText(scramble)}
93
95
 
94
96
  \u{1F517} ${scrambleLink(scramble)}`);
97
+ break;
98
+ }
99
+ default: {
100
+ throw new Error("Unknown format!");
95
101
  }
96
102
  }
97
103
  } else {
@@ -115,12 +121,16 @@ if (format !== "json-text" && argv.amount === 1) {
115
121
  jsonListPrinter?.push(scramble.toString());
116
122
  break;
117
123
  }
118
- default: {
124
+ case "auto": {
119
125
  console.log(`// Scramble #${i + 1}
120
126
  ${scrambleText(scramble)}
121
127
 
122
128
  \u{1F517} ${scrambleLink(scramble)}
123
129
  `);
130
+ break;
131
+ }
132
+ default: {
133
+ throw new Error("Unknown format!");
124
134
  }
125
135
  }
126
136
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/bin/scramble.ts"],
4
- "sourcesContent": ["// To run this file directly:\n// bun run src/bin/scramble.ts -- 333\n\nimport { eventInfo } from \"cubing/puzzles\";\nimport { randomScrambleForEvent } from \"cubing/scramble\";\nimport { setSearchDebug } from \"cubing/search\";\nimport type { Alg } from \"cubing/alg\";\n\n// TODO: completions for `bash`, `zsh`, and `fish`: https://github.com/loilo/completarr\n\nconst [yargs, hideBin] = await (async () => {\n try {\n const yargs = (await import(\"yargs\")).default;\n const { hideBin } = await import(\"yargs/helpers\");\n return [yargs, hideBin];\n } catch (e) {\n throw new Error(\n \"Could not import `yargs`, which is not automatically installed as a regular dependency of `cubing`. Please run `npm install yargs` (or the equivalent) separately.\",\n );\n }\n})();\n\n// @ts-ignore: Top-level await is okay because this is not part of the main library.\nconst argv = await yargs(\n // TODO: `hideBin` just shows `bun` in `bun`.\n hideBin(process.argv),\n)\n .parserConfiguration({\n // Workaround for https://github.com/yargs/yargs/issues/2359\n \"parse-positional-numbers\": false,\n })\n .option(\"amount\", {\n describe: \"Output format.\",\n default: 1,\n type: \"number\",\n alias: \"n\",\n })\n .option(\"format\", {\n describe: \"Output format.\",\n choices: [\"text\", \"link\", \"json-text\"],\n alias: \"f\",\n })\n .option(\"text\", {\n type: \"boolean\",\n describe: \"Convenient shorthand for `--format text`.\",\n alias: \"t\",\n })\n .positional(\"eventID\", {\n describe: \"WCA or unofficial event ID\",\n type: \"string\",\n })\n .version(false) // TODO: why doesn't `yargs` get the right version in `bun` or for the `dist` bin?\n .demand(1)\n .strict().argv;\n\nconst eventID = argv._[0] as string;\nconst format = argv.format ?? (argv.text ? \"text\" : undefined);\n\nsetSearchDebug({ logPerf: false, showWorkerInstantiationWarnings: false });\n\nfunction scrambleText(scramble: Alg): string {\n return scramble.toString();\n}\n\nfunction scrambleLink(scramble: Alg): string {\n const url = new URL(\"https://alpha.twizzle.net/edit/\");\n const puzzleID = eventInfo(eventID)?.puzzleID;\n puzzleID && url.searchParams.set(\"puzzle\", puzzleID);\n url.searchParams.set(\"alg\", scramble.toString());\n return url.toString();\n}\n\nclass JSONListPrinter<T> {\n #finished = false;\n #firstValuePrintedAlready = false;\n constructor() {\n process.stdout.write(\"[\\n \");\n }\n\n push(value: T) {\n if (this.#firstValuePrintedAlready) {\n process.stdout.write(\",\\n \");\n }\n this.#firstValuePrintedAlready = true;\n process.stdout.write(JSON.stringify(value));\n }\n\n finish() {\n if (this.#finished) {\n throw new Error(\"Tried to finish JSON list printing multiple times.\");\n }\n this.#finished = true;\n console.log(\"\\n]\");\n }\n}\n\nif (format !== \"json-text\" && argv.amount === 1) {\n // @ts-ignore: Top-level await is okay because this is not part of the main library.\n const scramble = await randomScrambleForEvent(eventID);\n\n switch (format) {\n case \"text\": {\n console.log(scrambleText(scramble));\n break;\n }\n case \"link\": {\n console.log(scrambleLink(scramble));\n break;\n }\n case \"json-text\": {\n throw new Error(\n \"Encountered `json` format in code that is not expected to handle it.\",\n );\n }\n default: {\n console.log(`${scrambleText(scramble)}\n\n\uD83D\uDD17 ${scrambleLink(scramble)}`);\n }\n }\n} else {\n const jsonListPrinter: JSONListPrinter<string> | undefined =\n format === \"json-text\" ? new JSONListPrinter() : undefined;\n for (let i = 0; i < argv.amount; i++) {\n // @ts-ignore: Top-level await is okay because this is not part of the main library.\n const scramble = await randomScrambleForEvent(eventID);\n switch (format) {\n case \"text\": {\n console.log(`// Scramble #${i + 1}`);\n console.log(`${scrambleText(scramble)}\\n`);\n break;\n }\n case \"link\": {\n console.log(`// Scramble #${i + 1}`);\n console.log(`${scrambleLink(scramble)}\\n`);\n break;\n }\n case \"json-text\": {\n jsonListPrinter?.push(scramble.toString());\n break;\n }\n default: {\n console.log(`// Scramble #${i + 1}\n${scrambleText(scramble)}\n\n\uD83D\uDD17 ${scrambleLink(scramble)}\n`);\n }\n }\n }\n jsonListPrinter?.finish();\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// To run this file directly:\n// bun run src/bin/scramble.ts -- 333\n\nimport { eventInfo } from \"cubing/puzzles\";\nimport { randomScrambleForEvent } from \"cubing/scramble\";\nimport { setSearchDebug } from \"cubing/search\";\nimport type { Alg } from \"cubing/alg\";\n\n// TODO: completions for `bash`, `zsh`, and `fish`: https://github.com/loilo/completarr\n\nconst [yargs, hideBin] = await (async () => {\n try {\n const yargs = (await import(\"yargs\")).default;\n const { hideBin } = await import(\"yargs/helpers\");\n return [yargs, hideBin];\n } catch (e) {\n throw new Error(\n \"Could not import `yargs`, which is not automatically installed as a regular dependency of `cubing`. Please run `npm install yargs` (or the equivalent) separately.\",\n );\n }\n})();\n\n// @ts-ignore: Top-level await is okay because this is not part of the main library.\nconst argv = await yargs(\n // TODO: `hideBin` just shows `bun` in `bun`.\n hideBin(process.argv),\n)\n .option(\"amount\", {\n describe: \"Output format.\",\n default: 1,\n type: \"number\",\n alias: \"n\",\n })\n .option(\"format\", {\n describe: \"Output format.\",\n choices: [\"text\", \"link\", \"json-text\"],\n alias: \"f\",\n })\n .option(\"text\", {\n type: \"boolean\",\n describe: \"Convenient shorthand for `--format text`.\",\n alias: \"t\",\n })\n .usage(\"$0 eventID\", \"Generate cubing scrambles.\", (yargs) =>\n yargs.positional(\"eventID\", {\n describe: \"WCA or unofficial event ID\",\n type: \"string\",\n }),\n )\n .version(false) // TODO: why doesn't `yargs` get the right version in `bun` or for the `dist` bin?\n .strictOptions().argv;\n\nconst eventID = argv.eventID as string;\nlet { format } = argv;\nformat ??= argv.text || !process.stdout.isTTY ? \"text\" : \"auto\";\n\nsetSearchDebug({ logPerf: false, showWorkerInstantiationWarnings: false });\n\nfunction scrambleText(scramble: Alg): string {\n return scramble.toString();\n}\n\nfunction scrambleLink(scramble: Alg): string {\n const url = new URL(\"https://alpha.twizzle.net/edit/\");\n const puzzleID = eventInfo(eventID)?.puzzleID;\n puzzleID && url.searchParams.set(\"puzzle\", puzzleID);\n url.searchParams.set(\"alg\", scramble.toString());\n return url.toString();\n}\n\nclass JSONListPrinter<T> {\n #finished = false;\n #firstValuePrintedAlready = false;\n constructor() {\n process.stdout.write(\"[\\n \");\n }\n\n push(value: T) {\n if (this.#firstValuePrintedAlready) {\n process.stdout.write(\",\\n \");\n }\n this.#firstValuePrintedAlready = true;\n process.stdout.write(JSON.stringify(value));\n }\n\n finish() {\n if (this.#finished) {\n throw new Error(\"Tried to finish JSON list printing multiple times.\");\n }\n this.#finished = true;\n console.log(\"\\n]\");\n }\n}\n\nif (format !== \"json-text\" && argv.amount === 1) {\n // @ts-ignore: Top-level await is okay because this is not part of the main library.\n const scramble = await randomScrambleForEvent(eventID);\n\n switch (format) {\n case \"text\": {\n console.log(scrambleText(scramble));\n break;\n }\n case \"link\": {\n console.log(scrambleLink(scramble));\n break;\n }\n case \"json-text\": {\n throw new Error(\n \"Encountered `json` format in code that is not expected to handle it.\",\n );\n }\n case \"auto\": {\n console.log(`${scrambleText(scramble)}\n\n\uD83D\uDD17 ${scrambleLink(scramble)}`);\n break;\n }\n default: {\n throw new Error(\"Unknown format!\");\n }\n }\n} else {\n const jsonListPrinter: JSONListPrinter<string> | undefined =\n format === \"json-text\" ? new JSONListPrinter() : undefined;\n for (let i = 0; i < argv.amount; i++) {\n // @ts-ignore: Top-level await is okay because this is not part of the main library.\n const scramble = await randomScrambleForEvent(eventID);\n switch (format) {\n case \"text\": {\n console.log(`// Scramble #${i + 1}`);\n console.log(`${scrambleText(scramble)}\\n`);\n break;\n }\n case \"link\": {\n console.log(`// Scramble #${i + 1}`);\n console.log(`${scrambleLink(scramble)}\\n`);\n break;\n }\n case \"json-text\": {\n jsonListPrinter?.push(scramble.toString());\n break;\n }\n case \"auto\": {\n console.log(`// Scramble #${i + 1}\n${scrambleText(scramble)}\n\n\uD83D\uDD17 ${scrambleLink(scramble)}\n`);\n break;\n }\n default: {\n throw new Error(\"Unknown format!\");\n }\n }\n }\n jsonListPrinter?.finish();\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["yargs", "hideBin"]
7
7
  }
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  cube3x3x3,
7
7
  puzzles
8
- } from "../chunks/chunk-32CXD7UA.js";
8
+ } from "../chunks/chunk-SODS5Y3A.js";
9
9
  import {
10
10
  experimental3x3x3KPuzzle
11
11
  } from "../chunks/chunk-RS62HLA5.js";
@@ -537,7 +537,7 @@ var StatsPanel = class {
537
537
  // src/cubing/twisty/heavy-code-imports/3d.ts
538
538
  var cachedConstructorProxy = null;
539
539
  async function proxy3D() {
540
- return cachedConstructorProxy ??= import("./twisty-dynamic-3d-EKFIEPIM.js");
540
+ return cachedConstructorProxy ??= import("./twisty-dynamic-3d-GX34QIPC.js");
541
541
  }
542
542
  var THREEJS = from(
543
543
  async () => (await proxy3D()).T3I
@@ -1160,4 +1160,4 @@ export {
1160
1160
  proxy3D,
1161
1161
  THREEJS
1162
1162
  };
1163
- //# sourceMappingURL=chunk-Z2CCB3XX.js.map
1163
+ //# sourceMappingURL=chunk-3LQLRLXS.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  cube2x2x2,
6
6
  puzzles
7
- } from "./chunk-32CXD7UA.js";
7
+ } from "./chunk-SODS5Y3A.js";
8
8
  import {
9
9
  from,
10
10
  normalize2x2x2Orientation
@@ -751,7 +751,7 @@ function randomPatternFromSGS(kpuzzle, sgs) {
751
751
  }
752
752
 
753
753
  // src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.ts
754
- var searchDynamicSideEvents = from(() => import("./search-dynamic-sgs-side-events-67TCU227.js"));
754
+ var searchDynamicSideEvents = from(() => import("./search-dynamic-sgs-side-events-KBQTGXZR.js"));
755
755
 
756
756
  // src/cubing/search/inside/solve/twsearch.ts
757
757
  var twsearchPromise = from(async () => import("./twsearch-SLVE4NQH.js"));
@@ -939,7 +939,7 @@ async function random222Scramble() {
939
939
  }
940
940
 
941
941
  // src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts
942
- var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-7NWGTCEG.js"));
942
+ var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-JQRNWKAG.js"));
943
943
 
944
944
  // src/cubing/search/inside/solve/puzzles/4x4x4.ts
945
945
  var randomSuffixes2 = [
@@ -1033,7 +1033,7 @@ async function oriented555RandomMoves() {
1033
1033
  var dynamicFTOSolver = from(() => import("./search-dynamic-solve-fto-EY5ZVAGO.js"));
1034
1034
 
1035
1035
  // src/cubing/search/inside/solve/puzzles/fto.ts
1036
- var dynamic = from(() => import("./search-dynamic-sgs-unofficial-OUTZD5Y2.js"));
1036
+ var dynamic = from(() => import("./search-dynamic-sgs-unofficial-KTHSSINP.js"));
1037
1037
  async function randomFTOScramble() {
1038
1038
  mustBeInsideWorker();
1039
1039
  return new Alg(await (await dynamicFTOSolver).randomFTOScrambleString());
@@ -1123,7 +1123,7 @@ async function randomPyraminxScrambleFixedOrientation() {
1123
1123
  }
1124
1124
 
1125
1125
  // src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.ts
1126
- var searchDynamicUnofficial = from(() => import("./search-dynamic-sgs-unofficial-OUTZD5Y2.js"));
1126
+ var searchDynamicUnofficial = from(() => import("./search-dynamic-sgs-unofficial-KTHSSINP.js"));
1127
1127
 
1128
1128
  // src/cubing/search/inside/solve/puzzles/redi_cube.ts
1129
1129
  async function randomRediCubeScramble() {
@@ -1388,4 +1388,4 @@ export {
1388
1388
  random333Scramble,
1389
1389
  insideAPI
1390
1390
  };
1391
- //# sourceMappingURL=chunk-DYHU7CO7.js.map
1391
+ //# sourceMappingURL=chunk-EBWRIEEZ.js.map
@@ -405,4 +405,4 @@ export {
405
405
  solveTwsearch,
406
406
  setSearchDebug
407
407
  };
408
- //# sourceMappingURL=chunk-2N56G6TG.js.map
408
+ //# sourceMappingURL=chunk-NDY3DEEE.js.map
@@ -69,12 +69,12 @@ var cube2x2x2 = {
69
69
  fullName: "2\xD72\xD72 Cube",
70
70
  kpuzzle: getCached(
71
71
  async () => new KPuzzle(
72
- (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).cube2x2x2JSON
72
+ (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).cube2x2x2JSON
73
73
  )
74
74
  ),
75
- svg: async () => (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).cube2x2x2SVG,
75
+ svg: async () => (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).cube2x2x2SVG,
76
76
  llSVG: getCached(
77
- async () => (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).cube2x2x2LLSVG
77
+ async () => (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).cube2x2x2LLSVG
78
78
  ),
79
79
  pg: getCached(async () => {
80
80
  return asyncGetPuzzleGeometry("2x2x2");
@@ -342,11 +342,11 @@ var clock = {
342
342
  // Patent application year: https://www.jaapsch.net/puzzles/patents/us4869506.pdf
343
343
  kpuzzle: getCached(
344
344
  async () => new KPuzzle(
345
- (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).clockJSON
345
+ (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).clockJSON
346
346
  )
347
347
  ),
348
348
  svg: getCached(async () => {
349
- return (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).clockSVG;
349
+ return (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).clockSVG;
350
350
  })
351
351
  };
352
352
 
@@ -460,7 +460,7 @@ var FTOPuzzleLoader = class extends PGPuzzleLoader {
460
460
  }
461
461
  stickerings = ftoStickerings;
462
462
  svg = getCached(async () => {
463
- return (await import("./puzzles-dynamic-unofficial-RETSTRRW.js")).ftoSVG;
463
+ return (await import("./puzzles-dynamic-unofficial-WXH65MSQ.js")).ftoSVG;
464
464
  });
465
465
  };
466
466
  var fto = new FTOPuzzleLoader();
@@ -513,7 +513,7 @@ var PyraminxPuzzleLoader = class extends PGPuzzleLoader {
513
513
  });
514
514
  }
515
515
  svg = getCached(async () => {
516
- return (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).pyraminxSVG;
516
+ return (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).pyraminxSVG;
517
517
  });
518
518
  };
519
519
  var pyraminx = new PyraminxPuzzleLoader();
@@ -527,11 +527,11 @@ var square1 = {
527
527
  // Czech patent application year: http://spisy.upv.cz/Patents/FullDocuments/277/277266.pdf
528
528
  kpuzzle: getCached(
529
529
  async () => new KPuzzle(
530
- (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).sq1HyperOrbitJSON
530
+ (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).sq1HyperOrbitJSON
531
531
  )
532
532
  ),
533
533
  svg: getCached(async () => {
534
- return (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).sq1HyperOrbitSVG;
534
+ return (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).sq1HyperOrbitSVG;
535
535
  })
536
536
  };
537
537
 
@@ -551,7 +551,7 @@ var kilominx = {
551
551
  includeEdgeOrbits: false
552
552
  }),
553
553
  svg: getCached(async () => {
554
- return (await import("./puzzles-dynamic-unofficial-RETSTRRW.js")).kilominxSVG;
554
+ return (await import("./puzzles-dynamic-unofficial-WXH65MSQ.js")).kilominxSVG;
555
555
  })
556
556
  };
557
557
 
@@ -565,11 +565,11 @@ var rediCube = {
565
565
  inventionYear: 2009,
566
566
  kpuzzle: getCached(
567
567
  async () => new KPuzzle(
568
- (await import("./puzzles-dynamic-unofficial-RETSTRRW.js")).rediCubeJSON
568
+ (await import("./puzzles-dynamic-unofficial-WXH65MSQ.js")).rediCubeJSON
569
569
  )
570
570
  ),
571
571
  svg: async () => {
572
- return (await import("./puzzles-dynamic-unofficial-RETSTRRW.js")).rediCubeSVG;
572
+ return (await import("./puzzles-dynamic-unofficial-WXH65MSQ.js")).rediCubeSVG;
573
573
  }
574
574
  };
575
575
 
@@ -590,11 +590,11 @@ var melindas2x2x2x2 = {
590
590
  // inventionYear: 20__, // TODO
591
591
  kpuzzle: getCached(
592
592
  async () => new KPuzzle(
593
- (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).melindas2x2x2x2OrbitJSON
593
+ (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).melindas2x2x2x2OrbitJSON
594
594
  )
595
595
  ),
596
596
  svg: getCached(async () => {
597
- return (await import("./puzzles-dynamic-side-events-HEMWSAMQ.js")).melindas2x2x2x2OrbitSVG;
597
+ return (await import("./puzzles-dynamic-side-events-EEMN2PI4.js")).melindas2x2x2x2OrbitSVG;
598
598
  })
599
599
  };
600
600
 
@@ -659,4 +659,4 @@ export {
659
659
  cube3x3x3,
660
660
  puzzles
661
661
  };
662
- //# sourceMappingURL=chunk-32CXD7UA.js.map
662
+ //# sourceMappingURL=chunk-SODS5Y3A.js.map
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-NEAVVKH5.js";
4
4
  import {
5
5
  insideAPI
6
- } from "./chunk-DYHU7CO7.js";
6
+ } from "./chunk-EBWRIEEZ.js";
7
7
  import "./chunk-VL22SFND.js";
8
8
  import "./chunk-ZUPLJQAD.js";
9
- import "./chunk-32CXD7UA.js";
9
+ import "./chunk-SODS5Y3A.js";
10
10
  import "./chunk-RS62HLA5.js";
11
11
  import "./chunk-QF4HTZYW.js";
12
12
  import "./chunk-7X47IY3P.js";
13
13
 
14
14
  // src/cubing/search/inside/index.ts
15
15
  expose(insideAPI);
16
- //# sourceMappingURL=inside-7XZ5YPBP.js.map
16
+ //# sourceMappingURL=inside-5CIAPTLP.js.map
@@ -1122,7 +1122,7 @@ var pyraminxSVG = `<?xml version="1.0" encoding="UTF-8"?>
1122
1122
  <!-- CORNERS -->
1123
1123
  <use id="CORNERS-l0-o0" href="#stickerV" transform="translate(5.2, 1.066666667)" style="fill: limegreen"/>
1124
1124
  <use id="CORNERS-l0-o1" href="#stickerA" transform="translate(3, 0)" style="fill: red"/>
1125
- <use id="CORNERS-l0-o2" href="#stickerA" transform="translate(7.4, 0)" style="fill: blue"/>
1125
+ <use id="CORNERS-l0-o2" href="#stickerA" transform="translate(7.4, 0)" style="fill: #26f"/>
1126
1126
 
1127
1127
  <use id="CORNERS-l3-o0" href="#stickerA" transform="translate(4.2, 3.2)" style="fill: yellow"/>
1128
1128
  <use id="CORNERS-l3-o1" href="#stickerA" transform="translate(2, 1)" style="fill: red"/>
@@ -1130,9 +1130,9 @@ var pyraminxSVG = `<?xml version="1.0" encoding="UTF-8"?>
1130
1130
 
1131
1131
  <use id="CORNERS-l2-o0" href="#stickerA" transform="translate(6.2, 3.2)" style="fill: yellow"/>
1132
1132
  <use id="CORNERS-l2-o1" href="#stickerV" transform="translate(6.2, 2.066666667)" style="fill: limegreen"/>
1133
- <use id="CORNERS-l2-o2" href="#stickerA" transform="translate(8.4, 1)" style="fill: blue"/>
1133
+ <use id="CORNERS-l2-o2" href="#stickerA" transform="translate(8.4, 1)" style="fill: #26f"/>
1134
1134
 
1135
- <use id="CORNERS-l1-o1" href="#stickerA" transform="translate(9.4, 0)" style="fill: blue"/>
1135
+ <use id="CORNERS-l1-o1" href="#stickerA" transform="translate(9.4, 0)" style="fill: #26f"/>
1136
1136
  <use id="CORNERS-l1-o2" href="#stickerA" transform="translate(1, 0)" style="fill: red"/>
1137
1137
  <use id="CORNERS-l1-o0" href="#stickerA" transform="translate(5.2, 4.2)" style="fill: yellow"/>
1138
1138
 
@@ -1140,7 +1140,7 @@ var pyraminxSVG = `<?xml version="1.0" encoding="UTF-8"?>
1140
1140
  <!-- CORNERS2 -->
1141
1141
  <use id="CORNERS2-l0-o0" href="#stickerA" transform="translate(5.2, 0.066666667)" style="fill: limegreen"/>
1142
1142
  <use id="CORNERS2-l0-o1" href="#stickerV" transform="translate(4, 0)" style="fill: red"/>
1143
- <use id="CORNERS2-l0-o2" href="#stickerV" transform="translate(6.4, 0)" style="fill: blue"/>
1143
+ <use id="CORNERS2-l0-o2" href="#stickerV" transform="translate(6.4, 0)" style="fill: #26f"/>
1144
1144
 
1145
1145
  <use id="CORNERS2-l3-o0" href="#stickerV" transform="translate(3.2, 3.2)" style="fill: yellow"/>
1146
1146
  <use id="CORNERS2-l3-o1" href="#stickerV" transform="translate(2, 2)" style="fill: red"/>
@@ -1148,9 +1148,9 @@ var pyraminxSVG = `<?xml version="1.0" encoding="UTF-8"?>
1148
1148
 
1149
1149
  <use id="CORNERS2-l2-o0" href="#stickerV" transform="translate(7.2, 3.2)" style="fill: yellow"/>
1150
1150
  <use id="CORNERS2-l2-o1" href="#stickerA" transform="translate(7.2, 2.066666667)" style="fill: limegreen"/>
1151
- <use id="CORNERS2-l2-o2" href="#stickerV" transform="translate(8.4, 2)" style="fill: blue"/>
1151
+ <use id="CORNERS2-l2-o2" href="#stickerV" transform="translate(8.4, 2)" style="fill: #26f"/>
1152
1152
 
1153
- <use id="CORNERS2-l1-o1" href="#stickerV" transform="translate(10.4,0)" style="fill: blue"/>
1153
+ <use id="CORNERS2-l1-o1" href="#stickerV" transform="translate(10.4,0)" style="fill: #26f"/>
1154
1154
  <use id="CORNERS2-l1-o2" href="#stickerV" transform="translate(0, 0)" style="fill: red"/>
1155
1155
  <use id="CORNERS2-l1-o0" href="#stickerV" transform="translate(5.2, 5.2)" style="fill: yellow"/>
1156
1156
 
@@ -1159,15 +1159,15 @@ var pyraminxSVG = `<?xml version="1.0" encoding="UTF-8"?>
1159
1159
  <use id="EDGES-l0-o1" href="#stickerA" transform="translate(4.2, 1.066666667)" style="fill: limegreen"/>
1160
1160
 
1161
1161
  <use id="EDGES-l5-o0" href="#stickerA" transform="translate(6.2, 1.066666667)" style="fill: limegreen"/>
1162
- <use id="EDGES-l5-o1" href="#stickerV" transform="translate(7.4, 1)" style="fill: blue"/>
1162
+ <use id="EDGES-l5-o1" href="#stickerV" transform="translate(7.4, 1)" style="fill: #26f"/>
1163
1163
 
1164
- <use id="EDGES-l1-o0" href="#stickerV" transform="translate(8.4, 0)" style="fill: blue"/>
1164
+ <use id="EDGES-l1-o0" href="#stickerV" transform="translate(8.4, 0)" style="fill: #26f"/>
1165
1165
  <use id="EDGES-l1-o1" href="#stickerV" transform="translate(2, 0)" style="fill: red"/>
1166
1166
 
1167
1167
  <use id="EDGES-l2-o0" href="#stickerV" transform="translate(5.2, 3.2)" style="fill: yellow"/>
1168
1168
  <use id="EDGES-l2-o1" href="#stickerA" transform="translate(5.2, 2.066666667)" style="fill: limegreen"/>
1169
1169
 
1170
- <use id="EDGES-l3-o0" href="#stickerV" transform="translate(9.4, 1)" style="fill: blue"/>
1170
+ <use id="EDGES-l3-o0" href="#stickerV" transform="translate(9.4, 1)" style="fill: #26f"/>
1171
1171
  <use id="EDGES-l3-o1" href="#stickerV" transform="translate(6.2, 4.2)" style="fill: yellow"/>
1172
1172
 
1173
1173
  <use id="EDGES-l4-o0" href="#stickerV" transform="translate(4.2, 4.2)" style="fill: yellow"/>
@@ -3042,4 +3042,4 @@ export {
3042
3042
  sq1HyperOrbitJSON,
3043
3043
  sq1HyperOrbitSVG
3044
3044
  };
3045
- //# sourceMappingURL=puzzles-dynamic-side-events-HEMWSAMQ.js.map
3045
+ //# sourceMappingURL=puzzles-dynamic-side-events-EEMN2PI4.js.map