cubing 0.28.0 → 0.28.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 (107) hide show
  1. package/README.md +3 -1
  2. package/dist/esm/alg/index.js +4 -4
  3. package/dist/esm/bluetooth/index.js +222 -86
  4. package/dist/esm/bluetooth/index.js.map +3 -3
  5. package/dist/esm/{chunk-F4WWCPVE.js → chunk-2IZUSAXQ.js} +2 -2
  6. package/dist/esm/{chunk-F4WWCPVE.js.map → chunk-2IZUSAXQ.js.map} +1 -1
  7. package/dist/esm/{chunk-KBOIUBUE.js → chunk-DGJ3VGQO.js} +28 -12
  8. package/dist/esm/{chunk-KBOIUBUE.js.map → chunk-DGJ3VGQO.js.map} +1 -1
  9. package/dist/esm/{chunk-NJPSC7SH.js → chunk-GW4FGG42.js} +8 -4
  10. package/dist/esm/{chunk-NJPSC7SH.js.map → chunk-GW4FGG42.js.map} +1 -1
  11. package/dist/esm/{chunk-4KIZAW2Z.js → chunk-LSCTPPWV.js} +22 -8
  12. package/dist/esm/{chunk-4KIZAW2Z.js.map → chunk-LSCTPPWV.js.map} +1 -1
  13. package/dist/esm/{chunk-GXZIBFSN.js → chunk-NI7U4XAZ.js} +380 -242
  14. package/dist/esm/chunk-NI7U4XAZ.js.map +7 -0
  15. package/dist/esm/{chunk-GVPTO3OF.js → chunk-OX6O2ZO5.js} +1 -1
  16. package/dist/esm/{chunk-GVPTO3OF.js.map → chunk-OX6O2ZO5.js.map} +1 -1
  17. package/dist/esm/{chunk-LTPPXK6F.js → chunk-PYWGREIP.js} +44 -13
  18. package/dist/esm/chunk-PYWGREIP.js.map +7 -0
  19. package/dist/esm/{chunk-JAGHV77R.js → chunk-QDVCP6G7.js} +179 -76
  20. package/dist/esm/chunk-QDVCP6G7.js.map +7 -0
  21. package/dist/esm/chunk-RQGVI4ZL.js +1137 -0
  22. package/dist/esm/chunk-RQGVI4ZL.js.map +7 -0
  23. package/dist/esm/{chunk-MGJA5U5O.js → chunk-SBZRVSPK.js} +1 -12
  24. package/dist/esm/{chunk-MGJA5U5O.js.map → chunk-SBZRVSPK.js.map} +0 -0
  25. package/dist/esm/{chunk-V55YSWJY.js → chunk-WXCNEGW3.js} +10 -4
  26. package/dist/esm/{chunk-V55YSWJY.js.map → chunk-WXCNEGW3.js.map} +1 -1
  27. package/dist/esm/{chunk-UP6RBLG2.js → chunk-XU5ILFX5.js} +137 -66
  28. package/dist/esm/{chunk-UP6RBLG2.js.map → chunk-XU5ILFX5.js.map} +3 -3
  29. package/dist/esm/{chunk-4V4RM3YJ.js → chunk-Y22I7F7D.js} +21 -12
  30. package/dist/esm/{chunk-4V4RM3YJ.js.map → chunk-Y22I7F7D.js.map} +2 -2
  31. package/dist/esm/{chunk-ALBEW4DJ.js → chunk-ZB3P5AZN.js} +1 -1
  32. package/dist/esm/{chunk-ALBEW4DJ.js.map → chunk-ZB3P5AZN.js.map} +1 -1
  33. package/dist/esm/{chunk-47SWOA3X.js → chunk-ZNAYJGVL.js} +2 -2
  34. package/dist/esm/{chunk-47SWOA3X.js.map → chunk-ZNAYJGVL.js.map} +1 -1
  35. package/dist/esm/kpuzzle/index.js +3 -3
  36. package/dist/esm/notation/index.js +3 -3
  37. package/dist/esm/protocol/index.js +5 -5
  38. package/dist/esm/puzzle-geometry/index.js +4570 -15
  39. package/dist/esm/puzzle-geometry/index.js.map +4 -4
  40. package/dist/esm/puzzles/index.js +5 -5
  41. package/dist/esm/{puzzles-dynamic-3x3x3-NB2PEZTV.js → puzzles-dynamic-3x3x3-KIG5A6QR.js} +2 -2
  42. package/dist/esm/{puzzles-dynamic-3x3x3-NB2PEZTV.js.map → puzzles-dynamic-3x3x3-KIG5A6QR.js.map} +0 -0
  43. package/dist/esm/puzzles-dynamic-4x4x4-PEDAPUZK.js +126 -0
  44. package/dist/esm/puzzles-dynamic-4x4x4-PEDAPUZK.js.map +7 -0
  45. package/dist/esm/{puzzles-dynamic-side-events-WZI4Y3N6.js → puzzles-dynamic-side-events-5C7LMBWX.js} +2 -2
  46. package/dist/esm/{puzzles-dynamic-side-events-WZI4Y3N6.js.map → puzzles-dynamic-side-events-5C7LMBWX.js.map} +0 -0
  47. package/dist/esm/{puzzles-dynamic-unofficial-FUG3JBMH.js → puzzles-dynamic-unofficial-WWJ4NJMX.js} +2 -2
  48. package/dist/esm/{puzzles-dynamic-unofficial-FUG3JBMH.js.map → puzzles-dynamic-unofficial-WWJ4NJMX.js.map} +0 -0
  49. package/dist/esm/scramble/index.js +5 -5
  50. package/dist/esm/search/index.js +10 -10
  51. package/dist/esm/{search-dynamic-sgs-side-events-ZTOWSMQT.js → search-dynamic-sgs-side-events-MZN22QGN.js} +37 -21
  52. package/dist/esm/search-dynamic-sgs-side-events-MZN22QGN.js.map +7 -0
  53. package/dist/esm/{search-dynamic-sgs-unofficial-V6HZTLGM.js → search-dynamic-sgs-unofficial-AHPCH5XJ.js} +35 -14
  54. package/dist/esm/{search-dynamic-sgs-unofficial-V6HZTLGM.js.map → search-dynamic-sgs-unofficial-AHPCH5XJ.js.map} +2 -2
  55. package/dist/esm/{search-dynamic-solve-3x3x3-K42IWMQV.js → search-dynamic-solve-3x3x3-7XZTYQMO.js} +795 -142
  56. package/dist/esm/{search-dynamic-solve-3x3x3-K42IWMQV.js.map → search-dynamic-solve-3x3x3-7XZTYQMO.js.map} +1 -1
  57. package/dist/esm/{search-dynamic-solve-4x4x4-YH6SB2WB.js → search-dynamic-solve-4x4x4-IBS66QTP.js} +135 -29
  58. package/dist/esm/{search-dynamic-solve-4x4x4-YH6SB2WB.js.map → search-dynamic-solve-4x4x4-IBS66QTP.js.map} +1 -1
  59. package/dist/esm/{search-dynamic-solve-fto-O6UXF7EC.js → search-dynamic-solve-fto-4LI23P6K.js} +253 -69
  60. package/dist/esm/{search-dynamic-solve-fto-O6UXF7EC.js.map → search-dynamic-solve-fto-4LI23P6K.js.map} +2 -2
  61. package/dist/esm/{search-dynamic-solve-kilominx-ZPEOK4DY.js → search-dynamic-solve-kilominx-3HEVQ4MC.js} +32 -8
  62. package/dist/esm/{search-dynamic-solve-kilominx-ZPEOK4DY.js.map → search-dynamic-solve-kilominx-3HEVQ4MC.js.map} +2 -2
  63. package/dist/esm/{search-dynamic-solve-master_tetraminx-3RKD3IAN.js → search-dynamic-solve-master_tetraminx-UB32C7MM.js} +111 -42
  64. package/dist/esm/{search-dynamic-solve-master_tetraminx-3RKD3IAN.js.map → search-dynamic-solve-master_tetraminx-UB32C7MM.js.map} +2 -2
  65. package/dist/esm/{search-dynamic-solve-sq1-WIJEGVLP.js → search-dynamic-solve-sq1-HA72TYF2.js} +54 -9
  66. package/dist/esm/{search-dynamic-solve-sq1-WIJEGVLP.js.map → search-dynamic-solve-sq1-HA72TYF2.js.map} +2 -2
  67. package/dist/esm/search-worker-inside-generated-string-AMEXYCKK.js +3886 -0
  68. package/dist/esm/search-worker-inside-generated-string-AMEXYCKK.js.map +7 -0
  69. package/dist/esm/{search-worker-js-entry-3VKCL3RX.js → search-worker-js-entry-HUD3PWTB.js} +147 -53
  70. package/dist/esm/{search-worker-js-entry-3VKCL3RX.js.map → search-worker-js-entry-HUD3PWTB.js.map} +2 -2
  71. package/dist/esm/{search-worker-ts-entry-J3TDBCMV.js → search-worker-ts-entry-HER6WT5D.js} +5 -5
  72. package/dist/esm/{search-worker-ts-entry-J3TDBCMV.js.map → search-worker-ts-entry-HER6WT5D.js.map} +1 -1
  73. package/dist/esm/stream/index.js +12 -8
  74. package/dist/esm/stream/index.js.map +1 -1
  75. package/dist/esm/twisty/index.js +1164 -1513
  76. package/dist/esm/twisty/index.js.map +4 -4
  77. package/dist/esm/{twisty-dynamic-3d-UQJETF7O.js → twisty-dynamic-3d-NJUXK7KI.js} +358 -146
  78. package/dist/esm/twisty-dynamic-3d-NJUXK7KI.js.map +7 -0
  79. package/dist/types/{Alg-e2a80975.d.ts → Alg-137fb0d5.d.ts} +19 -16
  80. package/dist/types/{KState-a2f0e651.d.ts → KState-a73111d7.d.ts} +1 -9
  81. package/dist/types/{TwizzleLink-cd0fa192.d.ts → TwizzleLink-bef52ecd.d.ts} +47 -13
  82. package/dist/types/alg/index.d.ts +7 -6
  83. package/dist/types/bluetooth/index.d.ts +4 -4
  84. package/dist/types/{bluetooth-puzzle-3670a6a1.d.ts → bluetooth-puzzle-8a678993.d.ts} +9 -9
  85. package/dist/types/kpuzzle/index.d.ts +2 -2
  86. package/dist/types/notation/index.d.ts +1 -1
  87. package/dist/types/{outside-0ce1b145.d.ts → outside-e55f28a0.d.ts} +2 -2
  88. package/dist/types/{parse-ec97687c.d.ts → parseAlg-a28f7568.d.ts} +1 -1
  89. package/dist/types/protocol/index.d.ts +2 -2
  90. package/dist/types/puzzle-geometry/index.d.ts +3 -3
  91. package/dist/types/puzzles/index.d.ts +5 -5
  92. package/dist/types/scramble/index.d.ts +3 -3
  93. package/dist/types/search/index.d.ts +3 -3
  94. package/dist/types/stream/index.d.ts +5 -5
  95. package/dist/types/twisty/index.d.ts +13 -6
  96. package/package.json +43 -40
  97. package/dist/esm/chunk-7BLWQDZX.js +0 -342
  98. package/dist/esm/chunk-7BLWQDZX.js.map +0 -7
  99. package/dist/esm/chunk-GXZIBFSN.js.map +0 -7
  100. package/dist/esm/chunk-JAGHV77R.js.map +0 -7
  101. package/dist/esm/chunk-LTPPXK6F.js.map +0 -7
  102. package/dist/esm/chunk-ROGN5SXC.js +0 -4386
  103. package/dist/esm/chunk-ROGN5SXC.js.map +0 -7
  104. package/dist/esm/search-dynamic-sgs-side-events-ZTOWSMQT.js.map +0 -7
  105. package/dist/esm/search-worker-inside-generated-string-T43JGYSP.js +0 -3768
  106. package/dist/esm/search-worker-inside-generated-string-T43JGYSP.js.map +0 -7
  107. package/dist/esm/twisty-dynamic-3d-UQJETF7O.js.map +0 -7
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/cubing/search/inside/inside-worker.ts", "../../src/cubing/search/inside/solve/addOrientationSuffix.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/index.ts"],
4
4
  "sourcesContent": ["let isInsideWorker = false;\n\nexport function setIsInsideWorker(inside: boolean) {\n isInsideWorker = inside;\n}\n\nexport function mustBeInsideWorker(): void {\n if (!isInsideWorker) {\n throw new Error(\n \"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\",\n );\n }\n}\n", "import { Alg, AlgBuilder, Move } from \"../../../alg\";\nimport { randomChoiceFactory } from \"../../../vendor/random-uint-below\";\n\nexport async function addOrientationSuffix(\n alg: Alg,\n suffixSpec: (null | string)[][],\n): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n algBuilder.experimentalPushAlg(alg);\n for (const suffix of suffixSpec) {\n const choice = ((await randomChoiceFactory()) as any)(suffix);\n if (choice !== null) {\n algBuilder.push(Move.fromString(choice));\n }\n }\n return algBuilder.toAlg();\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamic3x3x3min2phase = from<\n typeof import(\"./search-dynamic-solve-3x3x3\")\n>(() => import(\"./search-dynamic-solve-3x3x3\"));\n", "/*\n\nFace order:\n\n U\nLFRB\n D\n\n | 0| 1| 2|\n | 3| 4| 5|\n | 6| 7| 8|\n| 9|10|11|18|19|20|27|28|29|36|37|38|\n|12|13|14|21|22|23|30|31|32|39|40|41|\n|15|16|17|24|25|26|33|34|35|42|43|44|\n |45|46|47|\n |48|49|50|\n |51|52|53|\n*/\n\nimport type { KState } from \"../../../../../kpuzzle/KState\";\n\nconst reidEdgeOrder = \"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \");\nconst reidCornerOrder = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\nconst centerOrder = \"U L F R B D\".split(\" \");\n\n// const stickers = [reidEdgeOrder, reidCornerOrder, centerOrder];\n\n// /*\n// |1 20|0 20|1 10|\n// |0 30|2 00|0 10|\n// |1 30|0 00|1 00|\n// |1 22|0 31|1 31|1 32|0 01|1 01|1 02|0 11|1 11|1 12|0 21|1 21|\n// |0111|2 10|0 91|0 90|2 20|0 80|0 81|2 30|0101|0100|2 40|0110|\n// |1 61|0 71|1 52|1 51|0 41|1 42|1 41|0 51|1 72|1 71|0 61|1 62|\n// |1 50|0 40|1 40|\n// |0 70|2 50|0 50|\n// |1 60|0 60|1 70|\n// */\n\nconst map: [number, number, number][] = [\n [1, 2, 0],\n [0, 2, 0],\n [1, 1, 0],\n [0, 3, 0],\n [2, 0, 0],\n [0, 1, 0],\n [1, 3, 0],\n [0, 0, 0],\n [1, 0, 0],\n [1, 0, 2],\n [0, 1, 1],\n [1, 1, 1],\n [0, 8, 1],\n [2, 3, 0],\n [0, 10, 1],\n [1, 4, 1],\n [0, 5, 1],\n [1, 7, 2],\n [1, 3, 2],\n [0, 0, 1],\n [1, 0, 1],\n [0, 9, 0],\n [2, 2, 0],\n [0, 8, 0],\n [1, 5, 1],\n [0, 4, 1],\n [1, 4, 2],\n [1, 5, 0],\n [0, 4, 0],\n [1, 4, 0],\n [0, 7, 0],\n [2, 5, 0],\n [0, 5, 0],\n [1, 6, 0],\n [0, 6, 0],\n [1, 7, 0],\n [1, 2, 2],\n [0, 3, 1],\n [1, 3, 1],\n [0, 11, 1],\n [2, 1, 0],\n [0, 9, 1],\n [1, 6, 1],\n [0, 7, 1],\n [1, 5, 2],\n [1, 1, 2],\n [0, 2, 1],\n [1, 2, 1],\n [0, 10, 0],\n [2, 4, 0],\n [0, 11, 0],\n [1, 7, 1],\n [0, 6, 1],\n [1, 6, 2],\n];\n\nfunction rotateLeft(s: string, i: number): string {\n return s.slice(i) + s.slice(0, i);\n}\n\nfunction toReid333Struct(state: KState): string[][] {\n const output: string[][] = [[], []];\n for (let i = 0; i < 6; i++) {\n if (state.stateData[\"CENTERS\"].pieces[i] !== i) {\n throw new Error(\"non-oriented puzzles are not supported\");\n }\n }\n for (let i = 0; i < 12; i++) {\n output[0].push(\n rotateLeft(\n reidEdgeOrder[state.stateData[\"EDGES\"].pieces[i]],\n state.stateData[\"EDGES\"].orientation[i],\n ),\n );\n }\n for (let i = 0; i < 8; i++) {\n output[1].push(\n rotateLeft(\n reidCornerOrder[state.stateData[\"CORNERS\"].pieces[i]],\n state.stateData[\"CORNERS\"].orientation[i],\n ),\n );\n }\n output.push(centerOrder);\n return output;\n}\n\n// function toReid333String(state: Transformation): string {\n// return toReid333Struct(state)\n// .map((l) => l.join(\" \"))\n// .join(\" \");\n// }\n\nexport function toMin2PhaseState(state: KState): string {\n const reid = toReid333Struct(state);\n return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join(\"\");\n}\n", "import { Move } from \"../../../../../alg\";\nimport type { KPuzzle } from \"../../../../../kpuzzle\";\nimport { KState } from \"../../../../../kpuzzle\";\n\nexport function isEquivalentTranformationIgnoringCENTERS(\n t1: KState,\n t2: KState,\n): boolean {\n const t1NoCenterOri = new KState(t1.kpuzzle, {\n EDGES: t1.stateData.EDGES,\n CORNERS: t1.stateData.CORNERS,\n CENTERS: {\n pieces: t1.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n const t2NoCenterOri = new KState(t2.kpuzzle, {\n EDGES: t2.stateData.EDGES,\n CORNERS: t2.stateData.CORNERS,\n CENTERS: {\n pieces: t2.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n return t1NoCenterOri.isIdentical(t2NoCenterOri);\n}\n\nexport function passesFilter(kpuzzle: KPuzzle, state: KState): boolean {\n if (isEquivalentTranformationIgnoringCENTERS(kpuzzle.startState(), state)) {\n return false;\n }\n\n for (const face of \"ULFRBD\") {\n for (let amount = 1; amount < 4; amount++) {\n const transformation = kpuzzle\n .moveToTransformation(new Move(face, amount))\n .toKState();\n if (isEquivalentTranformationIgnoringCENTERS(transformation, state)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n// TODO: implement tests\n// {\n// const def = await puzzles[\"3x3x3\"].def();\n// const kpuzzle = new KPuzzle(def);\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"R\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"D\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.reset();\n// kpuzzle.applyAlg(parse(\"(R' U' R U')5\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// }\n", "// TODO: Verify\nexport const sgs3x3x3: string[][] = [\n [\n \"R U'\",\n \"R2 B\", //\n \"D2 B2\",\n \"D' L B'\", //\n \"R' U'\",\n \"B\", //\n \"D B2\",\n \"R' B\", //\n \"L' U\",\n \"L2 B'\", //\n \"B2\",\n \"D L B'\", //\n \"L U\",\n \"B'\", //\n \"U'\",\n \"R B\", //\n \"D' B2\",\n \"L B'\", //\n \"U2\",\n \"U L' B'\", //\n \"\",\n \"U' L' B'\", //\n \"U\",\n \"L' B'\",\n ],\n [\n \"F2 L2\",\n \"F' L'\",\n \"R' F L2\", //\n \"D' L2\",\n \"F L2\",\n \"F2 L'\", //\n \"R' F' L'\",\n \"R2 F L2\",\n \"R2 F2 L'\", //\n \"L2\",\n \"F L'\",\n \"D' L\", //\n \"D2 L2\",\n \"R2 F' L'\",\n \"D L\", //\n \"\",\n \"L2 F L'\",\n \"L F' L2\", //\n \"L F L'\",\n \"F' L2\",\n \"L'\", //\n \"D L2\",\n \"D F L'\",\n \"L\",\n ],\n [\n \"R B U2 B'\",\n \"R2 B U' B'\", //\n \"F2 B U B'\",\n \"F B2 L' B2\", //\n \"B2 L B2\",\n \"B U' B'\", //\n \"R2 B U2 B'\",\n \"R' B U' B'\", //\n \"B2 L' B2\",\n \"F B U B'\", //\n \"B2 U' B2\",\n \"B' L B\", //\n \"L F' B D' B'\",\n \"B' U' B2 D B'\", //\n \"B U2 B'\",\n \"R B U' B'\", //\n \"B2 L2 B2\",\n \"D' B' L B\", //\n \"B U B'\",\n \"F' B2 L' B2\", //\n \"\",\n \"B2 L' B' U' B'\",\n ],\n [\n \"U F2 L2 U'\",\n \"F' U L' U'\", //\n \"F2 U L' U'\",\n \"U F L2 U'\", //\n \"U2 B2 U2\",\n \"R' U' B U\", //\n \"D2 U L U'\",\n \"D U2 B' U2\", //\n \"U L2 U'\",\n \"F U L' U'\", //\n \"D U L U'\",\n \"U2 B' U2\", //\n \"\",\n \"U2 B' U' L' U'\", //\n \"U2 L' U2\",\n \"U' B U\", //\n \"U L U'\",\n \"D' U2 B' U2\", //\n \"U L' U'\",\n \"U2 B U2\",\n ],\n [\n \"R' D' F2\",\n \"F'\", //\n \"F2\",\n \"D R F'\", //\n \"R D' F2\",\n \"R2 F'\", //\n \"D' F2\",\n \"R F'\", //\n \"F2 R' D' F2\",\n \"F\", //\n \"D2 F2\",\n \"D' R F'\", //\n \"R2 D' F2\",\n \"R' F'\", //\n \"D F2\",\n \"D2 R F'\", //\n \"\",\n \"F R' D' F2\",\n ],\n [\n \"R' D2 F' D F\",\n \"R F2 R2 F2\",\n \"R2 F' D2 F\", //\n \"F' R2 D2 F\",\n \"L D' L'\",\n \"D F' D2 F\", //\n \"F2 R2 F2\",\n \"R F' D2 F\",\n \"F' R2 D' F\", //\n \"F' R' D2 F\",\n \"F2 R' F2\",\n \"L D L'\", //\n \"F' R D' F\",\n \"F2 R F2\",\n \"F' D2 F\", //\n \"\",\n \"L D2 R D' L'\",\n \"F' D2 F' R F2\", //\n \"D2 R2 F2 R2 F2\",\n \"D F' D' F\",\n \"F' D F\",\n ],\n [\n \"U F2 U'\",\n \"R U F' U'\", //\n \"D R U F2 U'\",\n \"U F U'\", //\n \"R2 U F2 U'\",\n \"R' U F' U'\", //\n \"R U F2 U'\",\n \"R2 U F' U'\", //\n \"\",\n \"U L D L' F U'\", //\n \"F2 D' R D F2\",\n \"D2 U F U'\", //\n \"R' U F2 U'\",\n \"U F' U'\", //\n \"F2 D2 R D2 F2\",\n \"D U F U'\",\n ],\n [\n \"R2\",\n \"R' B' D B\", //\n \"D R'\",\n \"F' R2 F\", //\n \"\",\n \"R B' D B\", //\n \"R'\",\n \"B' D B\", //\n \"D' R'\",\n \"D2 F' R2 F\", //\n \"R\",\n \"R2 B' D B\", //\n \"D2 R'\",\n \"B' D' B\",\n ],\n [\n \"R2 D' R2\",\n \"F' R' F R\",\n \"R D' R2 D R'\", //\n \"D2 R2 D2 R2\",\n \"R' D' F' R F\",\n \"U F D F' U'\", //\n \"\",\n \"R2 D2 B R' B' R'\",\n \"R' F D' F2 R F\", //\n \"R2 D R2\",\n \"F2 U F U' F\",\n \"R' D F' R F\", //\n \"D R2 D2 R2\",\n \"U F D' F' U'\",\n \"D R' D2 F' R F\", //\n \"R2 D2 R2\",\n \"U F D2 F' U'\",\n \"R' D2 F' R F\",\n ],\n [\n \"B R B'\",\n \"F D F' B R2 B'\", //\n \"D B R2 B'\",\n \"D2 B R' B'\", //\n \"B R2 B'\",\n \"D B R' B'\", //\n \"D' B R2 B'\",\n \"B R' B'\", //\n \"\",\n \"B R2 B' D B R' B'\", //\n \"D2 B R2 B'\",\n \"D' B R' B'\",\n ],\n [\n \"\",\n \"R' D R F D2 F'\", //\n \"R' D R\",\n \"D F D' F'\", //\n \"R F' R' F\",\n \"F D' F'\", //\n \"R' D' R\",\n \"F D2 F'\", //\n \"R' D2 R\",\n \"F D F'\",\n ],\n [\n \"\",\n \"F2 D2 R F' R' D2 F' D2 F'\",\n \"F2 D2 F' D' F D' F' D2 F'\", //\n \"F2 D F2 D F2 D2 F2\",\n \"D2 F L D2 L' D2 F'\",\n \"D F D2 L D2 L' F'\", //\n \"R' D B' D2 B D' R\",\n \"R' D2 B' D2 B R\",\n \"F D2 F' D F D F'\", //\n \"F D' L D2 L' D F'\",\n \"B D' F D B' D' F'\",\n \"F D2 L D2 L' F'\", //\n \"F D' L D L' D F'\",\n \"F L D2 L' D2 F'\",\n \"R' B' D2 B D2 R\",\n ],\n [\n \"D'\",\n \"F L D L' D' F'\", //\n \"D2\",\n \"L B D B' D' L'\", //\n \"D\",\n \"B' L' D' L D B\", //\n \"\",\n \"D F L D L' D' F'\",\n ],\n [\n \"F' D2 F D F' D F\",\n \"F' D' R' D R F\", //\n \"F' R' D' R D F\",\n \"B D R D' R' B'\", //\n \"\",\n \"D B' D' L' D L B\",\n ],\n [\n \"D F D F' D F D2 F'\",\n \"F' U2 B' R' B U2 F' L F' L' F'\", //\n \"\",\n \"D2 L D L2 F L F2 D F\",\n ],\n [\n \"L B' L' F L B L' F'\",\n \"F2 U F' D2 F U' F' D2 F'\",\n \"D' F' D B D' F D B'\", //\n \"F L2 F R2 F' L2 F R2 F2\",\n \"D B D' F' D B' D' F\",\n \"R F L F' R' F L' F'\", //\n \"\",\n \"D2 B L' U2 L B' D2 B L' U2 L B'\",\n \"D2 F R' U2 R F' D2 F R' U2 R F'\", //\n \"R F L' F' R' F L F'\",\n \"D F D' B' D F' D' B\",\n \"L2 F2 L' B2 L F2 L' B2 L'\",\n ],\n [\n \"L B R' B' L' B R B'\",\n \"R' B R F' R' B' R F\",\n \"L D2 L U L' D2 L U' L2\", //\n \"\",\n \"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\n \"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\", //\n \"L B L' F L B' L' F'\",\n \"F' D2 F' U' F D2 F' U F2\",\n \"D' B' D F D' B D F'\",\n ],\n [\"\", \"D2 F' L U2 L' F D2 F' L U2 L' F\", \"D2 B' R U2 R' B D2 B' R U2 R' B\"],\n];\n", "import { Alg, AlgBuilder } from \"../../../../../alg\";\nimport type { KState } from \"../../../../../kpuzzle/KState\";\nimport { puzzles } from \"../../../../../puzzles\";\nimport { randomChoiceFactory } from \"../../../../../vendor/random-uint-below\";\nimport { mustBeInsideWorker } from \"../../../inside-worker\";\nimport { addOrientationSuffix } from \"../../addOrientationSuffix\";\nimport { dynamic3x3x3min2phase } from \"../dynamic/3x3x3\";\nimport { toMin2PhaseState } from \"./convert\";\nimport { passesFilter } from \"./filter\";\nimport { sgs3x3x3 } from \"./legacy-sgs\";\n\nexport async function random333State(): Promise<KState> {\n const kpuzzle = await puzzles[\"3x3x3\"].kpuzzle();\n let state = kpuzzle.startState();\n for (const piece of sgs3x3x3) {\n state = state.applyAlg(\n Alg.fromString(((await randomChoiceFactory()) as any)(piece)),\n );\n }\n if (!passesFilter(kpuzzle, state)) {\n return random333State();\n }\n return state;\n}\n\nexport async function solve333(s: KState): Promise<Alg> {\n mustBeInsideWorker();\n return Alg.fromString(\n (await dynamic3x3x3min2phase).solveState(toMin2PhaseState(s)),\n );\n}\n\nexport async function random333Scramble(): Promise<Alg> {\n return solve333(await random333State());\n}\n\nexport async function initialize333(): Promise<void> {\n (await dynamic3x3x3min2phase).initialize();\n}\n\nconst randomSuffixes = [\n [null, \"Rw\", \"Rw2\", \"Rw'\", \"Fw\", \"Fw'\"],\n [null, \"Dw\", \"Dw2\", \"Dw'\"],\n];\n\nexport async function random333OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random333Scramble(), randomSuffixes);\n}\n\nconst extraBit = new Alg(\"R' U' F\");\nexport async function random333FewestMovesScramble(): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n const unorientedScramble = await random333Scramble();\n algBuilder.experimentalPushAlg(extraBit);\n // TODO:Avoid cancellable moves.\n algBuilder.experimentalPushAlg(unorientedScramble);\n algBuilder.experimentalPushAlg(extraBit);\n return algBuilder.toAlg();\n}\n"],
