@cubingcenter/scrambler 0.1.0

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 (359) hide show
  1. package/README.md +169 -0
  2. package/dist/cli/index.d.ts +3 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +10 -0
  5. package/dist/cli/run.d.ts +9 -0
  6. package/dist/cli/run.d.ts.map +1 -0
  7. package/dist/cli/run.js +139 -0
  8. package/dist/core/api.d.ts +19 -0
  9. package/dist/core/api.d.ts.map +1 -0
  10. package/dist/core/api.js +94 -0
  11. package/dist/core/errors.d.ts +21 -0
  12. package/dist/core/errors.d.ts.map +1 -0
  13. package/dist/core/errors.js +34 -0
  14. package/dist/core/index.d.ts +5 -0
  15. package/dist/core/index.d.ts.map +1 -0
  16. package/dist/core/index.js +3 -0
  17. package/dist/core/registry.d.ts +10 -0
  18. package/dist/core/registry.d.ts.map +1 -0
  19. package/dist/core/registry.js +35 -0
  20. package/dist/core/types.d.ts +34 -0
  21. package/dist/core/types.d.ts.map +1 -0
  22. package/dist/core/types.js +1 -0
  23. package/dist/index.d.ts +4 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +3 -0
  26. package/dist/puzzles/clock/index.d.ts +2 -0
  27. package/dist/puzzles/clock/index.d.ts.map +1 -0
  28. package/dist/puzzles/clock/index.js +1 -0
  29. package/dist/puzzles/clock/scrambler.d.ts +4 -0
  30. package/dist/puzzles/clock/scrambler.d.ts.map +1 -0
  31. package/dist/puzzles/clock/scrambler.js +50 -0
  32. package/dist/puzzles/cube2/facelets.d.ts +5 -0
  33. package/dist/puzzles/cube2/facelets.d.ts.map +1 -0
  34. package/dist/puzzles/cube2/facelets.js +53 -0
  35. package/dist/puzzles/cube2/index.d.ts +10 -0
  36. package/dist/puzzles/cube2/index.d.ts.map +1 -0
  37. package/dist/puzzles/cube2/index.js +8 -0
  38. package/dist/puzzles/cube2/moves.d.ts +9 -0
  39. package/dist/puzzles/cube2/moves.d.ts.map +1 -0
  40. package/dist/puzzles/cube2/moves.js +79 -0
  41. package/dist/puzzles/cube2/random-state.d.ts +3 -0
  42. package/dist/puzzles/cube2/random-state.d.ts.map +1 -0
  43. package/dist/puzzles/cube2/random-state.js +51 -0
  44. package/dist/puzzles/cube2/scrambler.d.ts +6 -0
  45. package/dist/puzzles/cube2/scrambler.d.ts.map +1 -0
  46. package/dist/puzzles/cube2/scrambler.js +54 -0
  47. package/dist/puzzles/cube2/solver/browser-loader.d.ts +12 -0
  48. package/dist/puzzles/cube2/solver/browser-loader.d.ts.map +1 -0
  49. package/dist/puzzles/cube2/solver/browser-loader.js +80 -0
  50. package/dist/puzzles/cube2/solver/generated/distances.bin +1 -0
  51. package/dist/puzzles/cube2/solver/generated/manifest.json +21 -0
  52. package/dist/puzzles/cube2/solver/generated/orientation-distances.bin +0 -0
  53. package/dist/puzzles/cube2/solver/generated/orientation-table.bin +0 -0
  54. package/dist/puzzles/cube2/solver/generated/permutation-distances.bin +0 -0
  55. package/dist/puzzles/cube2/solver/generated/permutation-table.bin +0 -0
  56. package/dist/puzzles/cube2/solver/generated-assets.d.ts +6 -0
  57. package/dist/puzzles/cube2/solver/generated-assets.d.ts.map +1 -0
  58. package/dist/puzzles/cube2/solver/generated-assets.js +25 -0
  59. package/dist/puzzles/cube2/solver/index.d.ts +3 -0
  60. package/dist/puzzles/cube2/solver/index.d.ts.map +1 -0
  61. package/dist/puzzles/cube2/solver/index.js +1 -0
  62. package/dist/puzzles/cube2/solver/node-loader.d.ts +6 -0
  63. package/dist/puzzles/cube2/solver/node-loader.d.ts.map +1 -0
  64. package/dist/puzzles/cube2/solver/node-loader.js +83 -0
  65. package/dist/puzzles/cube2/solver/search.d.ts +8 -0
  66. package/dist/puzzles/cube2/solver/search.d.ts.map +1 -0
  67. package/dist/puzzles/cube2/solver/search.js +50 -0
  68. package/dist/puzzles/cube2/solver/table-metadata.d.ts +16 -0
  69. package/dist/puzzles/cube2/solver/table-metadata.d.ts.map +1 -0
  70. package/dist/puzzles/cube2/solver/table-metadata.js +15 -0
  71. package/dist/puzzles/cube2/solver/tables.d.ts +14 -0
  72. package/dist/puzzles/cube2/solver/tables.d.ts.map +1 -0
  73. package/dist/puzzles/cube2/solver/tables.js +82 -0
  74. package/dist/puzzles/cube2/state.d.ts +6 -0
  75. package/dist/puzzles/cube2/state.d.ts.map +1 -0
  76. package/dist/puzzles/cube2/state.js +30 -0
  77. package/dist/puzzles/cube2/types.d.ts +23 -0
  78. package/dist/puzzles/cube2/types.d.ts.map +1 -0
  79. package/dist/puzzles/cube2/types.js +21 -0
  80. package/dist/puzzles/cube2/validation.d.ts +6 -0
  81. package/dist/puzzles/cube2/validation.d.ts.map +1 -0
  82. package/dist/puzzles/cube2/validation.js +72 -0
  83. package/dist/puzzles/cube3/facelets.d.ts +5 -0
  84. package/dist/puzzles/cube3/facelets.d.ts.map +1 -0
  85. package/dist/puzzles/cube3/facelets.js +89 -0
  86. package/dist/puzzles/cube3/index.d.ts +10 -0
  87. package/dist/puzzles/cube3/index.d.ts.map +1 -0
  88. package/dist/puzzles/cube3/index.js +8 -0
  89. package/dist/puzzles/cube3/moves.d.ts +9 -0
  90. package/dist/puzzles/cube3/moves.d.ts.map +1 -0
  91. package/dist/puzzles/cube3/moves.js +210 -0
  92. package/dist/puzzles/cube3/random-state.d.ts +3 -0
  93. package/dist/puzzles/cube3/random-state.d.ts.map +1 -0
  94. package/dist/puzzles/cube3/random-state.js +59 -0
  95. package/dist/puzzles/cube3/scrambler.d.ts +6 -0
  96. package/dist/puzzles/cube3/scrambler.d.ts.map +1 -0
  97. package/dist/puzzles/cube3/scrambler.js +59 -0
  98. package/dist/puzzles/cube3/solver/browser-loader.d.ts +5 -0
  99. package/dist/puzzles/cube3/solver/browser-loader.d.ts.map +1 -0
  100. package/dist/puzzles/cube3/solver/browser-loader.js +134 -0
  101. package/dist/puzzles/cube3/solver/browser-worker-pool.d.ts +31 -0
  102. package/dist/puzzles/cube3/solver/browser-worker-pool.d.ts.map +1 -0
  103. package/dist/puzzles/cube3/solver/browser-worker-pool.js +118 -0
  104. package/dist/puzzles/cube3/solver/browser-worker.d.ts +2 -0
  105. package/dist/puzzles/cube3/solver/browser-worker.d.ts.map +1 -0
  106. package/dist/puzzles/cube3/solver/browser-worker.js +71 -0
  107. package/dist/puzzles/cube3/solver/coordinates.d.ts +34 -0
  108. package/dist/puzzles/cube3/solver/coordinates.d.ts.map +1 -0
  109. package/dist/puzzles/cube3/solver/coordinates.js +266 -0
  110. package/dist/puzzles/cube3/solver/generated/manifest.json +404 -0
  111. package/dist/puzzles/cube3/solver/generated/move-cornerOrientation.bin +0 -0
  112. package/dist/puzzles/cube3/solver/generated/move-cornerPermutation.bin +0 -0
  113. package/dist/puzzles/cube3/solver/generated/move-edgeOrientation.bin +0 -0
  114. package/dist/puzzles/cube3/solver/generated/move-slicePermutation.bin +0 -0
  115. package/dist/puzzles/cube3/solver/generated/move-udEdgePermutation.bin +0 -0
  116. package/dist/puzzles/cube3/solver/generated/move-udSlice.bin +0 -0
  117. package/dist/puzzles/cube3/solver/generated/pruning-cornerOrientation.bin +1 -0
  118. package/dist/puzzles/cube3/solver/generated/pruning-cornerOrientationEdgeOrientation.bin +1 -0
  119. package/dist/puzzles/cube3/solver/generated/pruning-cornerPermutation.bin +1 -0
  120. package/dist/puzzles/cube3/solver/generated/pruning-cornerPermutationSlicePermutation.bin +1 -0
  121. package/dist/puzzles/cube3/solver/generated/pruning-edgeOrientation.bin +1 -0
  122. package/dist/puzzles/cube3/solver/generated/pruning-slicePermutation.bin +1 -0
  123. package/dist/puzzles/cube3/solver/generated/pruning-udEdgePermutation.bin +1 -0
  124. package/dist/puzzles/cube3/solver/generated/pruning-udEdgePermutationSlicePermutation.bin +1 -0
  125. package/dist/puzzles/cube3/solver/generated/pruning-udSlice.bin +0 -0
  126. package/dist/puzzles/cube3/solver/generated-assets.d.ts +5 -0
  127. package/dist/puzzles/cube3/solver/generated-assets.d.ts.map +1 -0
  128. package/dist/puzzles/cube3/solver/generated-assets.js +60 -0
  129. package/dist/puzzles/cube3/solver/index.d.ts +10 -0
  130. package/dist/puzzles/cube3/solver/index.d.ts.map +1 -0
  131. package/dist/puzzles/cube3/solver/index.js +5 -0
  132. package/dist/puzzles/cube3/solver/node-loader.d.ts +3 -0
  133. package/dist/puzzles/cube3/solver/node-loader.d.ts.map +1 -0
  134. package/dist/puzzles/cube3/solver/node-loader.js +120 -0
  135. package/dist/puzzles/cube3/solver/phase1.d.ts +28 -0
  136. package/dist/puzzles/cube3/solver/phase1.d.ts.map +1 -0
  137. package/dist/puzzles/cube3/solver/phase1.js +150 -0
  138. package/dist/puzzles/cube3/solver/phase2.d.ts +44 -0
  139. package/dist/puzzles/cube3/solver/phase2.d.ts.map +1 -0
  140. package/dist/puzzles/cube3/solver/phase2.js +270 -0
  141. package/dist/puzzles/cube3/solver/search-utils.d.ts +9 -0
  142. package/dist/puzzles/cube3/solver/search-utils.d.ts.map +1 -0
  143. package/dist/puzzles/cube3/solver/search-utils.js +41 -0
  144. package/dist/puzzles/cube3/solver/table-metadata.d.ts +97 -0
  145. package/dist/puzzles/cube3/solver/table-metadata.d.ts.map +1 -0
  146. package/dist/puzzles/cube3/solver/table-metadata.js +21 -0
  147. package/dist/puzzles/cube3/solver/tables.d.ts +72 -0
  148. package/dist/puzzles/cube3/solver/tables.d.ts.map +1 -0
  149. package/dist/puzzles/cube3/solver/tables.js +202 -0
  150. package/dist/puzzles/cube3/solver/worker-pool.d.ts +18 -0
  151. package/dist/puzzles/cube3/solver/worker-pool.d.ts.map +1 -0
  152. package/dist/puzzles/cube3/solver/worker-pool.js +116 -0
  153. package/dist/puzzles/cube3/solver/worker.d.ts +2 -0
  154. package/dist/puzzles/cube3/solver/worker.d.ts.map +1 -0
  155. package/dist/puzzles/cube3/solver/worker.js +73 -0
  156. package/dist/puzzles/cube3/state.d.ts +6 -0
  157. package/dist/puzzles/cube3/state.d.ts.map +1 -0
  158. package/dist/puzzles/cube3/state.js +40 -0
  159. package/dist/puzzles/cube3/subset-state.d.ts +4 -0
  160. package/dist/puzzles/cube3/subset-state.d.ts.map +1 -0
  161. package/dist/puzzles/cube3/subset-state.js +163 -0
  162. package/dist/puzzles/cube3/types.d.ts +29 -0
  163. package/dist/puzzles/cube3/types.d.ts.map +1 -0
  164. package/dist/puzzles/cube3/types.js +22 -0
  165. package/dist/puzzles/cube3/validation.d.ts +6 -0
  166. package/dist/puzzles/cube3/validation.d.ts.map +1 -0
  167. package/dist/puzzles/cube3/validation.js +83 -0
  168. package/dist/puzzles/cube4/facelets.d.ts +5 -0
  169. package/dist/puzzles/cube4/facelets.d.ts.map +1 -0
  170. package/dist/puzzles/cube4/facelets.js +135 -0
  171. package/dist/puzzles/cube4/index.d.ts +7 -0
  172. package/dist/puzzles/cube4/index.d.ts.map +1 -0
  173. package/dist/puzzles/cube4/index.js +8 -0
  174. package/dist/puzzles/cube4/moves.d.ts +37 -0
  175. package/dist/puzzles/cube4/moves.d.ts.map +1 -0
  176. package/dist/puzzles/cube4/moves.js +243 -0
  177. package/dist/puzzles/cube4/scrambler.d.ts +4 -0
  178. package/dist/puzzles/cube4/scrambler.d.ts.map +1 -0
  179. package/dist/puzzles/cube4/scrambler.js +98 -0
  180. package/dist/puzzles/cube4/state.d.ts +16 -0
  181. package/dist/puzzles/cube4/state.d.ts.map +1 -0
  182. package/dist/puzzles/cube4/state.js +84 -0
  183. package/dist/puzzles/cube4/types.d.ts +76 -0
  184. package/dist/puzzles/cube4/types.d.ts.map +1 -0
  185. package/dist/puzzles/cube4/types.js +62 -0
  186. package/dist/puzzles/cube5x5/index.d.ts +4 -0
  187. package/dist/puzzles/cube5x5/index.d.ts.map +1 -0
  188. package/dist/puzzles/cube5x5/index.js +2 -0
  189. package/dist/puzzles/cube5x5/scrambler.d.ts +4 -0
  190. package/dist/puzzles/cube5x5/scrambler.d.ts.map +1 -0
  191. package/dist/puzzles/cube5x5/scrambler.js +93 -0
  192. package/dist/puzzles/cube5x5/types.d.ts +4 -0
  193. package/dist/puzzles/cube5x5/types.d.ts.map +1 -0
  194. package/dist/puzzles/cube5x5/types.js +4 -0
  195. package/dist/puzzles/cube6x6/index.d.ts +4 -0
  196. package/dist/puzzles/cube6x6/index.d.ts.map +1 -0
  197. package/dist/puzzles/cube6x6/index.js +2 -0
  198. package/dist/puzzles/cube6x6/scrambler.d.ts +4 -0
  199. package/dist/puzzles/cube6x6/scrambler.d.ts.map +1 -0
  200. package/dist/puzzles/cube6x6/scrambler.js +105 -0
  201. package/dist/puzzles/cube6x6/types.d.ts +4 -0
  202. package/dist/puzzles/cube6x6/types.d.ts.map +1 -0
  203. package/dist/puzzles/cube6x6/types.js +8 -0
  204. package/dist/puzzles/cube7x7/index.d.ts +4 -0
  205. package/dist/puzzles/cube7x7/index.d.ts.map +1 -0
  206. package/dist/puzzles/cube7x7/index.js +2 -0
  207. package/dist/puzzles/cube7x7/scrambler.d.ts +4 -0
  208. package/dist/puzzles/cube7x7/scrambler.d.ts.map +1 -0
  209. package/dist/puzzles/cube7x7/scrambler.js +93 -0
  210. package/dist/puzzles/cube7x7/types.d.ts +4 -0
  211. package/dist/puzzles/cube7x7/types.d.ts.map +1 -0
  212. package/dist/puzzles/cube7x7/types.js +8 -0
  213. package/dist/puzzles/index.d.ts +10 -0
  214. package/dist/puzzles/index.d.ts.map +1 -0
  215. package/dist/puzzles/index.js +28 -0
  216. package/dist/puzzles/megaminx/index.d.ts +4 -0
  217. package/dist/puzzles/megaminx/index.d.ts.map +1 -0
  218. package/dist/puzzles/megaminx/index.js +2 -0
  219. package/dist/puzzles/megaminx/scrambler.d.ts +4 -0
  220. package/dist/puzzles/megaminx/scrambler.d.ts.map +1 -0
  221. package/dist/puzzles/megaminx/scrambler.js +56 -0
  222. package/dist/puzzles/megaminx/types.d.ts +6 -0
  223. package/dist/puzzles/megaminx/types.d.ts.map +1 -0
  224. package/dist/puzzles/megaminx/types.js +4 -0
  225. package/dist/puzzles/pyraminx/index.d.ts +9 -0
  226. package/dist/puzzles/pyraminx/index.d.ts.map +1 -0
  227. package/dist/puzzles/pyraminx/index.js +7 -0
  228. package/dist/puzzles/pyraminx/moves.d.ts +9 -0
  229. package/dist/puzzles/pyraminx/moves.d.ts.map +1 -0
  230. package/dist/puzzles/pyraminx/moves.js +117 -0
  231. package/dist/puzzles/pyraminx/random-state.d.ts +3 -0
  232. package/dist/puzzles/pyraminx/random-state.d.ts.map +1 -0
  233. package/dist/puzzles/pyraminx/random-state.js +53 -0
  234. package/dist/puzzles/pyraminx/scrambler.d.ts +6 -0
  235. package/dist/puzzles/pyraminx/scrambler.d.ts.map +1 -0
  236. package/dist/puzzles/pyraminx/scrambler.js +56 -0
  237. package/dist/puzzles/pyraminx/solver.d.ts +10 -0
  238. package/dist/puzzles/pyraminx/solver.d.ts.map +1 -0
  239. package/dist/puzzles/pyraminx/solver.js +160 -0
  240. package/dist/puzzles/pyraminx/state.d.ts +6 -0
  241. package/dist/puzzles/pyraminx/state.d.ts.map +1 -0
  242. package/dist/puzzles/pyraminx/state.js +32 -0
  243. package/dist/puzzles/pyraminx/types.d.ts +17 -0
  244. package/dist/puzzles/pyraminx/types.d.ts.map +1 -0
  245. package/dist/puzzles/pyraminx/types.js +7 -0
  246. package/dist/puzzles/pyraminx/validation.d.ts +8 -0
  247. package/dist/puzzles/pyraminx/validation.d.ts.map +1 -0
  248. package/dist/puzzles/pyraminx/validation.js +79 -0
  249. package/dist/random/index.d.ts +3 -0
  250. package/dist/random/index.d.ts.map +1 -0
  251. package/dist/random/index.js +1 -0
  252. package/dist/random/prng.d.ts +7 -0
  253. package/dist/random/prng.d.ts.map +1 -0
  254. package/dist/random/prng.js +60 -0
  255. package/dist-cjs/cli/index.js +12 -0
  256. package/dist-cjs/cli/run.js +142 -0
  257. package/dist-cjs/core/api.js +102 -0
  258. package/dist-cjs/core/errors.js +42 -0
  259. package/dist-cjs/core/index.js +19 -0
  260. package/dist-cjs/core/registry.js +39 -0
  261. package/dist-cjs/core/types.js +2 -0
  262. package/dist-cjs/index.js +19 -0
  263. package/dist-cjs/package.json +3 -0
  264. package/dist-cjs/puzzles/clock/index.js +6 -0
  265. package/dist-cjs/puzzles/clock/scrambler.js +54 -0
  266. package/dist-cjs/puzzles/cube2/facelets.js +58 -0
  267. package/dist-cjs/puzzles/cube2/index.js +67 -0
  268. package/dist-cjs/puzzles/cube2/moves.js +88 -0
  269. package/dist-cjs/puzzles/cube2/random-state.js +54 -0
  270. package/dist-cjs/puzzles/cube2/scrambler.js +58 -0
  271. package/dist-cjs/puzzles/cube2/solver/browser-loader.js +85 -0
  272. package/dist-cjs/puzzles/cube2/solver/generated/distances.bin +1 -0
  273. package/dist-cjs/puzzles/cube2/solver/generated/manifest.json +21 -0
  274. package/dist-cjs/puzzles/cube2/solver/generated/orientation-distances.bin +0 -0
  275. package/dist-cjs/puzzles/cube2/solver/generated/orientation-table.bin +0 -0
  276. package/dist-cjs/puzzles/cube2/solver/generated/permutation-distances.bin +0 -0
  277. package/dist-cjs/puzzles/cube2/solver/generated/permutation-table.bin +0 -0
  278. package/dist-cjs/puzzles/cube2/solver/generated-assets.js +61 -0
  279. package/dist-cjs/puzzles/cube2/solver/index.js +5 -0
  280. package/dist-cjs/puzzles/cube2/solver/node-loader.js +89 -0
  281. package/dist-cjs/puzzles/cube2/solver/search.js +53 -0
  282. package/dist-cjs/puzzles/cube2/solver/table-metadata.js +18 -0
  283. package/dist-cjs/puzzles/cube2/solver/tables.js +91 -0
  284. package/dist-cjs/puzzles/cube2/state.js +36 -0
  285. package/dist-cjs/puzzles/cube2/types.js +24 -0
  286. package/dist-cjs/puzzles/cube2/validation.js +78 -0
  287. package/dist-cjs/puzzles/cube3/facelets.js +94 -0
  288. package/dist-cjs/puzzles/cube3/index.js +68 -0
  289. package/dist-cjs/puzzles/cube3/moves.js +219 -0
  290. package/dist-cjs/puzzles/cube3/random-state.js +62 -0
  291. package/dist-cjs/puzzles/cube3/scrambler.js +63 -0
  292. package/dist-cjs/puzzles/cube3/solver/browser-loader.js +139 -0
  293. package/dist-cjs/puzzles/cube3/solver/coordinates.js +285 -0
  294. package/dist-cjs/puzzles/cube3/solver/generated/manifest.json +404 -0
  295. package/dist-cjs/puzzles/cube3/solver/generated/move-cornerOrientation.bin +0 -0
  296. package/dist-cjs/puzzles/cube3/solver/generated/move-cornerPermutation.bin +0 -0
  297. package/dist-cjs/puzzles/cube3/solver/generated/move-edgeOrientation.bin +0 -0
  298. package/dist-cjs/puzzles/cube3/solver/generated/move-slicePermutation.bin +0 -0
  299. package/dist-cjs/puzzles/cube3/solver/generated/move-udEdgePermutation.bin +0 -0
  300. package/dist-cjs/puzzles/cube3/solver/generated/move-udSlice.bin +0 -0
  301. package/dist-cjs/puzzles/cube3/solver/generated/pruning-cornerOrientation.bin +1 -0
  302. package/dist-cjs/puzzles/cube3/solver/generated/pruning-cornerOrientationEdgeOrientation.bin +1 -0
  303. package/dist-cjs/puzzles/cube3/solver/generated/pruning-cornerPermutation.bin +1 -0
  304. package/dist-cjs/puzzles/cube3/solver/generated/pruning-cornerPermutationSlicePermutation.bin +1 -0
  305. package/dist-cjs/puzzles/cube3/solver/generated/pruning-edgeOrientation.bin +1 -0
  306. package/dist-cjs/puzzles/cube3/solver/generated/pruning-slicePermutation.bin +1 -0
  307. package/dist-cjs/puzzles/cube3/solver/generated/pruning-udEdgePermutation.bin +1 -0
  308. package/dist-cjs/puzzles/cube3/solver/generated/pruning-udEdgePermutationSlicePermutation.bin +1 -0
  309. package/dist-cjs/puzzles/cube3/solver/generated/pruning-udSlice.bin +0 -0
  310. package/dist-cjs/puzzles/cube3/solver/generated-assets.js +98 -0
  311. package/dist-cjs/puzzles/cube3/solver/index.js +49 -0
  312. package/dist-cjs/puzzles/cube3/solver/node-loader.js +126 -0
  313. package/dist-cjs/puzzles/cube3/solver/phase1.js +158 -0
  314. package/dist-cjs/puzzles/cube3/solver/phase2.js +279 -0
  315. package/dist-cjs/puzzles/cube3/solver/search-utils.js +49 -0
  316. package/dist-cjs/puzzles/cube3/solver/table-metadata.js +24 -0
  317. package/dist-cjs/puzzles/cube3/solver/tables.js +216 -0
  318. package/dist-cjs/puzzles/cube3/state.js +46 -0
  319. package/dist-cjs/puzzles/cube3/subset-state.js +166 -0
  320. package/dist-cjs/puzzles/cube3/types.js +25 -0
  321. package/dist-cjs/puzzles/cube3/validation.js +89 -0
  322. package/dist-cjs/puzzles/cube4/facelets.js +140 -0
  323. package/dist-cjs/puzzles/cube4/index.js +45 -0
  324. package/dist-cjs/puzzles/cube4/moves.js +251 -0
  325. package/dist-cjs/puzzles/cube4/scrambler.js +135 -0
  326. package/dist-cjs/puzzles/cube4/state.js +92 -0
  327. package/dist-cjs/puzzles/cube4/types.js +65 -0
  328. package/dist-cjs/puzzles/cube5x5/index.js +9 -0
  329. package/dist-cjs/puzzles/cube5x5/scrambler.js +97 -0
  330. package/dist-cjs/puzzles/cube5x5/types.js +7 -0
  331. package/dist-cjs/puzzles/cube6x6/index.js +9 -0
  332. package/dist-cjs/puzzles/cube6x6/scrambler.js +109 -0
  333. package/dist-cjs/puzzles/cube6x6/types.js +11 -0
  334. package/dist-cjs/puzzles/cube7x7/index.js +9 -0
  335. package/dist-cjs/puzzles/cube7x7/scrambler.js +97 -0
  336. package/dist-cjs/puzzles/cube7x7/types.js +11 -0
  337. package/dist-cjs/puzzles/index.js +64 -0
  338. package/dist-cjs/puzzles/megaminx/index.js +11 -0
  339. package/dist-cjs/puzzles/megaminx/scrambler.js +60 -0
  340. package/dist-cjs/puzzles/megaminx/types.js +7 -0
  341. package/dist-cjs/puzzles/pyraminx/index.js +30 -0
  342. package/dist-cjs/puzzles/pyraminx/moves.js +126 -0
  343. package/dist-cjs/puzzles/pyraminx/random-state.js +56 -0
  344. package/dist-cjs/puzzles/pyraminx/scrambler.js +60 -0
  345. package/dist-cjs/puzzles/pyraminx/solver.js +170 -0
  346. package/dist-cjs/puzzles/pyraminx/state.js +38 -0
  347. package/dist-cjs/puzzles/pyraminx/types.js +10 -0
  348. package/dist-cjs/puzzles/pyraminx/validation.js +84 -0
  349. package/dist-cjs/random/index.js +5 -0
  350. package/dist-cjs/random/prng.js +63 -0
  351. package/docs/cubingcenter-integration.md +69 -0
  352. package/docs/development.md +44 -0
  353. package/docs/facelets.md +64 -0
  354. package/docs/getting-started.md +73 -0
  355. package/examples/cli-json.md +30 -0
  356. package/examples/commonjs.cjs +11 -0
  357. package/examples/esm.mjs +9 -0
  358. package/examples/timer-preview.mjs +29 -0
  359. package/package.json +53 -0
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CUBE3_COORDINATE_RANGES = void 0;
4
+ exports.encodeCube3Coordinates = encodeCube3Coordinates;
5
+ exports.encodeCube3Coordinate = encodeCube3Coordinate;
6
+ exports.encodeCornerOrientation = encodeCornerOrientation;
7
+ exports.decodeCornerOrientation = decodeCornerOrientation;
8
+ exports.encodeEdgeOrientation = encodeEdgeOrientation;
9
+ exports.decodeEdgeOrientation = decodeEdgeOrientation;
10
+ exports.encodeUdSlice = encodeUdSlice;
11
+ exports.decodeUdSlice = decodeUdSlice;
12
+ exports.encodeUdEdgePermutation = encodeUdEdgePermutation;
13
+ exports.decodeUdEdgePermutation = decodeUdEdgePermutation;
14
+ exports.encodeSlicePermutation = encodeSlicePermutation;
15
+ exports.decodeSlicePermutation = decodeSlicePermutation;
16
+ exports.decodePermutation = decodePermutation;
17
+ exports.encodePermutation = encodePermutation;
18
+ exports.createRepresentativeStateForCoordinate = createRepresentativeStateForCoordinate;
19
+ exports.moveCoordinate = moveCoordinate;
20
+ const moves_js_1 = require("../moves.js");
21
+ const state_js_1 = require("../state.js");
22
+ const types_js_1 = require("../types.js");
23
+ exports.CUBE3_COORDINATE_RANGES = {
24
+ cornerOrientation: 2187,
25
+ edgeOrientation: 2048,
26
+ udSlice: 495,
27
+ cornerPermutation: 40320,
28
+ udEdgePermutation: 40320,
29
+ slicePermutation: 24
30
+ };
31
+ const SLICE_EDGE_START = 8;
32
+ const UD_EDGE_COUNT = 8;
33
+ const SLICE_EDGE_COUNT = 4;
34
+ const UD_SLICE_COMBINATIONS = createCombinations(types_js_1.EDGE_COUNT, SLICE_EDGE_COUNT);
35
+ const UD_SLICE_INDEX_BY_KEY = new Map(UD_SLICE_COMBINATIONS.map((combination, index) => [combination.join(","), index]));
36
+ function encodeCube3Coordinates(state) {
37
+ return {
38
+ cornerOrientation: encodeCornerOrientation(state),
39
+ edgeOrientation: encodeEdgeOrientation(state),
40
+ udSlice: encodeUdSlice(state),
41
+ cornerPermutation: encodePermutation(state.corners.permutation),
42
+ udEdgePermutation: encodeUdEdgePermutation(state),
43
+ slicePermutation: encodeSlicePermutation(state)
44
+ };
45
+ }
46
+ function encodeCube3Coordinate(coordinateName, state) {
47
+ if (coordinateName === "cornerOrientation") {
48
+ return encodeCornerOrientation(state);
49
+ }
50
+ if (coordinateName === "edgeOrientation") {
51
+ return encodeEdgeOrientation(state);
52
+ }
53
+ if (coordinateName === "udSlice") {
54
+ return encodeUdSlice(state);
55
+ }
56
+ if (coordinateName === "cornerPermutation") {
57
+ return encodePermutation(state.corners.permutation);
58
+ }
59
+ if (coordinateName === "udEdgePermutation") {
60
+ return encodeUdEdgePermutation(state);
61
+ }
62
+ return encodeSlicePermutation(state);
63
+ }
64
+ function encodeCornerOrientation(state) {
65
+ assertLength(state.corners.orientation, types_js_1.CORNER_COUNT, "corner orientation");
66
+ let coordinate = 0;
67
+ for (let index = 0; index < types_js_1.CORNER_COUNT - 1; index += 1) {
68
+ const orientation = state.corners.orientation[index];
69
+ assertRange(orientation, 0, 2, "corner orientation");
70
+ coordinate = coordinate * 3 + orientation;
71
+ }
72
+ return coordinate;
73
+ }
74
+ function decodeCornerOrientation(coordinate) {
75
+ assertCoordinate(coordinate, exports.CUBE3_COORDINATE_RANGES.cornerOrientation, "corner orientation");
76
+ const orientations = Array(types_js_1.CORNER_COUNT).fill(0);
77
+ let remaining = coordinate;
78
+ let total = 0;
79
+ for (let index = types_js_1.CORNER_COUNT - 2; index >= 0; index -= 1) {
80
+ const orientation = remaining % 3;
81
+ orientations[index] = orientation;
82
+ total += orientation;
83
+ remaining = Math.floor(remaining / 3);
84
+ }
85
+ orientations[types_js_1.CORNER_COUNT - 1] = (3 - (total % 3)) % 3;
86
+ return orientations;
87
+ }
88
+ function encodeEdgeOrientation(state) {
89
+ assertLength(state.edges.orientation, types_js_1.EDGE_COUNT, "edge orientation");
90
+ let coordinate = 0;
91
+ for (let index = 0; index < types_js_1.EDGE_COUNT - 1; index += 1) {
92
+ const orientation = state.edges.orientation[index];
93
+ assertRange(orientation, 0, 1, "edge orientation");
94
+ coordinate = coordinate * 2 + orientation;
95
+ }
96
+ return coordinate;
97
+ }
98
+ function decodeEdgeOrientation(coordinate) {
99
+ assertCoordinate(coordinate, exports.CUBE3_COORDINATE_RANGES.edgeOrientation, "edge orientation");
100
+ const orientations = Array(types_js_1.EDGE_COUNT).fill(0);
101
+ let remaining = coordinate;
102
+ let total = 0;
103
+ for (let index = types_js_1.EDGE_COUNT - 2; index >= 0; index -= 1) {
104
+ const orientation = remaining % 2;
105
+ orientations[index] = orientation;
106
+ total += orientation;
107
+ remaining = Math.floor(remaining / 2);
108
+ }
109
+ orientations[types_js_1.EDGE_COUNT - 1] = total % 2;
110
+ return orientations;
111
+ }
112
+ function encodeUdSlice(state) {
113
+ assertLength(state.edges.permutation, types_js_1.EDGE_COUNT, "edge permutation");
114
+ const positions = state.edges.permutation
115
+ .map((piece, position) => ({ piece, position }))
116
+ .filter(({ piece }) => piece >= SLICE_EDGE_START)
117
+ .map(({ position }) => position);
118
+ if (positions.length !== SLICE_EDGE_COUNT) {
119
+ throw new RangeError("UD slice coordinate requires exactly four slice edges.");
120
+ }
121
+ const key = positions.join(",");
122
+ const coordinate = UD_SLICE_INDEX_BY_KEY.get(key);
123
+ if (coordinate === undefined) {
124
+ throw new RangeError(`Invalid UD slice positions: ${key}`);
125
+ }
126
+ return coordinate;
127
+ }
128
+ function decodeUdSlice(coordinate) {
129
+ assertCoordinate(coordinate, exports.CUBE3_COORDINATE_RANGES.udSlice, "UD slice");
130
+ return [...UD_SLICE_COMBINATIONS[coordinate]];
131
+ }
132
+ function encodeUdEdgePermutation(state) {
133
+ assertLength(state.edges.permutation, types_js_1.EDGE_COUNT, "edge permutation");
134
+ const permutation = state.edges.permutation.slice(0, UD_EDGE_COUNT);
135
+ if (permutation.some((piece) => piece < 0 || piece >= UD_EDGE_COUNT)) {
136
+ throw new RangeError("UD edge permutation requires UD edges in UD edge positions.");
137
+ }
138
+ return encodePermutation(permutation);
139
+ }
140
+ function decodeUdEdgePermutation(coordinate) {
141
+ return decodePermutation(coordinate, UD_EDGE_COUNT);
142
+ }
143
+ function encodeSlicePermutation(state) {
144
+ assertLength(state.edges.permutation, types_js_1.EDGE_COUNT, "edge permutation");
145
+ const permutation = state.edges.permutation
146
+ .slice(SLICE_EDGE_START)
147
+ .map((piece) => piece - SLICE_EDGE_START);
148
+ if (permutation.some((piece) => piece < 0 || piece >= SLICE_EDGE_COUNT)) {
149
+ throw new RangeError("Slice permutation requires slice edges in slice positions.");
150
+ }
151
+ return encodePermutation(permutation);
152
+ }
153
+ function decodeSlicePermutation(coordinate) {
154
+ return decodePermutation(coordinate, SLICE_EDGE_COUNT).map((piece) => piece + SLICE_EDGE_START);
155
+ }
156
+ function decodePermutation(coordinate, length) {
157
+ assertCoordinate(coordinate, factorial(length), `permutation length ${length}`);
158
+ const available = Array.from({ length }, (_, index) => index);
159
+ const permutation = [];
160
+ let remaining = coordinate;
161
+ for (let index = length; index > 0; index -= 1) {
162
+ const placeValue = factorial(index - 1);
163
+ const selected = Math.floor(remaining / placeValue);
164
+ permutation.push(available.splice(selected, 1)[0]);
165
+ remaining %= placeValue;
166
+ }
167
+ return permutation;
168
+ }
169
+ function encodePermutation(permutation) {
170
+ validatePermutation(permutation);
171
+ const available = Array.from({ length: permutation.length }, (_, index) => index);
172
+ let coordinate = 0;
173
+ for (let index = 0; index < permutation.length; index += 1) {
174
+ const value = permutation[index];
175
+ const selected = available.indexOf(value);
176
+ coordinate += selected * factorial(permutation.length - index - 1);
177
+ available.splice(selected, 1);
178
+ }
179
+ return coordinate;
180
+ }
181
+ function createRepresentativeStateForCoordinate(coordinateName, coordinate) {
182
+ const state = (0, state_js_1.createSolvedCube3State)();
183
+ if (coordinateName === "cornerOrientation") {
184
+ state.corners.orientation = decodeCornerOrientation(coordinate);
185
+ }
186
+ else if (coordinateName === "edgeOrientation") {
187
+ state.edges.orientation = decodeEdgeOrientation(coordinate);
188
+ }
189
+ else if (coordinateName === "udSlice") {
190
+ const slicePositions = new Set(decodeUdSlice(coordinate));
191
+ const edgePermutation = Array(types_js_1.EDGE_COUNT).fill(-1);
192
+ let udEdge = 0;
193
+ let sliceEdge = SLICE_EDGE_START;
194
+ for (let position = 0; position < types_js_1.EDGE_COUNT; position += 1) {
195
+ if (slicePositions.has(position)) {
196
+ edgePermutation[position] = sliceEdge;
197
+ sliceEdge += 1;
198
+ }
199
+ else {
200
+ edgePermutation[position] = udEdge;
201
+ udEdge += 1;
202
+ }
203
+ }
204
+ state.edges.permutation = edgePermutation;
205
+ }
206
+ else if (coordinateName === "cornerPermutation") {
207
+ state.corners.permutation = decodePermutation(coordinate, types_js_1.CORNER_COUNT);
208
+ }
209
+ else if (coordinateName === "udEdgePermutation") {
210
+ state.edges.permutation = [
211
+ ...decodeUdEdgePermutation(coordinate),
212
+ 8,
213
+ 9,
214
+ 10,
215
+ 11
216
+ ];
217
+ }
218
+ else {
219
+ state.edges.permutation = [
220
+ 0,
221
+ 1,
222
+ 2,
223
+ 3,
224
+ 4,
225
+ 5,
226
+ 6,
227
+ 7,
228
+ ...decodeSlicePermutation(coordinate)
229
+ ];
230
+ }
231
+ return state;
232
+ }
233
+ function moveCoordinate(coordinateName, coordinate, move) {
234
+ const state = createRepresentativeStateForCoordinate(coordinateName, coordinate);
235
+ const moved = (0, moves_js_1.applyCube3Move)(state, move);
236
+ return encodeCube3Coordinate(coordinateName, moved);
237
+ }
238
+ function createCombinations(size, selected) {
239
+ const combinations = [];
240
+ function visit(start, current) {
241
+ if (current.length === selected) {
242
+ combinations.push([...current]);
243
+ return;
244
+ }
245
+ for (let value = start; value <= size - (selected - current.length); value += 1) {
246
+ current.push(value);
247
+ visit(value + 1, current);
248
+ current.pop();
249
+ }
250
+ }
251
+ visit(0, []);
252
+ return combinations;
253
+ }
254
+ function validatePermutation(permutation) {
255
+ const seen = new Set();
256
+ for (const value of permutation) {
257
+ assertRange(value, 0, permutation.length - 1, "permutation value");
258
+ if (seen.has(value)) {
259
+ throw new RangeError(`Permutation contains duplicate value: ${value}`);
260
+ }
261
+ seen.add(value);
262
+ }
263
+ }
264
+ function assertLength(values, expected, label) {
265
+ if (values.length !== expected) {
266
+ throw new RangeError(`${label} must contain ${expected} values.`);
267
+ }
268
+ }
269
+ function assertRange(value, min, max, label) {
270
+ if (!Number.isInteger(value) || value < min || value > max) {
271
+ throw new RangeError(`${label} must be an integer between ${min} and ${max}. Received: ${value}`);
272
+ }
273
+ }
274
+ function assertCoordinate(value, range, label) {
275
+ if (!Number.isInteger(value) || value < 0 || value >= range) {
276
+ throw new RangeError(`${label} coordinate must be between 0 and ${range - 1}. Received: ${value}`);
277
+ }
278
+ }
279
+ function factorial(value) {
280
+ let result = 1;
281
+ for (let factor = 2; factor <= value; factor += 1) {
282
+ result *= factor;
283
+ }
284
+ return result;
285
+ }
@@ -0,0 +1,404 @@
1
+ {
2
+ "version": 1,
3
+ "phase1Moves": [
4
+ "U",
5
+ "U2",
6
+ "U'",
7
+ "D",
8
+ "D2",
9
+ "D'",
10
+ "R",
11
+ "R2",
12
+ "R'",
13
+ "L",
14
+ "L2",
15
+ "L'",
16
+ "F",
17
+ "F2",
18
+ "F'",
19
+ "B",
20
+ "B2",
21
+ "B'"
22
+ ],
23
+ "phase2Moves": [
24
+ "U",
25
+ "U2",
26
+ "U'",
27
+ "D",
28
+ "D2",
29
+ "D'",
30
+ "R2",
31
+ "L2",
32
+ "F2",
33
+ "B2"
34
+ ],
35
+ "moveTables": {
36
+ "cornerOrientation": {
37
+ "coordinate": "cornerOrientation",
38
+ "file": "move-cornerOrientation.bin",
39
+ "kind": "move",
40
+ "moves": [
41
+ "U",
42
+ "U2",
43
+ "U'",
44
+ "D",
45
+ "D2",
46
+ "D'",
47
+ "R",
48
+ "R2",
49
+ "R'",
50
+ "L",
51
+ "L2",
52
+ "L'",
53
+ "F",
54
+ "F2",
55
+ "F'",
56
+ "B",
57
+ "B2",
58
+ "B'"
59
+ ],
60
+ "range": 2187,
61
+ "solvedCoordinate": 0,
62
+ "checksum": 404550471
63
+ },
64
+ "edgeOrientation": {
65
+ "coordinate": "edgeOrientation",
66
+ "file": "move-edgeOrientation.bin",
67
+ "kind": "move",
68
+ "moves": [
69
+ "U",
70
+ "U2",
71
+ "U'",
72
+ "D",
73
+ "D2",
74
+ "D'",
75
+ "R",
76
+ "R2",
77
+ "R'",
78
+ "L",
79
+ "L2",
80
+ "L'",
81
+ "F",
82
+ "F2",
83
+ "F'",
84
+ "B",
85
+ "B2",
86
+ "B'"
87
+ ],
88
+ "range": 2048,
89
+ "solvedCoordinate": 0,
90
+ "checksum": 2992539525
91
+ },
92
+ "udSlice": {
93
+ "coordinate": "udSlice",
94
+ "file": "move-udSlice.bin",
95
+ "kind": "move",
96
+ "moves": [
97
+ "U",
98
+ "U2",
99
+ "U'",
100
+ "D",
101
+ "D2",
102
+ "D'",
103
+ "R",
104
+ "R2",
105
+ "R'",
106
+ "L",
107
+ "L2",
108
+ "L'",
109
+ "F",
110
+ "F2",
111
+ "F'",
112
+ "B",
113
+ "B2",
114
+ "B'"
115
+ ],
116
+ "range": 495,
117
+ "solvedCoordinate": 494,
118
+ "checksum": 4272096359
119
+ },
120
+ "cornerPermutation": {
121
+ "coordinate": "cornerPermutation",
122
+ "file": "move-cornerPermutation.bin",
123
+ "kind": "move",
124
+ "moves": [
125
+ "U",
126
+ "U2",
127
+ "U'",
128
+ "D",
129
+ "D2",
130
+ "D'",
131
+ "R2",
132
+ "L2",
133
+ "F2",
134
+ "B2"
135
+ ],
136
+ "range": 40320,
137
+ "solvedCoordinate": 0,
138
+ "checksum": 3774927605
139
+ },
140
+ "udEdgePermutation": {
141
+ "coordinate": "udEdgePermutation",
142
+ "file": "move-udEdgePermutation.bin",
143
+ "kind": "move",
144
+ "moves": [
145
+ "U",
146
+ "U2",
147
+ "U'",
148
+ "D",
149
+ "D2",
150
+ "D'",
151
+ "R2",
152
+ "L2",
153
+ "F2",
154
+ "B2"
155
+ ],
156
+ "range": 40320,
157
+ "solvedCoordinate": 0,
158
+ "checksum": 400302421
159
+ },
160
+ "slicePermutation": {
161
+ "coordinate": "slicePermutation",
162
+ "file": "move-slicePermutation.bin",
163
+ "kind": "move",
164
+ "moves": [
165
+ "U",
166
+ "U2",
167
+ "U'",
168
+ "D",
169
+ "D2",
170
+ "D'",
171
+ "R2",
172
+ "L2",
173
+ "F2",
174
+ "B2"
175
+ ],
176
+ "range": 24,
177
+ "solvedCoordinate": 0,
178
+ "checksum": 3510358217
179
+ }
180
+ },
181
+ "pruningTables": {
182
+ "cornerOrientation": {
183
+ "coordinate": "cornerOrientation",
184
+ "file": "pruning-cornerOrientation.bin",
185
+ "kind": "pruning",
186
+ "moves": [
187
+ "U",
188
+ "U2",
189
+ "U'",
190
+ "D",
191
+ "D2",
192
+ "D'",
193
+ "R",
194
+ "R2",
195
+ "R'",
196
+ "L",
197
+ "L2",
198
+ "L'",
199
+ "F",
200
+ "F2",
201
+ "F'",
202
+ "B",
203
+ "B2",
204
+ "B'"
205
+ ],
206
+ "range": 2187,
207
+ "solvedCoordinate": 0,
208
+ "checksum": 1708398310,
209
+ "maxDepth": 6
210
+ },
211
+ "edgeOrientation": {
212
+ "coordinate": "edgeOrientation",
213
+ "file": "pruning-edgeOrientation.bin",
214
+ "kind": "pruning",
215
+ "moves": [
216
+ "U",
217
+ "U2",
218
+ "U'",
219
+ "D",
220
+ "D2",
221
+ "D'",
222
+ "R",
223
+ "R2",
224
+ "R'",
225
+ "L",
226
+ "L2",
227
+ "L'",
228
+ "F",
229
+ "F2",
230
+ "F'",
231
+ "B",
232
+ "B2",
233
+ "B'"
234
+ ],
235
+ "range": 2048,
236
+ "solvedCoordinate": 0,
237
+ "checksum": 1305811170,
238
+ "maxDepth": 7
239
+ },
240
+ "udSlice": {
241
+ "coordinate": "udSlice",
242
+ "file": "pruning-udSlice.bin",
243
+ "kind": "pruning",
244
+ "moves": [
245
+ "U",
246
+ "U2",
247
+ "U'",
248
+ "D",
249
+ "D2",
250
+ "D'",
251
+ "R",
252
+ "R2",
253
+ "R'",
254
+ "L",
255
+ "L2",
256
+ "L'",
257
+ "F",
258
+ "F2",
259
+ "F'",
260
+ "B",
261
+ "B2",
262
+ "B'"
263
+ ],
264
+ "range": 495,
265
+ "solvedCoordinate": 494,
266
+ "checksum": 1205412689,
267
+ "maxDepth": 5
268
+ },
269
+ "cornerOrientationEdgeOrientation": {
270
+ "coordinate": "cornerOrientationEdgeOrientation",
271
+ "file": "pruning-cornerOrientationEdgeOrientation.bin",
272
+ "kind": "pruning",
273
+ "moves": [
274
+ "U",
275
+ "U2",
276
+ "U'",
277
+ "D",
278
+ "D2",
279
+ "D'",
280
+ "R",
281
+ "R2",
282
+ "R'",
283
+ "L",
284
+ "L2",
285
+ "L'",
286
+ "F",
287
+ "F2",
288
+ "F'",
289
+ "B",
290
+ "B2",
291
+ "B'"
292
+ ],
293
+ "range": 4478976,
294
+ "solvedCoordinate": 0,
295
+ "checksum": 3003139252,
296
+ "maxDepth": 9
297
+ },
298
+ "cornerPermutation": {
299
+ "coordinate": "cornerPermutation",
300
+ "file": "pruning-cornerPermutation.bin",
301
+ "kind": "pruning",
302
+ "moves": [
303
+ "U",
304
+ "U2",
305
+ "U'",
306
+ "D",
307
+ "D2",
308
+ "D'",
309
+ "R2",
310
+ "L2",
311
+ "F2",
312
+ "B2"
313
+ ],
314
+ "range": 40320,
315
+ "solvedCoordinate": 0,
316
+ "checksum": 2124468218,
317
+ "maxDepth": 13
318
+ },
319
+ "udEdgePermutation": {
320
+ "coordinate": "udEdgePermutation",
321
+ "file": "pruning-udEdgePermutation.bin",
322
+ "kind": "pruning",
323
+ "moves": [
324
+ "U",
325
+ "U2",
326
+ "U'",
327
+ "D",
328
+ "D2",
329
+ "D'",
330
+ "R2",
331
+ "L2",
332
+ "F2",
333
+ "B2"
334
+ ],
335
+ "range": 40320,
336
+ "solvedCoordinate": 0,
337
+ "checksum": 3536968007,
338
+ "maxDepth": 8
339
+ },
340
+ "slicePermutation": {
341
+ "coordinate": "slicePermutation",
342
+ "file": "pruning-slicePermutation.bin",
343
+ "kind": "pruning",
344
+ "moves": [
345
+ "U",
346
+ "U2",
347
+ "U'",
348
+ "D",
349
+ "D2",
350
+ "D'",
351
+ "R2",
352
+ "L2",
353
+ "F2",
354
+ "B2"
355
+ ],
356
+ "range": 24,
357
+ "solvedCoordinate": 0,
358
+ "checksum": 2803408469,
359
+ "maxDepth": 4
360
+ },
361
+ "cornerPermutationSlicePermutation": {
362
+ "coordinate": "cornerPermutationSlicePermutation",
363
+ "file": "pruning-cornerPermutationSlicePermutation.bin",
364
+ "kind": "pruning",
365
+ "moves": [
366
+ "U",
367
+ "U2",
368
+ "U'",
369
+ "D",
370
+ "D2",
371
+ "D'",
372
+ "R2",
373
+ "L2",
374
+ "F2",
375
+ "B2"
376
+ ],
377
+ "range": 967680,
378
+ "solvedCoordinate": 0,
379
+ "checksum": 4187188769,
380
+ "maxDepth": 14
381
+ },
382
+ "udEdgePermutationSlicePermutation": {
383
+ "coordinate": "udEdgePermutationSlicePermutation",
384
+ "file": "pruning-udEdgePermutationSlicePermutation.bin",
385
+ "kind": "pruning",
386
+ "moves": [
387
+ "U",
388
+ "U2",
389
+ "U'",
390
+ "D",
391
+ "D2",
392
+ "D'",
393
+ "R2",
394
+ "L2",
395
+ "F2",
396
+ "B2"
397
+ ],
398
+ "range": 967680,
399
+ "solvedCoordinate": 0,
400
+ "checksum": 2840452350,
401
+ "maxDepth": 12
402
+ }
403
+ }
404
+ }
@@ -0,0 +1 @@
1
+ PVUeeUUVcUe6eUDCU3CDETEETDdESDCDDcUDT4TTESDED4DUDUDTScCEEUETUVEUUUFeTTRRUDUETRETTDEDS3dTTTCTTTSETDDUUTEEeUUTSUDUUFUTTTUVUD3TDDDUSEECTdC5TBEDDEDUSTEUUEUETTTEUDTTU4EEUEUUeTVUEUTTEDU5ETETTDcUSD5$UTE4DDS3Te$TUQRDUTTEBUUCTDdR4UUDT5T5DT3BU4UE4SDSTDET53DDdETTDTCUEUUTEDUEUTUDES$ESTCUTUTDDDTDESEUUdTEUTUEUEeDSEVUeeDTFEDCVBT3TUTD5UETTUCeUUTUdUDUEUeDSUDeFdVEUUEUETDEVTSUTEDCTDED43TTT5TTdDEVU6TUUUUEEUTDUTUEEUT5ETEV4EEC5EDTUEBDUTTEETE4D5EUUTdDDETC%UTTC6U5TETEETETEUUUTEUTfUT4UEdeDUFUUeTTDCeVUFEdUD6UUEUUUDeEUEUEDUeEDSDDUESUdEeUTEUDee5EFUU4TUDED4UdUTTVFUFUTEDTVTDUUTUTDUDDEEE5UeTCE4UT544DS$TUETETU4TDUUDEVVTTUUUTSEVDdEd%UDBBTEUEUQUTTDE3UTE#DDS4S5TTUST#DTEE6DTTCTTS5DUET5d$TUUUDDCTUEDDVUSETTSC4VSET%cDTDCU3U5$TDST4fUUEDTET6UUTDUUDD4TTUUUUdTDTDEDTDdUSCCCTe$EERQUUTTTBUESTVTUUUDeTTTUUUDETEUUEUETDUTDE4UTE4C3R4TESDCU$UE4TCSSDT3UDTBEEDCEUEDCTESd2TTDT5TUEEUUSEeUDTD4TTTUTTTETSFUUEETTUSC4DdUD%U4TUdEdE4eVUVDUTUUeEdDEUedEE6EEEDSEDTUVUEEUVUUEDTEdFUUSDETDECS3DeUU%EDSESTTDCUbES6TSDUUDECUeUDTUDdTeTUUEETSUEU5TDCU4UE3TDRTCUEVETUUDSDSEDTdeUTUDeFUF4UEVTdUUUTTEUDd5DUDUETTeTUESEDUTETTVUEDET4STTUUEEDVTDUTTCfeETeTUUDUDEE