5
- "mappings": "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,gBAAgB,KAAK,GAAG;AACnE,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;;;AC3CO,IAAM,WAAuB;AAAA,EAClC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,CAAC,IAAI,mCAAmC,iCAAiC;AAC3E;;;ACvRA,gCAAwD;AACtD,QAAM,UAAU,MAAM,QAAQ,SAAS,QAAQ;AAC/C,MAAI,QAAQ,QAAQ,WAAW;AAC/B,aAAW,SAAS,UAAU;AAC5B,YAAQ,MAAM,SACZ,IAAI,WAAa,OAAM,oBAAoB,GAAW,KAAK,CAAC,CAC9D;AAAA,EACF;AACA,MAAI,CAAC,aAAa,SAAS,KAAK,GAAG;AACjC,WAAO,eAAe;AAAA,EACxB;AACA,SAAO;AACT;AAEA,wBAA+B,GAAyB;AACtD,qBAAmB;AACnB,SAAO,IAAI,WACR,OAAM,uBAAuB,WAAW,iBAAiB,CAAC,CAAC,CAC9D;AACF;AAEA,mCAAwD;AACtD,SAAO,SAAS,MAAM,eAAe,CAAC;AACxC;AAEA,+BAAqD;AACnD,EAAC,OAAM,uBAAuB,WAAW;AAC3C;AAEA,IAAM,iBAAiB;AAAA,EACrB,CAAC,MAAM,MAAM,OAAO,OAAO,MAAM,KAAK;AAAA,EACtC,CAAC,MAAM,MAAM,OAAO,KAAK;AAC3B;AAEA,2CAAgE;AAC9D,SAAO,qBAAqB,MAAM,kBAAkB,GAAG,cAAc;AACvE;AAEA,IAAM,WAAW,IAAI,IAAI,SAAS;AAClC,8CAAmE;AACjE,QAAM,aAAa,IAAI,WAAW;AAClC,QAAM,qBAAqB,MAAM,kBAAkB;AACnD,aAAW,oBAAoB,QAAQ;AAEvC,aAAW,oBAAoB,kBAAkB;AACjD,aAAW,oBAAoB,QAAQ;AACvC,SAAO,WAAW,MAAM;AAC1B;",
5
+ "mappings": "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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,CAAC,IAAI,mCAAmC,iCAAiC;AAC3E;;;ACvRA,eAAsB,iBAAkC;AACtD,QAAM,UAAU,MAAM,QAAQ,SAAS,QAAQ;AAC/C,MAAI,QAAQ,QAAQ,WAAW;AAC/B,aAAW,SAAS,UAAU;AAC5B,YAAQ,MAAM;AAAA,MACZ,IAAI,YAAa,MAAM,oBAAoB,GAAW,KAAK,CAAC;AAAA,IAC9D;AAAA,EACF;AACA,MAAI,CAAC,aAAa,SAAS,KAAK,GAAG;AACjC,WAAO,eAAe;AAAA,EACxB;AACA,SAAO;AACT;AAEA,eAAsB,SAAS,GAAyB;AACtD,qBAAmB;AACnB,SAAO,IAAI;AAAA,KACR,MAAM,uBAAuB,WAAW,iBAAiB,CAAC,CAAC;AAAA,EAC9D;AACF;AAEA,eAAsB,oBAAkC;AACtD,SAAO,SAAS,MAAM,eAAe,CAAC;AACxC;AAEA,eAAsB,gBAA+B;AACnD,GAAC,MAAM,uBAAuB,WAAW;AAC3C;AAEA,IAAM,iBAAiB;AAAA,EACrB,CAAC,MAAM,MAAM,OAAO,OAAO,MAAM,KAAK;AAAA,EACtC,CAAC,MAAM,MAAM,OAAO,KAAK;AAC3B;AAEA,eAAsB,4BAA0C;AAC9D,SAAO,qBAAqB,MAAM,kBAAkB,GAAG,cAAc;AACvE;AAEA,IAAM,WAAW,IAAI,IAAI,SAAS;AAClC,eAAsB,+BAA6C;AACjE,QAAM,aAAa,IAAI,WAAW;AAClC,QAAM,qBAAqB,MAAM,kBAAkB;AACnD,aAAW,oBAAoB,QAAQ;AAEvC,aAAW,oBAAoB,kBAAkB;AACjD,aAAW,oBAAoB,QAAQ;AACvC,SAAO,WAAW,MAAM;AAC1B;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Alg
3
- } from "./chunk-GXZIBFSN.js";
3
+ } from "./chunk-NI7U4XAZ.js";
4
4
 
5
5
  // src/cubing/search/inside/solve/parseSGS.ts
6
6
  function parseSGS(kpuzzle, sgs) {
@@ -35,12 +35,16 @@ function parseSGS(kpuzzle, sgs) {
35
35
  sgsActions.splice(sum - 1, 0, { alg: emptyAlg, transformation: identity });
36
36
  }
37
37
  if (sgsActions.length !== sum) {
38
- throw Error(`Bad sgs; expected ${sum - subgroupSizes.length} algs but saw ${sgsActions.length - subgroupSizes.length}`);
38
+ throw Error(
39
+ `Bad sgs; expected ${sum - subgroupSizes.length} algs but saw ${sgsActions.length - subgroupSizes.length}`
40
+ );
39
41
  }
40
42
  const processedPieces = {};
41
43
  for (const orbitName in kpuzzle.definition.orbits) {
42
44
  const orbitDefinition = kpuzzle.definition.orbits[orbitName];
43
- processedPieces[orbitName] = new Array(orbitDefinition.numPieces).fill(false);
45
+ processedPieces[orbitName] = new Array(orbitDefinition.numPieces).fill(
46
+ false
47
+ );
44
48
  }
45
49
  for (let i = subgroupSizes.length - 1; i >= 0; i--) {
46
50
  const pieceOrdering = [];
@@ -81,4 +85,4 @@ function parseSGS(kpuzzle, sgs) {
81
85
  export {
82
86
  parseSGS
83
87
  };
84
- //# sourceMappingURL=chunk-NJPSC7SH.js.map
88
+ //# sourceMappingURL=chunk-GW4FGG42.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/cubing/search/inside/solve/parseSGS.ts"],
4
4
  "sourcesContent": ["import { Alg } from \"../../../alg\";\nimport type { KPuzzle, KTransformation } from \"../../../kpuzzle\";\n\ninterface PieceReference {\n orbitName: string;\n permutationIdx: number;\n}\n\nexport interface SGSAction {\n alg: Alg;\n transformation: KTransformation;\n}\n\nexport interface SGSCachedData {\n ordering: {\n pieceOrdering: PieceReference[];\n lookup: Record<string, SGSAction>;\n }[];\n}\n\nexport function parseSGS(kpuzzle: KPuzzle, sgs: string): SGSCachedData {\n const subgroupSizes: number[] = [];\n const sgsActions: SGSAction[] = [];\n for (const line of sgs.split(\"\\n\")) {\n const lineTokens = line.split(\" \");\n if (line.startsWith(\"SetOrder \")) {\n // ignore\n } else if (line.startsWith(\"Alg \")) {\n const alg = Alg.fromString(line.substring(4));\n sgsActions.push({\n alg: alg,\n transformation: kpuzzle.algToTransformation(alg),\n });\n } else if (line.startsWith(\"SubgroupSizes \")) {\n for (let j = 1; j < lineTokens.length; j++) {\n subgroupSizes.push(parseInt(lineTokens[j]));\n }\n }\n }\n\n const sgsCachedData: SGSCachedData = {\n ordering: new Array(subgroupSizes.length),\n };\n const subgroupAlgOffsets: number[] = [];\n let sum = 0;\n subgroupAlgOffsets.push(0);\n const emptyAlg = Alg.fromString(\"\");\n const identity = kpuzzle.identityTransformation();\n for (let i = 0; i < subgroupSizes.length; i++) {\n sum += subgroupSizes[i];\n subgroupAlgOffsets.push(sum);\n sgsActions.splice(sum - 1, 0, { alg: emptyAlg, transformation: identity });\n }\n if (sgsActions.length !== sum) {\n throw Error(\n `Bad sgs; expected ${sum - subgroupSizes.length} algs but saw ${\n sgsActions.length - subgroupSizes.length\n }`,\n );\n }\n const processedPieces: Record<string, boolean[]> = {};\n for (const orbitName in kpuzzle.definition.orbits) {\n const orbitDefinition = kpuzzle.definition.orbits[orbitName];\n processedPieces[orbitName] = new Array(orbitDefinition.numPieces).fill(\n false,\n );\n }\n for (let i = subgroupSizes.length - 1; i >= 0; i--) {\n const pieceOrdering: PieceReference[] = [];\n for (let j = subgroupAlgOffsets[i]; j < subgroupAlgOffsets[i + 1]; j++) {\n const transformation = sgsActions[j].transformation;\n for (const orbitName in kpuzzle.definition.orbits) {\n const orbitDefinition = kpuzzle.definition.orbits[orbitName];\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n if (\n transformation.transformationData[orbitName].permutation[idx] !==\n idx ||\n transformation.transformationData[orbitName].orientation[idx] !== 0\n ) {\n if (!processedPieces[orbitName][idx]) {\n pieceOrdering.push({ orbitName: orbitName, permutationIdx: idx });\n processedPieces[orbitName][idx] = true;\n }\n }\n }\n }\n }\n const lookup: Record<string, SGSAction> = {};\n for (let j = subgroupAlgOffsets[i]; j < subgroupAlgOffsets[i + 1]; j++) {\n const transformation = sgsActions[j].transformation.invert();\n let key = \"\";\n for (let k = 0; k < pieceOrdering.length; k++) {\n const loc = pieceOrdering[k];\n key = `${key} ${\n transformation.transformationData[loc.orbitName].permutation[\n loc.permutationIdx\n ]\n } ${\n transformation.transformationData[loc.orbitName].orientation[\n loc.permutationIdx\n ]\n }`;\n }\n lookup[key] = sgsActions[j];\n sgsActions[j].alg = sgsActions[j].alg.invert();\n sgsActions[j].transformation = sgsActions[j].transformation.invert();\n }\n sgsCachedData.ordering[i] = {\n pieceOrdering: pieceOrdering,\n lookup: lookup,\n };\n }\n return sgsCachedData;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -3,10 +3,10 @@ import {
3
3
  normalize3x3x3Orientation,
4
4
  puzzleOrientation3x3x3Cache,
5
5
  puzzleOrientation3x3x3Idx
6
- } from "./chunk-LTPPXK6F.js";
6
+ } from "./chunk-PYWGREIP.js";
7
7
  import {
8
8
  KState
9
- } from "./chunk-UP6RBLG2.js";
9
+ } from "./chunk-XU5ILFX5.js";
10
10
 
11
11
  // src/cubing/protocol/binary/orbit-indexing.ts
12
12
  function identityPermutation(numElems) {
@@ -62,7 +62,9 @@ function lexToPermutation(numPieces, lexicographicIdx) {
62
62
 
63
63
  // src/cubing/protocol/binary/binary3x3x3.ts
64
64
  function reorientPuzzle(state, idxU, idxL) {
65
- return state.applyTransformation(puzzleOrientation3x3x3Cache()[idxU][idxL].invert());
65
+ return state.applyTransformation(
66
+ puzzleOrientation3x3x3Cache()[idxU][idxL].invert()
67
+ );
66
68
  }
67
69
  var BIT_LENGTHS = [29, 12, 16, 13, 3, 2, 1, 12];
68
70
  function arraySum(arr) {
@@ -112,12 +114,21 @@ function supportsPuzzleOrientation(components) {
112
114
  function reid3x3x3ToBinaryComponents(state) {
113
115
  const normedState = normalize3x3x3Orientation(state);
114
116
  const epLex = permutationToLex(normedState.stateData["EDGES"].pieces);
115
- const eoMask = orientationsToMask(2, normedState.stateData["EDGES"].orientation);
117
+ const eoMask = orientationsToMask(
118
+ 2,
119
+ normedState.stateData["EDGES"].orientation
120
+ );
116
121
  const cpLex = permutationToLex(normedState.stateData["CORNERS"].pieces);
117
- const coMask = orientationsToMask(3, normedState.stateData["CORNERS"].orientation);
122
+ const coMask = orientationsToMask(
123
+ 3,
124
+ normedState.stateData["CORNERS"].orientation
125
+ );
118
126
  const [poIdxU, poIdxL] = puzzleOrientation3x3x3Idx(state);
119
127
  const moSupport = 1;
120
- const moMask = orientationsToMask(4, normedState.stateData["CENTERS"].orientation);
128
+ const moMask = orientationsToMask(
129
+ 4,
130
+ normedState.stateData["CENTERS"].orientation
131
+ );
121
132
  return {
122
133
  epLex,
123
134
  eoMask,
@@ -223,7 +234,10 @@ function twizzleBinaryToReid3x3x3(buffy) {
223
234
 
224
235
  // src/cubing/protocol/binary/hex.ts
225
236
  function bufferToSpacedHex(buffer) {
226
- return Array.prototype.map.call(new Uint8Array(buffer), (x) => ("00" + x.toString(16)).slice(-2)).join(" ");
237
+ return Array.prototype.map.call(
238
+ new Uint8Array(buffer),
239
+ (x) => ("00" + x.toString(16)).slice(-2)
240
+ ).join(" ");
227
241
  }
228
242
  function spacedHexToBuffer(hex) {
229
243
  return new Uint8Array(hex.split(" ").map((c) => parseInt(c, 16)));
@@ -237,4 +251,4 @@ export {
237
251
  bufferToSpacedHex,
238
252
  spacedHexToBuffer
239
253
  };
240
- //# sourceMappingURL=chunk-4KIZAW2Z.js.map
254
+ //# sourceMappingURL=chunk-LSCTPPWV.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/cubing/protocol/binary/orbit-indexing.ts", "../../src/cubing/protocol/binary/binary3x3x3.ts", "../../src/cubing/protocol/binary/hex.ts"],
4
4
  "sourcesContent": ["export function identityPermutation(numElems: number): number[] {\n const arr = new Array<number>(numElems);\n for (let i = 0; i < numElems; i++) {\n arr[i] = i;\n }\n return arr;\n}\n\n// Inclusive start, exclusive end (similar to `Array.prototype.slice`)\nexport function orientationsToMask(\n radix: number,\n orientations: number[],\n): number {\n let val = 0;\n for (const orientation of orientations) {\n val *= radix;\n val += orientation;\n }\n return val;\n}\n\n// Inclusive start, exclusive end (similar to `Array.prototype.slice`)\nexport function maskToOrientations(\n radix: number,\n numElems: number,\n mask: number,\n): number[] {\n const arr = [];\n while (mask > 0) {\n arr.push(mask % radix);\n mask = Math.floor(mask / radix);\n }\n return new Array<number>(numElems - arr.length).fill(0).concat(arr.reverse());\n}\n\n// From https://www.jaapsch.net/puzzles/compindx.htm#perm\nexport function permutationToLex(permutation: number[]): number {\n const n = permutation.length;\n let lexicographicIdx = 0;\n for (let i = 0; i < n - 1; i++) {\n lexicographicIdx = lexicographicIdx * (n - i);\n for (let j = i + 1; j < n; j++) {\n if (permutation[i] > permutation[j]) {\n lexicographicIdx += 1;\n }\n }\n }\n return lexicographicIdx;\n}\n\n// From https://www.jaapsch.net/puzzles/compindx.htm#perm\nexport function lexToPermutation(\n numPieces: number,\n lexicographicIdx: number,\n): number[] {\n const permutation: number[] = new Array(numPieces);\n permutation[numPieces - 1] = 0;\n for (let i = numPieces - 2; i >= 0; i--) {\n permutation[i] = lexicographicIdx % (numPieces - i);\n lexicographicIdx = Math.floor(lexicographicIdx / (numPieces - i));\n for (let j = i + 1; j < numPieces; j++) {\n if (permutation[j] >= permutation[i]) {\n permutation[j] = permutation[j] + 1;\n }\n }\n }\n return permutation;\n}\n", "import { KState } from \"../../kpuzzle\";\nimport {\n experimental3x3x3KPuzzle,\n experimentalNormalize3x3x3Orientation,\n experimentalPuzzleOrientation3x3x3Cache,\n experimentalPuzzleOrientation3x3x3Idx,\n} from \"../../puzzles/cubing-private\";\nimport {\n identityPermutation,\n lexToPermutation,\n maskToOrientations,\n orientationsToMask,\n permutationToLex,\n} from \"./orbit-indexing\";\n\n// TODO: combine with `orientPuzzle`?\nexport function reorientPuzzle(\n state: KState,\n idxU: number,\n idxL: number,\n): KState {\n return state.applyTransformation(\n experimentalPuzzleOrientation3x3x3Cache()[idxU][idxL].invert(),\n );\n}\n\ntype Binary3x3x3State = ArrayBuffer;\n\n// Bit lengths of the encoded components, in order.\nconst BIT_LENGTHS = [29, 12, 16, 13, 3, 2, 1, 12];\n\n// These fields are sorted by the order in which they appear in the binary format.\nexport interface Binary3x3x3Components {\n epLex: number; // 29 bits, edge permutation\n eoMask: number; // 12 bits, edge orientation\n cpLex: number; // 16 bits, corner permutation\n coMask: number; // 13 bits, corner orientation\n poIdxU: number; // 3 bits, puzzle orientation (U face)\n poIdxL: number; // 2 bits, puzzle orientation (L face)\n moSupport: number; // 1 bit, center orientation support\n moMask: number; // 12 bits, center orientation\n}\n\n// There are various clever ways to do this, but this is simple and efficient.\nfunction arraySum(arr: number[]): number {\n let total = 0;\n for (const entry of arr) {\n total += entry;\n }\n return total;\n}\n\n// Due to limitations in JS bit operations, this is unsafe if any of the bit lengths span across the contents of more than 4 bytes.\n// - Safe: [8, 32]\n// - Unsafe: [4, 32, 4]\n// - Unsafe: [40, 4]\nfunction splitBinary(bitLengths: number[], buffy: ArrayBuffer): number[] {\n const u8buffy = new Uint8Array(buffy);\n let at = 0;\n let bits = 0;\n let accum = 0;\n const values: number[] = [];\n for (const bitLength of bitLengths) {\n while (bits < bitLength) {\n accum = (accum << 8) | u8buffy[at++];\n bits += 8;\n }\n values.push((accum >> (bits - bitLength)) & ((1 << bitLength) - 1));\n bits -= bitLength;\n }\n return values;\n}\n\n// See above for safety notes.\nfunction concatBinary(bitLengths: number[], values: number[]): ArrayBuffer {\n const buffy = new Uint8Array(Math.ceil(arraySum(bitLengths) / 8));\n let at = 0;\n let bits = 0;\n let accum = 0;\n for (let i = 0; i < bitLengths.length; i++) {\n accum = (accum << bitLengths[i]) | values[i];\n bits += bitLengths[i];\n while (bits >= 8) {\n buffy[at++] = accum >> (bits - 8);\n bits -= 8;\n }\n }\n if (bits > 0) {\n buffy[at++] = accum << (8 - bits);\n }\n return buffy;\n}\n\n// 0x111 (for idxU) means \"not supported\"\nfunction supportsPuzzleOrientation(components: Binary3x3x3Components): boolean {\n return components.poIdxU !== 7;\n}\n\nexport function reid3x3x3ToBinaryComponents(\n state: KState,\n): Binary3x3x3Components {\n const normedState = experimentalNormalize3x3x3Orientation(state);\n\n const epLex = permutationToLex(normedState.stateData[\"EDGES\"].pieces);\n const eoMask = orientationsToMask(\n 2,\n normedState.stateData[\"EDGES\"].orientation,\n );\n const cpLex = permutationToLex(normedState.stateData[\"CORNERS\"].pieces);\n const coMask = orientationsToMask(\n 3,\n normedState.stateData[\"CORNERS\"].orientation,\n );\n const [poIdxU, poIdxL] = experimentalPuzzleOrientation3x3x3Idx(state);\n const moSupport = 1; // Required for now.\n const moMask = orientationsToMask(\n 4,\n normedState.stateData[\"CENTERS\"].orientation,\n );\n\n return {\n epLex,\n eoMask,\n cpLex,\n coMask,\n poIdxU,\n poIdxL,\n moSupport,\n moMask,\n };\n}\n\nexport function binaryComponentsToTwizzleBinary(\n components: Binary3x3x3Components,\n): Binary3x3x3State {\n const { epLex, eoMask, cpLex, coMask, poIdxU, poIdxL, moSupport, moMask } =\n components;\n\n return concatBinary(BIT_LENGTHS, [\n epLex,\n eoMask,\n cpLex,\n coMask,\n poIdxU,\n poIdxL,\n moSupport,\n moMask,\n ]);\n}\n\n/** @category Binary 3x3x3 Format */\nexport function reid3x3x3ToTwizzleBinary(state: KState): Binary3x3x3State {\n const components: Binary3x3x3Components = reid3x3x3ToBinaryComponents(state);\n return binaryComponentsToTwizzleBinary(components);\n}\n\n/** @category Binary 3x3x3 Format */\nexport function twizzleBinaryToBinaryComponents(\n buffer: ArrayBuffer,\n): Binary3x3x3Components {\n const [epLex, eoMask, cpLex, coMask, poIdxU, poIdxL, moSupport, moMask] =\n splitBinary(BIT_LENGTHS, buffer);\n\n return {\n epLex,\n eoMask,\n cpLex,\n coMask,\n poIdxU,\n poIdxL,\n moSupport,\n moMask,\n };\n}\n\n/** @category Binary 3x3x3 Format */\nexport function binaryComponentsToReid3x3x3(\n components: Binary3x3x3Components,\n): KState {\n if (components.moSupport !== 1) {\n throw new Error(\"Must support center orientation.\");\n }\n\n const normedState = new KState(experimental3x3x3KPuzzle, {\n EDGES: {\n pieces: lexToPermutation(12, components.epLex),\n orientation: maskToOrientations(2, 12, components.eoMask),\n },\n CORNERS: {\n pieces: lexToPermutation(8, components.cpLex),\n orientation: maskToOrientations(3, 8, components.coMask),\n },\n CENTERS: {\n pieces: identityPermutation(6),\n orientation: maskToOrientations(4, 6, components.moMask),\n },\n });\n\n if (!supportsPuzzleOrientation(components)) {\n return normedState;\n }\n\n return reorientPuzzle(normedState, components.poIdxU, components.poIdxL);\n}\n\n// Returns a list of error string.\n// An empty list means validation success.\nfunction validateComponents(components: Binary3x3x3Components): string[] {\n const errors = [];\n if (components.epLex < 0 || components.epLex >= 479001600) {\n errors.push(`epLex (${components.epLex}) out of range`);\n }\n if (components.cpLex < 0 || components.cpLex >= 40320) {\n errors.push(`cpLex (${components.cpLex}) out of range`);\n }\n if (components.coMask < 0 || components.coMask >= 6561) {\n errors.push(`coMask (${components.coMask}) out of range`);\n }\n if (components.poIdxU < 0 || components.poIdxU >= 6) {\n // 0x111 (for idxU) means \"not supported\"\n if (supportsPuzzleOrientation(components)) {\n errors.push(`poIdxU (${components.poIdxU}) out of range`);\n }\n }\n // The following cannot be (f decoded from binary properl) out of rangey.\n if (components.eoMask < 0 || components.eoMask >= 4096) {\n errors.push(`eoMask (${components.eoMask}) out of range`);\n }\n if (components.moMask < 0 || components.moMask >= 4096) {\n errors.push(`moMask (${components.moMask}) out of range`);\n }\n if (components.poIdxL < 0 || components.poIdxL >= 4) {\n errors.push(`poIdxL (${components.poIdxL}) out of range`);\n }\n if (components.moSupport < 0 || components.moSupport >= 2) {\n errors.push(`moSupport (${components.moSupport}) out of range`);\n }\n return errors;\n}\n\n/** @category Binary 3x3x3 Format */\nexport function twizzleBinaryToReid3x3x3(buffy: ArrayBuffer): KState {\n const components = twizzleBinaryToBinaryComponents(buffy);\n const errors = validateComponents(components);\n if (errors.length !== 0) {\n throw new Error(`Invalid binary state components: ${errors.join(\", \")}`);\n }\n return binaryComponentsToReid3x3x3(components);\n}\n", "export function bufferToSpacedHex(buffer: ArrayBuffer): string {\n // buffer is an ArrayBuffer\n return (\n Array.prototype.map.call(new Uint8Array(buffer), (x: number) =>\n (\"00\" + x.toString(16)).slice(-2),\n ) as string[]\n ).join(\" \");\n}\n\nexport function spacedHexToBuffer(hex: string): Uint8Array {\n return new Uint8Array(hex.split(\" \").map((c) => parseInt(c, 16)));\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }