cubing 0.23.0 → 0.24.0-pre4

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 (1046) hide show
  1. package/dist/esm/{2x2x2.kpuzzle.json-JOGUSQ4N.js → 2x2x2.kpuzzle.json-RUB44MJV.js} +12 -12
  2. package/dist/esm/2x2x2.kpuzzle.json-RUB44MJV.js.map +7 -0
  3. package/dist/esm/{2x2x2.sgs.json-FRBWMMA7.js → 2x2x2.sgs.json-5IQQFXW7.js} +5 -5
  4. package/dist/esm/2x2x2.sgs.json-5IQQFXW7.js.map +7 -0
  5. package/dist/esm/{chunk-N3RNWU5T.js → 3d-dynamic-inside-OGANXBOW.js} +51 -463
  6. package/dist/esm/3d-dynamic-inside-OGANXBOW.js.map +7 -0
  7. package/dist/esm/bluetooth/index.js +39 -33
  8. package/dist/esm/bluetooth/index.js.map +2 -2
  9. package/dist/esm/{chunk-XVZOMB6J.js → chunk-27KJGD3S.js} +15 -20
  10. package/dist/esm/chunk-27KJGD3S.js.map +7 -0
  11. package/dist/esm/{chunk-DK6PXBB2.js → chunk-2IHGN4YF.js} +66 -56
  12. package/dist/esm/chunk-2IHGN4YF.js.map +7 -0
  13. package/dist/esm/{chunk-Z6X7HTPP.js → chunk-5HKJRHTE.js} +4 -4
  14. package/dist/esm/{chunk-Z6X7HTPP.js.map → chunk-5HKJRHTE.js.map} +2 -2
  15. package/dist/esm/{chunk-FK2SCC3Z.js → chunk-NMODRU23.js} +33 -27
  16. package/dist/esm/chunk-NMODRU23.js.map +7 -0
  17. package/dist/esm/{chunk-JZWB7AIU.js → chunk-QBSUFYNB.js} +17 -10
  18. package/dist/esm/chunk-QBSUFYNB.js.map +7 -0
  19. package/dist/esm/{chunk-4IUYLRHT.js → chunk-U2TSTTDG.js} +12 -1
  20. package/dist/esm/chunk-U2TSTTDG.js.map +7 -0
  21. package/dist/esm/chunk-UYT3253Q.js +423 -0
  22. package/dist/esm/chunk-UYT3253Q.js.map +7 -0
  23. package/dist/esm/chunk-VSR6KPDV.js +274 -0
  24. package/dist/esm/chunk-VSR6KPDV.js.map +7 -0
  25. package/dist/esm/{chunk-DPMEZY7V.js → chunk-WOZD7WE6.js} +19 -10
  26. package/dist/esm/chunk-WOZD7WE6.js.map +7 -0
  27. package/dist/esm/chunk-Z36TNZT2.js +823 -0
  28. package/dist/esm/chunk-Z36TNZT2.js.map +7 -0
  29. package/dist/esm/{chunk-MLOCDLUF.js → chunk-Z7Z3EXTF.js} +13 -13
  30. package/dist/esm/{chunk-MLOCDLUF.js.map → chunk-Z7Z3EXTF.js.map} +2 -2
  31. package/dist/esm/{chunk-PUPUQWJC.js → chunk-ZDALYMGF.js} +28 -33
  32. package/dist/esm/chunk-ZDALYMGF.js.map +7 -0
  33. package/dist/esm/{clock.kpuzzle.json-EKWRMHJM.js → clock.kpuzzle.json-BQKNKV3G.js} +10 -48
  34. package/dist/esm/clock.kpuzzle.json-BQKNKV3G.js.map +7 -0
  35. package/dist/esm/{entry-L6CE2HLF.js → entry-JFJRMSLA.js} +175 -170
  36. package/dist/esm/entry-JFJRMSLA.js.map +7 -0
  37. package/dist/esm/{fto.sgs.json-62YNULOK.js → fto.sgs.json-7I3SDUV5.js} +6 -14
  38. package/dist/esm/fto.sgs.json-7I3SDUV5.js.map +7 -0
  39. package/dist/esm/kpuzzle/index.js +5 -35
  40. package/dist/esm/megaminx.sgs.json-H4UHRFJ6.js +16 -0
  41. package/dist/esm/{3d-Q4WSD4BC.js.map → megaminx.sgs.json-H4UHRFJ6.js.map} +0 -0
  42. package/dist/esm/{module-entry-J2N3UZP7.js → module-entry-4JHVVJZL.js} +2 -2
  43. package/dist/esm/{module-entry-J2N3UZP7.js.map → module-entry-4JHVVJZL.js.map} +0 -0
  44. package/dist/esm/notation/index.js +6 -4
  45. package/dist/esm/protocol/index.js +2 -1
  46. package/dist/esm/puzzle-geometry/index.js +3 -1
  47. package/dist/esm/puzzles/index.js +4 -4
  48. package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js → pyraminx.sgs.json-ADZX6JEQ.js} +5 -5
  49. package/dist/esm/{megaminx.sgs.json-PRL46G5J.js.map → pyraminx.sgs.json-ADZX6JEQ.js.map} +0 -0
  50. package/dist/esm/scramble/index.js +4 -4
  51. package/dist/esm/{scramble_444-JP3CWLJM.js → scramble_444-QWIUGTEG.js} +4 -4
  52. package/dist/esm/{scramble_444-JP3CWLJM.js.map → scramble_444-QWIUGTEG.js.map} +0 -0
  53. package/dist/esm/search/index.js +4 -4
  54. package/dist/esm/skewb.sgs.json-KZUPZ744.js +16 -0
  55. package/dist/esm/{pyraminx.sgs.json-7QMPT5XP.js.map → skewb.sgs.json-KZUPZ744.js.map} +0 -0
  56. package/dist/esm/{sq1-hyperorbit.kpuzzle.json-N3FGCPML.js → sq1-hyperorbit.kpuzzle.json-4XS5YACO.js} +8 -8
  57. package/dist/esm/sq1-hyperorbit.kpuzzle.json-4XS5YACO.js.map +7 -0
  58. package/dist/esm/twisty/index.js +441 -349
  59. package/dist/esm/twisty/index.js.map +3 -3
  60. package/dist/esm/worker-inside-generated-string-MFGRIFCG.js +3447 -0
  61. package/dist/esm/worker-inside-generated-string-MFGRIFCG.js.map +7 -0
  62. package/dist/types/alg/Alg.d.ts +0 -1
  63. package/dist/types/alg/Alg.spec.d.ts +0 -1
  64. package/dist/types/alg/AlgBuilder.d.ts +0 -1
  65. package/dist/types/alg/Serializable.d.ts +0 -1
  66. package/dist/types/alg/common.d.ts +0 -1
  67. package/dist/types/alg/debug.d.ts +0 -1
  68. package/dist/types/alg/example.d.ts +0 -1
  69. package/dist/types/alg/index.d.ts +0 -1
  70. package/dist/types/alg/is.d.ts +0 -1
  71. package/dist/types/alg/iteration.d.ts +0 -1
  72. package/dist/types/alg/keyboard.d.ts +0 -1
  73. package/dist/types/alg/limits.d.ts +0 -1
  74. package/dist/types/alg/operation.d.ts +0 -1
  75. package/dist/types/alg/operation.spec.d.ts +0 -1
  76. package/dist/types/alg/parse.d.ts +0 -1
  77. package/dist/types/alg/parse.spec.d.ts +0 -1
  78. package/dist/types/alg/test/alg-comparison.d.ts +0 -1
  79. package/dist/types/alg/test/alg.spec.d.ts +0 -1
  80. package/dist/types/alg/traversal.d.ts +0 -1
  81. package/dist/types/alg/units/QuantumWithAmount.d.ts +0 -1
  82. package/dist/types/alg/units/Unit.d.ts +0 -1
  83. package/dist/types/alg/units/containers/Commutator.d.ts +0 -1
  84. package/dist/types/alg/units/containers/Conjugate.d.ts +0 -1
  85. package/dist/types/alg/units/containers/Grouping.d.ts +0 -1
  86. package/dist/types/alg/units/index.d.ts +0 -1
  87. package/dist/types/alg/units/leaves/LineComment.d.ts +0 -1
  88. package/dist/types/alg/units/leaves/LineComment.spec.d.ts +0 -1
  89. package/dist/types/alg/units/leaves/Move.d.ts +0 -1
  90. package/dist/types/alg/units/leaves/Move.spec.d.ts +0 -1
  91. package/dist/types/alg/units/leaves/Newline.d.ts +0 -1
  92. package/dist/types/alg/units/leaves/Pause.d.ts +0 -1
  93. package/dist/types/alg/url.d.ts +0 -1
  94. package/dist/types/alg/url.spec.d.ts +0 -1
  95. package/dist/types/alg/validation.d.ts +0 -1
  96. package/dist/types/alg/warnOnce.d.ts +0 -1
  97. package/dist/types/bluetooth/connect/index.d.ts +0 -1
  98. package/dist/types/bluetooth/debug.d.ts +0 -1
  99. package/dist/types/bluetooth/index.d.ts +0 -1
  100. package/dist/types/bluetooth/keyboard.d.ts +5 -5
  101. package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts +3 -3
  102. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +3 -5
  103. package/dist/types/bluetooth/smart-puzzle/connect.d.ts +0 -1
  104. package/dist/types/bluetooth/smart-puzzle/endianness.d.ts +0 -1
  105. package/dist/types/bluetooth/smart-puzzle/gan.d.ts +5 -4
  106. package/dist/types/bluetooth/smart-puzzle/giiker.d.ts +3 -3
  107. package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +0 -1
  108. package/dist/types/bluetooth/smart-puzzle/gocube.d.ts +0 -1
  109. package/dist/types/bluetooth/smart-robot/GanRobot.d.ts +0 -1
  110. package/dist/types/bluetooth/smart-robot/index.d.ts +0 -1
  111. package/dist/types/bluetooth/smart-timer/GanTimer.d.ts +0 -1
  112. package/dist/types/bluetooth/smart-timer/index.d.ts +0 -1
  113. package/dist/types/bluetooth/transformer.d.ts +0 -1
  114. package/dist/types/cubing.bundle-global.d.ts +0 -1
  115. package/dist/types/cubing.bundle-global.exports.d.ts +0 -1
  116. package/dist/types/esm-test-worker.d.ts +0 -1
  117. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +2 -3
  118. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +0 -1
  119. package/dist/types/kpuzzle/3x3x3/puzzle-orientation.d.ts +4 -0
  120. package/dist/types/kpuzzle/KPuzzle.d.ts +30 -0
  121. package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +20 -0
  122. package/dist/types/kpuzzle/KState.d.ts +18 -0
  123. package/dist/types/kpuzzle/KTransformation.d.ts +23 -0
  124. package/dist/types/kpuzzle/calculate.d.ts +16 -0
  125. package/dist/types/kpuzzle/combine.d.ts +3 -0
  126. package/dist/types/kpuzzle/construct.d.ts +5 -0
  127. package/dist/types/kpuzzle/index.d.ts +6 -10
  128. package/dist/types/notation/CountAnimatedLeaves.d.ts +0 -1
  129. package/dist/types/notation/CountMoves.d.ts +1 -1
  130. package/dist/types/notation/index.d.ts +2 -3
  131. package/dist/types/protocol/binary/binary3x3x3.d.ts +5 -6
  132. package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +0 -1
  133. package/dist/types/protocol/binary/hex.d.ts +0 -1
  134. package/dist/types/protocol/binary/hex.spec.d.ts +0 -1
  135. package/dist/types/protocol/binary/orbit-indexing.d.ts +0 -1
  136. package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +0 -1
  137. package/dist/types/protocol/binary/puzzle-orientation.d.ts +4 -5
  138. package/dist/types/protocol/index.d.ts +0 -1
  139. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts +0 -1
  140. package/dist/types/puzzle-geometry/Options.d.ts +0 -1
  141. package/dist/types/puzzle-geometry/PGPuzzles.d.ts +0 -1
  142. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +0 -1
  143. package/dist/types/puzzle-geometry/Perm.d.ts +0 -1
  144. package/dist/types/puzzle-geometry/PermOriSet.d.ts +4 -5
  145. package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts +0 -1
  146. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +9 -3
  147. package/dist/types/puzzle-geometry/Quat.d.ts +0 -1
  148. package/dist/types/puzzle-geometry/Quat.spec.d.ts +0 -1
  149. package/dist/types/puzzle-geometry/SchreierSims.d.ts +0 -1
  150. package/dist/types/puzzle-geometry/index.d.ts +1 -1
  151. package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts +0 -1
  152. package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts +0 -1
  153. package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts +0 -1
  154. package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts +3 -2
  155. package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts +0 -1
  156. package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts +0 -1
  157. package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts +0 -1
  158. package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts +0 -1
  159. package/dist/types/puzzle-geometry/notation-mapping/index.d.ts +0 -1
  160. package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +0 -1
  161. package/dist/types/puzzles/PuzzleLoader.d.ts +4 -3
  162. package/dist/types/puzzles/async/async-pg3d.d.ts +3 -3
  163. package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +2 -0
  164. package/dist/types/puzzles/customPGPuzzleLoader.d.ts +2 -3
  165. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts +1 -2
  166. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts +0 -1
  167. package/dist/types/puzzles/implementations/2x2x2/index.d.ts +0 -1
  168. package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts +0 -1
  169. package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts +0 -1
  170. package/dist/types/puzzles/implementations/3x3x3/index.d.ts +0 -1
  171. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts +1 -2
  172. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts +0 -1
  173. package/dist/types/puzzles/implementations/clock/index.d.ts +0 -1
  174. package/dist/types/puzzles/implementations/fto/index.d.ts +0 -1
  175. package/dist/types/puzzles/implementations/megaminx/index.d.ts +0 -1
  176. package/dist/types/puzzles/implementations/pyraminx/index.d.ts +0 -1
  177. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts +0 -1
  178. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts +0 -1
  179. package/dist/types/puzzles/implementations/square1/index.d.ts +0 -1
  180. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts +1 -2
  181. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts +0 -1
  182. package/dist/types/puzzles/index.d.ts +1 -2
  183. package/dist/types/puzzles/stickerings/appearance.d.ts +6 -7
  184. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts +0 -1
  185. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts +0 -1
  186. package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +0 -1
  187. package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts +0 -1
  188. package/dist/types/scramble/index.d.ts +0 -1
  189. package/dist/types/search/esm-test-worker.d.ts +0 -1
  190. package/dist/types/search/index.d.ts +0 -1
  191. package/dist/types/search/inside/api.d.ts +6 -7
  192. package/dist/types/search/inside/api.spec.d.ts +0 -1
  193. package/dist/types/search/inside/entry.d.ts +0 -1
  194. package/dist/types/search/inside/inside-worker.d.ts +0 -1
  195. package/dist/types/search/inside/module-entry-path-getter.d.ts +0 -1
  196. package/dist/types/search/inside/module-entry.d.ts +0 -1
  197. package/dist/types/search/inside/solve/addOrientationSuffix.d.ts +0 -1
  198. package/dist/types/search/inside/solve/parseSGS.d.ts +3 -4
  199. package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts +3 -4
  200. package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts +0 -1
  201. package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts +2 -3
  202. package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts +4 -4
  203. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts +3 -4
  204. package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts +0 -1
  205. package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts +0 -1
  206. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +0 -1
  207. package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts +0 -1
  208. package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts +0 -1
  209. package/dist/types/search/inside/solve/puzzles/clock.d.ts +0 -1
  210. package/dist/types/search/inside/solve/puzzles/fto.d.ts +2 -3
  211. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +0 -3
  212. package/dist/types/search/inside/solve/puzzles/megaminx.d.ts +2 -3
  213. package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts +2 -3
  214. package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts +3 -4
  215. package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts +0 -1
  216. package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +0 -1
  217. package/dist/types/search/inside/solve/puzzles/skewb.d.ts +3 -4
  218. package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts +2 -3
  219. package/dist/types/search/inside/solve/puzzles/sq1.d.ts +0 -1
  220. package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts +0 -1
  221. package/dist/types/search/inside/solve/tremble.d.ts +6 -6
  222. package/dist/types/search/instantiator.d.ts +0 -1
  223. package/dist/types/search/outside.d.ts +6 -7
  224. package/dist/types/search/worker-inside-generated-string.d.ts +1 -2
  225. package/dist/types/stream/index.d.ts +0 -1
  226. package/dist/types/stream/process/ReorientedStream.d.ts +1 -3
  227. package/dist/types/stream/proxy-event.d.ts +0 -1
  228. package/dist/types/stream/twizzle/TwizzleStream.d.ts +0 -1
  229. package/dist/types/stream/twizzle/stream-types.d.ts +0 -1
  230. package/dist/types/stream/websocket-proxy.d.ts +0 -1
  231. package/dist/types/twisty/controllers/AnimationTypes.d.ts +2 -3
  232. package/dist/types/twisty/controllers/RenderScheduler.d.ts +0 -1
  233. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +0 -1
  234. package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +0 -1
  235. package/dist/types/twisty/controllers/easing.d.ts +0 -1
  236. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts +0 -1
  237. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts +6 -6
  238. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts +7 -7
  239. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +8 -8
  240. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +9 -9
  241. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts +0 -1
  242. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts +36 -37
  243. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts +7 -7
  244. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +0 -1
  245. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts +0 -1
  246. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -2
  247. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d.d.ts → 3d-dynamic-inside.d.ts} +0 -1
  248. package/dist/types/twisty/index.d.ts +1 -4
  249. package/dist/types/twisty/model/PromiseFreshener.d.ts +0 -1
  250. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +6 -7
  251. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +0 -1
  252. package/dist/types/twisty/model/helpers.d.ts +0 -1
  253. package/dist/types/twisty/model/props/TwistyProp.d.ts +0 -1
  254. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +0 -1
  255. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +0 -1
  256. package/dist/types/twisty/model/props/general/URLProp.d.ts +0 -1
  257. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +0 -1
  258. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +0 -1
  259. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +0 -1
  260. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +0 -1
  261. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +0 -1
  262. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +5 -8
  263. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +5 -7
  264. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +0 -1
  265. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +0 -1
  266. package/dist/types/twisty/model/props/puzzle/state/{CurrentLeavesProp.d.ts → CurrentMoveInfoProp.d.ts} +2 -3
  267. package/dist/types/twisty/model/props/puzzle/state/CurrentStateProp.d.ts +14 -0
  268. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +7 -8
  269. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +0 -1
  270. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +5 -6
  271. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -3
  272. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +0 -1
  273. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +0 -1
  274. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +4 -5
  275. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +0 -1
  276. package/dist/types/twisty/model/props/puzzle/structure/KPuzzleProp.d.ts +10 -0
  277. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +0 -1
  278. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +0 -1
  279. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +0 -1
  280. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +0 -1
  281. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +0 -1
  282. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +0 -1
  283. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +0 -1
  284. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +0 -1
  285. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +0 -1
  286. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +0 -1
  287. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +0 -1
  288. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +0 -1
  289. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +0 -1
  290. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +0 -1
  291. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +0 -1
  292. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +0 -1
  293. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -3
  294. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +0 -1
  295. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +0 -1
  296. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +0 -1
  297. package/dist/types/twisty/views/2D/KPuzzleSVGWrapper.d.ts +17 -0
  298. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +0 -1
  299. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -4
  300. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +0 -1
  301. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +0 -1
  302. package/dist/types/twisty/views/3D/DragTracker.d.ts +0 -1
  303. package/dist/types/twisty/views/3D/RendererPool.d.ts +0 -1
  304. package/dist/types/twisty/views/3D/TAU.d.ts +0 -1
  305. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +0 -1
  306. package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts +0 -1
  307. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +6 -6
  308. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +2 -3
  309. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +0 -1
  310. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +0 -1
  311. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +2 -3
  312. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +0 -1
  313. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -5
  314. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +6 -6
  315. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +0 -1
  316. package/dist/types/twisty/views/ClassListManager.d.ts +0 -1
  317. package/dist/types/twisty/views/ManagedCustomElement.d.ts +0 -1
  318. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +0 -1
  319. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +0 -1
  320. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +0 -1
  321. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +0 -1
  322. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +0 -1
  323. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +0 -1
  324. package/dist/types/twisty/views/TwistyAlgViewer.d.ts +0 -1
  325. package/dist/types/twisty/views/TwistyPlayer.css.d.ts +0 -1
  326. package/dist/types/twisty/views/TwistyPlayer.d.ts +2 -2
  327. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +0 -1
  328. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +0 -1
  329. package/dist/types/twisty/views/canvas.d.ts +0 -1
  330. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +0 -1
  331. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +0 -1
  332. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +0 -1
  333. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +0 -1
  334. package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +0 -1
  335. package/dist/types/twisty/views/document.d.ts +0 -1
  336. package/dist/types/twisty/views/node-custom-element-shims.d.ts +0 -1
  337. package/dist/types/twisty/views/screenshot.d.ts +0 -1
  338. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +0 -1
  339. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts +0 -1
  340. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts +0 -1
  341. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts +0 -1
  342. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts +0 -1
  343. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts +0 -1
  344. package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts +0 -1
  345. package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts +0 -1
  346. package/dist/types/vendor/min2phase/gwt.d.ts +0 -1
  347. package/dist/types/vendor/p-lazy/p-lazy.d.ts +0 -1
  348. package/dist/types/vendor/random-uint-below/get-random-values.d.ts +0 -1
  349. package/dist/types/vendor/random-uint-below/index.d.ts +0 -1
  350. package/dist/types/vendor/random-uint-below/random-choice.d.ts +0 -1
  351. package/dist/types/vendor/random-uint-below/random53BitValue.d.ts +0 -1
  352. package/dist/types/vendor/sq12phase/scramble_sq1.d.ts +0 -1
  353. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +0 -1
  354. package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts +0 -1
  355. package/package.json +3 -4
  356. package/dist/bin/order.js +0 -16675
  357. package/dist/bin/order.js.map +0 -7
  358. package/dist/bin/puzzle-geometry-bin.js +0 -5444
  359. package/dist/bin/puzzle-geometry-bin.js.map +0 -7
  360. package/dist/bundle-global/cubing.bundle-global.js +0 -10432
  361. package/dist/esm/2x2x2.kpuzzle.json-JOGUSQ4N.js.map +0 -7
  362. package/dist/esm/2x2x2.sgs.json-FRBWMMA7.js.map +0 -7
  363. package/dist/esm/3d-Q4WSD4BC.js +0 -21
  364. package/dist/esm/chunk-4IUYLRHT.js.map +0 -7
  365. package/dist/esm/chunk-DK6PXBB2.js.map +0 -7
  366. package/dist/esm/chunk-DPMEZY7V.js.map +0 -7
  367. package/dist/esm/chunk-FK2SCC3Z.js.map +0 -7
  368. package/dist/esm/chunk-JZWB7AIU.js.map +0 -7
  369. package/dist/esm/chunk-N3RNWU5T.js.map +0 -7
  370. package/dist/esm/chunk-PUPUQWJC.js.map +0 -7
  371. package/dist/esm/chunk-X6JHXPDX.js +0 -2359
  372. package/dist/esm/chunk-X6JHXPDX.js.map +0 -7
  373. package/dist/esm/chunk-XVZOMB6J.js.map +0 -7
  374. package/dist/esm/clock.kpuzzle.json-EKWRMHJM.js.map +0 -7
  375. package/dist/esm/entry-L6CE2HLF.js.map +0 -7
  376. package/dist/esm/fto.sgs.json-62YNULOK.js.map +0 -7
  377. package/dist/esm/megaminx.sgs.json-PRL46G5J.js +0 -16
  378. package/dist/esm/skewb.sgs.json-FWHYACJG.js +0 -16
  379. package/dist/esm/skewb.sgs.json-FWHYACJG.js.map +0 -7
  380. package/dist/esm/sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map +0 -7
  381. package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js +0 -3450
  382. package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js.map +0 -7
  383. package/dist/types/alg/Alg.d.ts.map +0 -1
  384. package/dist/types/alg/Alg.spec.d.ts.map +0 -1
  385. package/dist/types/alg/AlgBuilder.d.ts.map +0 -1
  386. package/dist/types/alg/Serializable.d.ts.map +0 -1
  387. package/dist/types/alg/common.d.ts.map +0 -1
  388. package/dist/types/alg/debug.d.ts.map +0 -1
  389. package/dist/types/alg/example.d.ts.map +0 -1
  390. package/dist/types/alg/index.d.ts.map +0 -1
  391. package/dist/types/alg/is.d.ts.map +0 -1
  392. package/dist/types/alg/iteration.d.ts.map +0 -1
  393. package/dist/types/alg/keyboard.d.ts.map +0 -1
  394. package/dist/types/alg/limits.d.ts.map +0 -1
  395. package/dist/types/alg/operation.d.ts.map +0 -1
  396. package/dist/types/alg/operation.spec.d.ts.map +0 -1
  397. package/dist/types/alg/parse.d.ts.map +0 -1
  398. package/dist/types/alg/parse.spec.d.ts.map +0 -1
  399. package/dist/types/alg/test/alg-comparison.d.ts.map +0 -1
  400. package/dist/types/alg/test/alg.spec.d.ts.map +0 -1
  401. package/dist/types/alg/traversal.d.ts.map +0 -1
  402. package/dist/types/alg/units/QuantumWithAmount.d.ts.map +0 -1
  403. package/dist/types/alg/units/Unit.d.ts.map +0 -1
  404. package/dist/types/alg/units/containers/Commutator.d.ts.map +0 -1
  405. package/dist/types/alg/units/containers/Conjugate.d.ts.map +0 -1
  406. package/dist/types/alg/units/containers/Grouping.d.ts.map +0 -1
  407. package/dist/types/alg/units/index.d.ts.map +0 -1
  408. package/dist/types/alg/units/leaves/LineComment.d.ts.map +0 -1
  409. package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +0 -1
  410. package/dist/types/alg/units/leaves/Move.d.ts.map +0 -1
  411. package/dist/types/alg/units/leaves/Move.spec.d.ts.map +0 -1
  412. package/dist/types/alg/units/leaves/Newline.d.ts.map +0 -1
  413. package/dist/types/alg/units/leaves/Pause.d.ts.map +0 -1
  414. package/dist/types/alg/url.d.ts.map +0 -1
  415. package/dist/types/alg/url.spec.d.ts.map +0 -1
  416. package/dist/types/alg/validation.d.ts.map +0 -1
  417. package/dist/types/alg/warnOnce.d.ts.map +0 -1
  418. package/dist/types/bluetooth/connect/index.d.ts.map +0 -1
  419. package/dist/types/bluetooth/debug.d.ts.map +0 -1
  420. package/dist/types/bluetooth/index.d.ts.map +0 -1
  421. package/dist/types/bluetooth/keyboard.d.ts.map +0 -1
  422. package/dist/types/bluetooth/smart-puzzle/Heykube.d.ts.map +0 -1
  423. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +0 -1
  424. package/dist/types/bluetooth/smart-puzzle/connect.d.ts.map +0 -1
  425. package/dist/types/bluetooth/smart-puzzle/endianness.d.ts.map +0 -1
  426. package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +0 -1
  427. package/dist/types/bluetooth/smart-puzzle/giiker.d.ts.map +0 -1
  428. package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +0 -1
  429. package/dist/types/bluetooth/smart-puzzle/gocube.d.ts.map +0 -1
  430. package/dist/types/bluetooth/smart-robot/GanRobot.d.ts.map +0 -1
  431. package/dist/types/bluetooth/smart-robot/index.d.ts.map +0 -1
  432. package/dist/types/bluetooth/smart-timer/GanTimer.d.ts.map +0 -1
  433. package/dist/types/bluetooth/smart-timer/index.d.ts.map +0 -1
  434. package/dist/types/bluetooth/transformer.d.ts.map +0 -1
  435. package/dist/types/cubing.bundle-global.d.ts.map +0 -1
  436. package/dist/types/cubing.bundle-global.exports.d.ts.map +0 -1
  437. package/dist/types/esm-test-worker.d.ts.map +0 -1
  438. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +0 -1
  439. package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +0 -1
  440. package/dist/types/kpuzzle/canon.spec.d.ts +0 -2
  441. package/dist/types/kpuzzle/canon.spec.d.ts.map +0 -1
  442. package/dist/types/kpuzzle/canonicalize.d.ts +0 -55
  443. package/dist/types/kpuzzle/canonicalize.d.ts.map +0 -1
  444. package/dist/types/kpuzzle/definition_types.d.ts +0 -19
  445. package/dist/types/kpuzzle/definition_types.d.ts.map +0 -1
  446. package/dist/types/kpuzzle/index.d.ts.map +0 -1
  447. package/dist/types/kpuzzle/kpuzzle.d.ts +0 -17
  448. package/dist/types/kpuzzle/kpuzzle.d.ts.map +0 -1
  449. package/dist/types/kpuzzle/kpuzzle.spec.d.ts +0 -2
  450. package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +0 -1
  451. package/dist/types/kpuzzle/move_notation.d.ts +0 -6
  452. package/dist/types/kpuzzle/move_notation.d.ts.map +0 -1
  453. package/dist/types/kpuzzle/parser/index.d.ts +0 -2
  454. package/dist/types/kpuzzle/parser/index.d.ts.map +0 -1
  455. package/dist/types/kpuzzle/parser/parser-peggy.d.ts +0 -15
  456. package/dist/types/kpuzzle/parser/parser-peggy.d.ts.map +0 -1
  457. package/dist/types/kpuzzle/parser/parser-shim.d.ts +0 -4
  458. package/dist/types/kpuzzle/parser/parser-shim.d.ts.map +0 -1
  459. package/dist/types/kpuzzle/parser/parser.d.ts +0 -1
  460. package/dist/types/kpuzzle/parser/parser.d.ts.map +0 -1
  461. package/dist/types/kpuzzle/prunetable.spec.d.ts +0 -2
  462. package/dist/types/kpuzzle/prunetable.spec.d.ts.map +0 -1
  463. package/dist/types/kpuzzle/pruningtable.d.ts +0 -16
  464. package/dist/types/kpuzzle/pruningtable.d.ts.map +0 -1
  465. package/dist/types/kpuzzle/puzzle-orientation.d.ts +0 -5
  466. package/dist/types/kpuzzle/puzzle-orientation.d.ts.map +0 -1
  467. package/dist/types/kpuzzle/svg.d.ts +0 -18
  468. package/dist/types/kpuzzle/svg.d.ts.map +0 -1
  469. package/dist/types/kpuzzle/transformations.d.ts +0 -13
  470. package/dist/types/kpuzzle/transformations.d.ts.map +0 -1
  471. package/dist/types/kpuzzle/transformations.spec.d.ts +0 -2
  472. package/dist/types/kpuzzle/transformations.spec.d.ts.map +0 -1
  473. package/dist/types/notation/CountAnimatedLeaves.d.ts.map +0 -1
  474. package/dist/types/notation/CountMoves.d.ts.map +0 -1
  475. package/dist/types/notation/index.d.ts.map +0 -1
  476. package/dist/types/protocol/binary/binary3x3x3.d.ts.map +0 -1
  477. package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +0 -1
  478. package/dist/types/protocol/binary/hex.d.ts.map +0 -1
  479. package/dist/types/protocol/binary/hex.spec.d.ts.map +0 -1
  480. package/dist/types/protocol/binary/orbit-indexing.d.ts.map +0 -1
  481. package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +0 -1
  482. package/dist/types/protocol/binary/puzzle-orientation.d.ts.map +0 -1
  483. package/dist/types/protocol/index.d.ts.map +0 -1
  484. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts.map +0 -1
  485. package/dist/types/puzzle-geometry/Options.d.ts.map +0 -1
  486. package/dist/types/puzzle-geometry/PGPuzzles.d.ts.map +0 -1
  487. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +0 -1
  488. package/dist/types/puzzle-geometry/Perm.d.ts.map +0 -1
  489. package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +0 -1
  490. package/dist/types/puzzle-geometry/PlatonicGenerator.d.ts.map +0 -1
  491. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +0 -1
  492. package/dist/types/puzzle-geometry/Quat.d.ts.map +0 -1
  493. package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +0 -1
  494. package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +0 -1
  495. package/dist/types/puzzle-geometry/index.d.ts.map +0 -1
  496. package/dist/types/puzzle-geometry/interfaces.d.ts +0 -6
  497. package/dist/types/puzzle-geometry/interfaces.d.ts.map +0 -1
  498. package/dist/types/puzzle-geometry/notation-mapping/FTONotationMapper.d.ts.map +0 -1
  499. package/dist/types/puzzle-geometry/notation-mapping/FaceRenamingMapper.d.ts.map +0 -1
  500. package/dist/types/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.d.ts.map +0 -1
  501. package/dist/types/puzzle-geometry/notation-mapping/NotationMapper.d.ts.map +0 -1
  502. package/dist/types/puzzle-geometry/notation-mapping/NullMapper.d.ts.map +0 -1
  503. package/dist/types/puzzle-geometry/notation-mapping/NxNxNCubeMapper.d.ts.map +0 -1
  504. package/dist/types/puzzle-geometry/notation-mapping/PyraminxNotationMapper.d.ts.map +0 -1
  505. package/dist/types/puzzle-geometry/notation-mapping/SkewbNotationMapper.d.ts.map +0 -1
  506. package/dist/types/puzzle-geometry/notation-mapping/index.d.ts.map +0 -1
  507. package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +0 -1
  508. package/dist/types/puzzles/PuzzleLoader.d.ts.map +0 -1
  509. package/dist/types/puzzles/async/async-pg3d.d.ts.map +0 -1
  510. package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +0 -1
  511. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +0 -1
  512. package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.d.ts.map +0 -1
  513. package/dist/types/puzzles/implementations/2x2x2/index.d.ts.map +0 -1
  514. package/dist/types/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.d.ts.map +0 -1
  515. package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.d.ts.map +0 -1
  516. package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +0 -1
  517. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +0 -1
  518. package/dist/types/puzzles/implementations/clock/clock.kpuzzle.svg.d.ts.map +0 -1
  519. package/dist/types/puzzles/implementations/clock/index.d.ts.map +0 -1
  520. package/dist/types/puzzles/implementations/fto/index.d.ts.map +0 -1
  521. package/dist/types/puzzles/implementations/megaminx/index.d.ts.map +0 -1
  522. package/dist/types/puzzles/implementations/pyraminx/index.d.ts.map +0 -1
  523. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +0 -1
  524. package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.d.ts.map +0 -1
  525. package/dist/types/puzzles/implementations/square1/index.d.ts.map +0 -1
  526. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +0 -1
  527. package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.d.ts.map +0 -1
  528. package/dist/types/puzzles/index.d.ts.map +0 -1
  529. package/dist/types/puzzles/stickerings/appearance.d.ts.map +0 -1
  530. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +0 -1
  531. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +0 -1
  532. package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +0 -1
  533. package/dist/types/puzzles/stickerings/megaminx-stickerings.d.ts.map +0 -1
  534. package/dist/types/scramble/index.d.ts.map +0 -1
  535. package/dist/types/search/esm-test-worker.d.ts.map +0 -1
  536. package/dist/types/search/index.d.ts.map +0 -1
  537. package/dist/types/search/inside/api.d.ts.map +0 -1
  538. package/dist/types/search/inside/api.spec.d.ts.map +0 -1
  539. package/dist/types/search/inside/entry.d.ts.map +0 -1
  540. package/dist/types/search/inside/inside-worker.d.ts.map +0 -1
  541. package/dist/types/search/inside/module-entry-path-getter.d.ts.map +0 -1
  542. package/dist/types/search/inside/module-entry.d.ts.map +0 -1
  543. package/dist/types/search/inside/solve/addOrientationSuffix.d.ts.map +0 -1
  544. package/dist/types/search/inside/solve/parseSGS.d.ts.map +0 -1
  545. package/dist/types/search/inside/solve/puzzles/2x2x2.d.ts.map +0 -1
  546. package/dist/types/search/inside/solve/puzzles/2x2x2.sgs.json.d.ts.map +0 -1
  547. package/dist/types/search/inside/solve/puzzles/3x3x3/convert.d.ts.map +0 -1
  548. package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +0 -1
  549. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +0 -1
  550. package/dist/types/search/inside/solve/puzzles/3x3x3/legacy-sgs.d.ts.map +0 -1
  551. package/dist/types/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.d.ts.map +0 -1
  552. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +0 -1
  553. package/dist/types/search/inside/solve/puzzles/5x5x5.d.ts.map +0 -1
  554. package/dist/types/search/inside/solve/puzzles/big-cubes.d.ts.map +0 -1
  555. package/dist/types/search/inside/solve/puzzles/clock.d.ts.map +0 -1
  556. package/dist/types/search/inside/solve/puzzles/fto.d.ts.map +0 -1
  557. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts.map +0 -1
  558. package/dist/types/search/inside/solve/puzzles/megaminx.d.ts.map +0 -1
  559. package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +0 -1
  560. package/dist/types/search/inside/solve/puzzles/pyraminx.d.ts.map +0 -1
  561. package/dist/types/search/inside/solve/puzzles/pyraminx.sgs.json.d.ts.map +0 -1
  562. package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +0 -1
  563. package/dist/types/search/inside/solve/puzzles/skewb.d.ts.map +0 -1
  564. package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +0 -1
  565. package/dist/types/search/inside/solve/puzzles/sq1.d.ts.map +0 -1
  566. package/dist/types/search/inside/solve/puzzles/wca-minx.d.ts.map +0 -1
  567. package/dist/types/search/inside/solve/tremble.d.ts.map +0 -1
  568. package/dist/types/search/instantiator.d.ts.map +0 -1
  569. package/dist/types/search/outside.d.ts.map +0 -1
  570. package/dist/types/search/worker-inside-generated-string.d.ts.map +0 -1
  571. package/dist/types/stream/index.d.ts.map +0 -1
  572. package/dist/types/stream/process/ReorientedStream.d.ts.map +0 -1
  573. package/dist/types/stream/proxy-event.d.ts.map +0 -1
  574. package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +0 -1
  575. package/dist/types/stream/twizzle/stream-types.d.ts.map +0 -1
  576. package/dist/types/stream/websocket-proxy.d.ts.map +0 -1
  577. package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +0 -1
  578. package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +0 -1
  579. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +0 -1
  580. package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +0 -1
  581. package/dist/types/twisty/controllers/easing.d.ts.map +0 -1
  582. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +0 -1
  583. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +0 -1
  584. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +0 -1
  585. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
  586. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
  587. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
  588. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +0 -1
  589. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
  590. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +0 -1
  591. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +0 -1
  592. package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +0 -1
  593. package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +0 -1
  594. package/dist/types/twisty/index.d.ts.map +0 -1
  595. package/dist/types/twisty/model/PromiseFreshener.d.ts.map +0 -1
  596. package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +0 -1
  597. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +0 -1
  598. package/dist/types/twisty/model/helpers.d.ts.map +0 -1
  599. package/dist/types/twisty/model/props/TwistyProp.d.ts.map +0 -1
  600. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +0 -1
  601. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +0 -1
  602. package/dist/types/twisty/model/props/general/URLProp.d.ts.map +0 -1
  603. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +0 -1
  604. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +0 -1
  605. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +0 -1
  606. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +0 -1
  607. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +0 -1
  608. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +0 -1
  609. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +0 -1
  610. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +0 -1
  611. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +0 -1
  612. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +0 -1
  613. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +0 -15
  614. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +0 -1
  615. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +0 -1
  616. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +0 -1
  617. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +0 -1
  618. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +0 -1
  619. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +0 -1
  620. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +0 -1
  621. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +0 -1
  622. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +0 -1
  623. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +0 -11
  624. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +0 -1
  625. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +0 -1
  626. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +0 -1
  627. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +0 -1
  628. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +0 -1
  629. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +0 -1
  630. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +0 -1
  631. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +0 -1
  632. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +0 -1
  633. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +0 -1
  634. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +0 -1
  635. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +0 -1
  636. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +0 -1
  637. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +0 -1
  638. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +0 -1
  639. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +0 -1
  640. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +0 -1
  641. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +0 -1
  642. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +0 -1
  643. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +0 -1
  644. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +0 -1
  645. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +0 -1
  646. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +0 -1
  647. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +0 -1
  648. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +0 -1
  649. package/dist/types/twisty/views/3D/DragTracker.d.ts.map +0 -1
  650. package/dist/types/twisty/views/3D/RendererPool.d.ts.map +0 -1
  651. package/dist/types/twisty/views/3D/TAU.d.ts.map +0 -1
  652. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +0 -1
  653. package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +0 -1
  654. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +0 -1
  655. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +0 -1
  656. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +0 -1
  657. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +0 -1
  658. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +0 -1
  659. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +0 -1
  660. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +0 -1
  661. package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts +0 -48
  662. package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
  663. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +0 -1
  664. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
  665. package/dist/types/twisty/views/ClassListManager.d.ts.map +0 -1
  666. package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +0 -1
  667. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +0 -1
  668. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +0 -1
  669. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +0 -1
  670. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +0 -1
  671. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +0 -1
  672. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +0 -1
  673. package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +0 -1
  674. package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +0 -1
  675. package/dist/types/twisty/views/TwistyPlayer.d.ts.map +0 -1
  676. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +0 -1
  677. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +0 -1
  678. package/dist/types/twisty/views/canvas.d.ts.map +0 -1
  679. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +0 -1
  680. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +0 -1
  681. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts.map +0 -1
  682. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +0 -1
  683. package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +0 -1
  684. package/dist/types/twisty/views/document.d.ts.map +0 -1
  685. package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +0 -1
  686. package/dist/types/twisty/views/screenshot.d.ts.map +0 -1
  687. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +0 -1
  688. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +0 -1
  689. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
  690. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
  691. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
  692. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
  693. package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
  694. package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
  695. package/dist/types/vendor/min2phase/gwt.d.ts.map +0 -1
  696. package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +0 -1
  697. package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
  698. package/dist/types/vendor/random-uint-below/index.d.ts.map +0 -1
  699. package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +0 -1
  700. package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +0 -1
  701. package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
  702. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +0 -1
  703. package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +0 -1
  704. package/docs/.DS_Store +0 -0
  705. package/docs/CNAME +0 -1
  706. package/docs/cubing/.DS_Store +0 -0
  707. package/docs/cubing/alg/index.html +0 -174
  708. package/docs/cubing/api/index.html +0 -158
  709. package/docs/cubing/index.html +0 -191
  710. package/docs/cubing/scramble/index.html +0 -138
  711. package/docs/cubing/twisty/index.html +0 -329
  712. package/docs/favicon.ico +0 -0
  713. package/docs/index.html +0 -20
  714. package/docs/main.css +0 -193
  715. package/src/cubing/.DS_Store +0 -0
  716. package/src/cubing/alg/Alg.spec.ts +0 -10
  717. package/src/cubing/alg/Alg.ts +0 -290
  718. package/src/cubing/alg/AlgBuilder.ts +0 -33
  719. package/src/cubing/alg/Serializable.ts +0 -29
  720. package/src/cubing/alg/common.ts +0 -59
  721. package/src/cubing/alg/debug.ts +0 -27
  722. package/src/cubing/alg/example.ts +0 -152
  723. package/src/cubing/alg/index.ts +0 -21
  724. package/src/cubing/alg/is.ts +0 -38
  725. package/src/cubing/alg/iteration.ts +0 -45
  726. package/src/cubing/alg/keyboard.ts +0 -48
  727. package/src/cubing/alg/limits.ts +0 -4
  728. package/src/cubing/alg/operation.spec.ts +0 -48
  729. package/src/cubing/alg/operation.ts +0 -36
  730. package/src/cubing/alg/parse.spec.ts +0 -75
  731. package/src/cubing/alg/parse.ts +0 -408
  732. package/src/cubing/alg/test/alg-comparison.ts +0 -23
  733. package/src/cubing/alg/test/alg.spec.ts +0 -348
  734. package/src/cubing/alg/traversal.ts +0 -284
  735. package/src/cubing/alg/units/QuantumWithAmount.ts +0 -55
  736. package/src/cubing/alg/units/Unit.ts +0 -11
  737. package/src/cubing/alg/units/containers/Commutator.ts +0 -85
  738. package/src/cubing/alg/units/containers/Conjugate.ts +0 -53
  739. package/src/cubing/alg/units/containers/Grouping.ts +0 -116
  740. package/src/cubing/alg/units/index.ts +0 -8
  741. package/src/cubing/alg/units/leaves/LineComment.spec.ts +0 -35
  742. package/src/cubing/alg/units/leaves/LineComment.ts +0 -48
  743. package/src/cubing/alg/units/leaves/Move.spec.ts +0 -15
  744. package/src/cubing/alg/units/leaves/Move.ts +0 -265
  745. package/src/cubing/alg/units/leaves/Newline.ts +0 -24
  746. package/src/cubing/alg/units/leaves/Pause.ts +0 -24
  747. package/src/cubing/alg/url.spec.ts +0 -10
  748. package/src/cubing/alg/url.ts +0 -133
  749. package/src/cubing/alg/validation.ts +0 -62
  750. package/src/cubing/alg/warnOnce.ts +0 -7
  751. package/src/cubing/bluetooth/connect/index.ts +0 -93
  752. package/src/cubing/bluetooth/debug.ts +0 -18
  753. package/src/cubing/bluetooth/docs/gan-robot.md +0 -60
  754. package/src/cubing/bluetooth/docs/gan356i.md +0 -309
  755. package/src/cubing/bluetooth/index.ts +0 -19
  756. package/src/cubing/bluetooth/keyboard.ts +0 -55
  757. package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +0 -165
  758. package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +0 -95
  759. package/src/cubing/bluetooth/smart-puzzle/connect.ts +0 -19
  760. package/src/cubing/bluetooth/smart-puzzle/endianness.ts +0 -15
  761. package/src/cubing/bluetooth/smart-puzzle/gan.ts +0 -484
  762. package/src/cubing/bluetooth/smart-puzzle/giiker.spec.ts +0 -28
  763. package/src/cubing/bluetooth/smart-puzzle/giiker.ts +0 -277
  764. package/src/cubing/bluetooth/smart-puzzle/gocube.ts +0 -167
  765. package/src/cubing/bluetooth/smart-robot/GanRobot.ts +0 -311
  766. package/src/cubing/bluetooth/smart-robot/index.ts +0 -13
  767. package/src/cubing/bluetooth/smart-timer/GanTimer.ts +0 -141
  768. package/src/cubing/bluetooth/smart-timer/index.ts +0 -13
  769. package/src/cubing/bluetooth/transformer.ts +0 -74
  770. package/src/cubing/cubing.bundle-global.exports.ts +0 -25
  771. package/src/cubing/cubing.bundle-global.ts +0 -7
  772. package/src/cubing/esm-test-worker.js +0 -5
  773. package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +0 -40
  774. package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts +0 -339
  775. package/src/cubing/kpuzzle/canon.spec.ts +0 -48
  776. package/src/cubing/kpuzzle/canonicalize.ts +0 -325
  777. package/src/cubing/kpuzzle/definition_types.ts +0 -23
  778. package/src/cubing/kpuzzle/index.ts +0 -33
  779. package/src/cubing/kpuzzle/kpuzzle.spec.ts +0 -12
  780. package/src/cubing/kpuzzle/kpuzzle.ts +0 -124
  781. package/src/cubing/kpuzzle/move_notation.ts +0 -9
  782. package/src/cubing/kpuzzle/parser/index.ts +0 -1
  783. package/src/cubing/kpuzzle/parser/parser-peggy.js +0 -1221
  784. package/src/cubing/kpuzzle/parser/parser-peggy.peggy +0 -72
  785. package/src/cubing/kpuzzle/parser/parser-shim.ts +0 -11
  786. package/src/cubing/kpuzzle/parser/parser.js +0 -0
  787. package/src/cubing/kpuzzle/prunetable.spec.ts +0 -19
  788. package/src/cubing/kpuzzle/pruningtable.ts +0 -99
  789. package/src/cubing/kpuzzle/puzzle-orientation.ts +0 -34
  790. package/src/cubing/kpuzzle/svg.ts +0 -290
  791. package/src/cubing/kpuzzle/transformations.spec.ts +0 -75
  792. package/src/cubing/kpuzzle/transformations.ts +0 -258
  793. package/src/cubing/notation/CountAnimatedLeaves.ts +0 -56
  794. package/src/cubing/notation/CountMoves.ts +0 -89
  795. package/src/cubing/notation/index.ts +0 -4
  796. package/src/cubing/protocol/binary/binary3x3x3.spec.ts +0 -143
  797. package/src/cubing/protocol/binary/binary3x3x3.ts +0 -226
  798. package/src/cubing/protocol/binary/hex.spec.ts +0 -17
  799. package/src/cubing/protocol/binary/hex.ts +0 -12
  800. package/src/cubing/protocol/binary/orbit-indexing.spec.ts +0 -49
  801. package/src/cubing/protocol/binary/orbit-indexing.ts +0 -68
  802. package/src/cubing/protocol/binary/puzzle-orientation.ts +0 -69
  803. package/src/cubing/protocol/index.ts +0 -12
  804. package/src/cubing/puzzle-geometry/FaceNameSwizzler.ts +0 -148
  805. package/src/cubing/puzzle-geometry/Options.ts +0 -179
  806. package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +0 -127
  807. package/src/cubing/puzzle-geometry/PGPuzzles.ts +0 -80
  808. package/src/cubing/puzzle-geometry/Perm.ts +0 -154
  809. package/src/cubing/puzzle-geometry/PermOriSet.ts +0 -765
  810. package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +0 -146
  811. package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +0 -3013
  812. package/src/cubing/puzzle-geometry/Quat.spec.ts +0 -10
  813. package/src/cubing/puzzle-geometry/Quat.ts +0 -325
  814. package/src/cubing/puzzle-geometry/SchreierSims.ts +0 -144
  815. package/src/cubing/puzzle-geometry/index.ts +0 -17
  816. package/src/cubing/puzzle-geometry/interfaces.ts +0 -6
  817. package/src/cubing/puzzle-geometry/notation-mapping/FTONotationMapper.ts +0 -38
  818. package/src/cubing/puzzle-geometry/notation-mapping/FaceRenamingMapper.ts +0 -59
  819. package/src/cubing/puzzle-geometry/notation-mapping/MegaminxScramblingNotationMapper.ts +0 -50
  820. package/src/cubing/puzzle-geometry/notation-mapping/NotationMapper.ts +0 -6
  821. package/src/cubing/puzzle-geometry/notation-mapping/NullMapper.ts +0 -12
  822. package/src/cubing/puzzle-geometry/notation-mapping/NxNxNCubeMapper.ts +0 -77
  823. package/src/cubing/puzzle-geometry/notation-mapping/PyraminxNotationMapper.ts +0 -121
  824. package/src/cubing/puzzle-geometry/notation-mapping/SkewbNotationMapper.ts +0 -103
  825. package/src/cubing/puzzle-geometry/notation-mapping/index.ts +0 -13
  826. package/src/cubing/puzzle-geometry/orientcenters.spec.ts +0 -55
  827. package/src/cubing/puzzles/PuzzleLoader.ts +0 -20
  828. package/src/cubing/puzzles/async/async-pg3d.ts +0 -73
  829. package/src/cubing/puzzles/customPGPuzzleLoader.ts +0 -60
  830. package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts +0 -92
  831. package/src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.svg.ts +0 -45
  832. package/src/cubing/puzzles/implementations/2x2x2/index.ts +0 -25
  833. package/src/cubing/puzzles/implementations/2x2x2/svg/2x2x2.kpuzzle.svg +0 -45
  834. package/src/cubing/puzzles/implementations/3x3x3/3x3x3-ll.kpuzzle.svg.ts +0 -108
  835. package/src/cubing/puzzles/implementations/3x3x3/3x3x3.kpuzzle.svg.ts +0 -128
  836. package/src/cubing/puzzles/implementations/3x3x3/index.ts +0 -33
  837. package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3-ll.kpuzzle.svg +0 -108
  838. package/src/cubing/puzzles/implementations/3x3x3/src/3x3x3.kpuzzle.svg +0 -128
  839. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.original.svg +0 -128
  840. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.outlined.svg +0 -486
  841. package/src/cubing/puzzles/implementations/TODO/svg/alg/3x3x3.kpuzzle.spaced.svg +0 -128
  842. package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.json.ts +0 -241
  843. package/src/cubing/puzzles/implementations/clock/clock.kpuzzle.svg.ts +0 -369
  844. package/src/cubing/puzzles/implementations/clock/index.ts +0 -14
  845. package/src/cubing/puzzles/implementations/clock/src/clock.kpuzzle.svg +0 -369
  846. package/src/cubing/puzzles/implementations/fto/index.ts +0 -28
  847. package/src/cubing/puzzles/implementations/megaminx/index.ts +0 -20
  848. package/src/cubing/puzzles/implementations/pyraminx/index.ts +0 -18
  849. package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.ts +0 -84
  850. package/src/cubing/puzzles/implementations/pyraminx/pyraminx.kpuzzle.svg.ts +0 -88
  851. package/src/cubing/puzzles/implementations/pyraminx/src/pyraminx.kpuzzle.svg +0 -87
  852. package/src/cubing/puzzles/implementations/square1/index.ts +0 -14
  853. package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.ts +0 -62
  854. package/src/cubing/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.svg.ts +0 -295
  855. package/src/cubing/puzzles/implementations/square1/src/sq1-hyperorbit.kpuzzle.svg +0 -295
  856. package/src/cubing/puzzles/implementations/square1/src/sq1-simple.svg +0 -60
  857. package/src/cubing/puzzles/index.ts +0 -92
  858. package/src/cubing/puzzles/stickerings/appearance.ts +0 -292
  859. package/src/cubing/puzzles/stickerings/cube-stickerings.ts +0 -304
  860. package/src/cubing/puzzles/stickerings/fto-stickerings.ts +0 -105
  861. package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +0 -61
  862. package/src/cubing/puzzles/stickerings/megaminx-stickerings.ts +0 -26
  863. package/src/cubing/scramble/index.ts +0 -1
  864. package/src/cubing/search/.DS_Store +0 -0
  865. package/src/cubing/search/.gitignore +0 -1
  866. package/src/cubing/search/esm-test-worker.js +0 -14
  867. package/src/cubing/search/index.ts +0 -12
  868. package/src/cubing/search/inside/.DS_Store +0 -0
  869. package/src/cubing/search/inside/api.spec.ts +0 -37
  870. package/src/cubing/search/inside/api.ts +0 -174
  871. package/src/cubing/search/inside/entry.js +0 -4
  872. package/src/cubing/search/inside/inside-worker.ts +0 -13
  873. package/src/cubing/search/inside/module-entry-path-getter.ts +0 -5
  874. package/src/cubing/search/inside/module-entry.ts +0 -20
  875. package/src/cubing/search/inside/solve/addOrientationSuffix.ts +0 -17
  876. package/src/cubing/search/inside/solve/parseSGS.ts +0 -119
  877. package/src/cubing/search/inside/solve/puzzles/2x2x2.sgs.json.ts +0 -114
  878. package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +0 -92
  879. package/src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts +0 -137
  880. package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -60
  881. package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -67
  882. package/src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts +0 -291
  883. package/src/cubing/search/inside/solve/puzzles/3x3x3-inefficient.sgs.json.ts +0 -272
  884. package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +0 -30
  885. package/src/cubing/search/inside/solve/puzzles/5x5x5.ts +0 -12
  886. package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +0 -78
  887. package/src/cubing/search/inside/solve/puzzles/clock.ts +0 -48
  888. package/src/cubing/search/inside/solve/puzzles/fto.sgs.json.ts +0 -643
  889. package/src/cubing/search/inside/solve/puzzles/fto.ts +0 -58
  890. package/src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts +0 -1549
  891. package/src/cubing/search/inside/solve/puzzles/megaminx.ts +0 -51
  892. package/src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts +0 -98
  893. package/src/cubing/search/inside/solve/puzzles/pyraminx.ts +0 -48
  894. package/src/cubing/search/inside/solve/puzzles/sgs-defs.spec.ts +0 -27
  895. package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +0 -113
  896. package/src/cubing/search/inside/solve/puzzles/skewb.ts +0 -65
  897. package/src/cubing/search/inside/solve/puzzles/sq1.ts +0 -16
  898. package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +0 -32
  899. package/src/cubing/search/inside/solve/tremble.ts +0 -213
  900. package/src/cubing/search/instantiator.ts +0 -95
  901. package/src/cubing/search/outside.ts +0 -110
  902. package/src/cubing/search/worker-inside-generated-string.js +0 -1
  903. package/src/cubing/stream/index.ts +0 -12
  904. package/src/cubing/stream/process/ReorientedStream.ts +0 -93
  905. package/src/cubing/stream/proxy-event.ts +0 -16
  906. package/src/cubing/stream/twizzle/TwizzleStream.ts +0 -53
  907. package/src/cubing/stream/twizzle/stream-types.ts +0 -45
  908. package/src/cubing/stream/websocket-proxy.ts +0 -73
  909. package/src/cubing/twisty/controllers/AnimationTypes.ts +0 -50
  910. package/src/cubing/twisty/controllers/RenderScheduler.ts +0 -28
  911. package/src/cubing/twisty/controllers/TwistyAnimationController.ts +0 -325
  912. package/src/cubing/twisty/controllers/TwistyPlayerController.ts +0 -38
  913. package/src/cubing/twisty/controllers/easing.ts +0 -3
  914. package/src/cubing/twisty/controllers/indexer/AlgDuration.ts +0 -94
  915. package/src/cubing/twisty/controllers/indexer/AlgIndexer.ts +0 -87
  916. package/src/cubing/twisty/controllers/indexer/SimpleAlgIndexer.ts +0 -76
  917. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -181
  918. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +0 -243
  919. package/src/cubing/twisty/controllers/indexer/simultaneous-moves/simul-moves.ts +0 -193
  920. package/src/cubing/twisty/controllers/indexer/tree/AlgWalker.ts +0 -439
  921. package/src/cubing/twisty/controllers/indexer/tree/TreeAlgIndexer.ts +0 -97
  922. package/src/cubing/twisty/controllers/indexer/tree/chunkAlgs.ts +0 -81
  923. package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -59
  924. package/src/cubing/twisty/controllers/stream/timeline-move-calculation-draft.ts +0 -162
  925. package/src/cubing/twisty/heavy-code-imports/3d.ts +0 -18
  926. package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +0 -31
  927. package/src/cubing/twisty/index.ts +0 -24
  928. package/src/cubing/twisty/model/PromiseFreshener.ts +0 -49
  929. package/src/cubing/twisty/model/TwistyPlayerModel.ts +0 -256
  930. package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +0 -22
  931. package/src/cubing/twisty/model/helpers.ts +0 -47
  932. package/src/cubing/twisty/model/props/TwistyProp.spec.ts +0 -38
  933. package/src/cubing/twisty/model/props/TwistyProp.ts +0 -366
  934. package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +0 -370
  935. package/src/cubing/twisty/model/props/general/URLProp.ts +0 -14
  936. package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +0 -9
  937. package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +0 -15
  938. package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +0 -43
  939. package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +0 -56
  940. package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +0 -91
  941. package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +0 -28
  942. package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +0 -44
  943. package/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.ts +0 -17
  944. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +0 -109
  945. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +0 -48
  946. package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +0 -46
  947. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +0 -53
  948. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +0 -15
  949. package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +0 -24
  950. package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +0 -22
  951. package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +0 -14
  952. package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +0 -20
  953. package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +0 -28
  954. package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +0 -14
  955. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +0 -14
  956. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +0 -14
  957. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +0 -12
  958. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +0 -36
  959. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +0 -38
  960. package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +0 -45
  961. package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +0 -78
  962. package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +0 -48
  963. package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +0 -13
  964. package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +0 -38
  965. package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +0 -16
  966. package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +0 -15
  967. package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +0 -86
  968. package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +0 -14
  969. package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +0 -11
  970. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +0 -127
  971. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +0 -69
  972. package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +0 -15
  973. package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +0 -14
  974. package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +0 -17
  975. package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +0 -45
  976. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.css.ts +0 -26
  977. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +0 -146
  978. package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +0 -52
  979. package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +0 -77
  980. package/src/cubing/twisty/views/3D/DragTracker.ts +0 -184
  981. package/src/cubing/twisty/views/3D/RendererPool.ts +0 -54
  982. package/src/cubing/twisty/views/3D/TAU.ts +0 -2
  983. package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +0 -214
  984. package/src/cubing/twisty/views/3D/Twisty3DRenderTarget.ts +0 -5
  985. package/src/cubing/twisty/views/3D/Twisty3DScene.ts +0 -42
  986. package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +0 -189
  987. package/src/cubing/twisty/views/3D/Twisty3DVantage.css.ts +0 -32
  988. package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +0 -312
  989. package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +0 -213
  990. package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +0 -176
  991. package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +0 -966
  992. package/src/cubing/twisty/views/3D/puzzles/KPuzzleWrapper.ts +0 -142
  993. package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +0 -1078
  994. package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +0 -6
  995. package/src/cubing/twisty/views/ClassListManager.ts +0 -34
  996. package/src/cubing/twisty/views/ManagedCustomElement.ts +0 -76
  997. package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +0 -116
  998. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +0 -72
  999. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.ts +0 -57
  1000. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +0 -368
  1001. package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +0 -179
  1002. package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +0 -25
  1003. package/src/cubing/twisty/views/TwistyAlgViewer.ts +0 -502
  1004. package/src/cubing/twisty/views/TwistyPlayer.css.ts +0 -73
  1005. package/src/cubing/twisty/views/TwistyPlayer.ts +0 -362
  1006. package/src/cubing/twisty/views/TwistyPlayerSettable.ts +0 -115
  1007. package/src/cubing/twisty/views/TwistyViewerWrapper.css.ts +0 -41
  1008. package/src/cubing/twisty/views/canvas.ts +0 -9
  1009. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.css.ts +0 -127
  1010. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +0 -156
  1011. package/src/cubing/twisty/views/control-panel/TwistyScrubber.css.ts +0 -48
  1012. package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +0 -145
  1013. package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +0 -44
  1014. package/src/cubing/twisty/views/document.ts +0 -4
  1015. package/src/cubing/twisty/views/node-custom-element-shims.ts +0 -30
  1016. package/src/cubing/twisty/views/screenshot.ts +0 -90
  1017. package/src/cubing/twisty/views/stream/TwistyStreamSource.css.ts +0 -17
  1018. package/src/cubing/twisty/views/stream/TwistyStreamSource.ts +0 -155
  1019. package/src/cubing/vendor/.DS_Store +0 -0
  1020. package/src/cubing/vendor/comlink-everywhere/.DS_Store +0 -0
  1021. package/src/cubing/vendor/comlink-everywhere/comlink-everywhere.webloc +0 -8
  1022. package/src/cubing/vendor/comlink-everywhere/inside/index.d.ts +0 -1
  1023. package/src/cubing/vendor/comlink-everywhere/inside/index.js +0 -16
  1024. package/src/cubing/vendor/comlink-everywhere/inside/node.js +0 -6
  1025. package/src/cubing/vendor/comlink-everywhere/outside/index.d.ts +0 -6
  1026. package/src/cubing/vendor/comlink-everywhere/outside/index.js +0 -31
  1027. package/src/cubing/vendor/comlink-everywhere/outside/node.js +0 -42
  1028. package/src/cubing/vendor/cstimer/.DS_Store +0 -0
  1029. package/src/cubing/vendor/cstimer/LICENSE +0 -674
  1030. package/src/cubing/vendor/cstimer/src/.DS_Store +0 -0
  1031. package/src/cubing/vendor/cstimer/src/js/lib/mathlib.ts +0 -54
  1032. package/src/cubing/vendor/cstimer/src/js/scramble/scramble_444.ts +0 -2791
  1033. package/src/cubing/vendor/min2phase/gwt.d.ts +0 -2
  1034. package/src/cubing/vendor/min2phase/gwt.js +0 -2699
  1035. package/src/cubing/vendor/p-lazy/license +0 -9
  1036. package/src/cubing/vendor/p-lazy/p-lazy.ts +0 -52
  1037. package/src/cubing/vendor/p-lazy/readme.md +0 -54
  1038. package/src/cubing/vendor/random-uint-below/get-random-values.ts +0 -23
  1039. package/src/cubing/vendor/random-uint-below/index.ts +0 -12
  1040. package/src/cubing/vendor/random-uint-below/random-choice.ts +0 -9
  1041. package/src/cubing/vendor/random-uint-below/random53BitValue.ts +0 -64
  1042. package/src/cubing/vendor/sq12phase/scramble_sq1.js +0 -853
  1043. package/src/cubing/vendor/three/.DS_Store +0 -0
  1044. package/src/cubing/vendor/three/examples/.DS_Store +0 -0
  1045. package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +0 -179
  1046. package/src/cubing/vendor/unsafe-raw-aes/unsafe-raw-aes.ts +0 -64
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/kpuzzle/combine.ts", "../../src/cubing/kpuzzle/construct.ts", "../../src/cubing/kpuzzle/KState.ts", "../../src/cubing/kpuzzle/KTransformation.ts", "../../src/cubing/kpuzzle/calculate.ts", "../../src/cubing/kpuzzle/KPuzzle.ts", "../../src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts", "../../src/cubing/kpuzzle/index.ts"],
4
+ "sourcesContent": ["import { isOrbitTransformationDataIdentityUncached } from \"./calculate\";\nimport type {\n KPuzzleDefinition,\n KStateData,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\n\nexport function combineTransformationData(\n definition: KPuzzleDefinition,\n transformationData1: KTransformationData,\n transformationData2: KTransformationData,\n): KTransformationData {\n const newTransformationData = {} as KTransformationData;\n for (const orbitName in definition.orbits) {\n const orbitDefinition = definition.orbits[orbitName];\n const orbit1 = transformationData1[orbitName];\n const orbit2 = transformationData2[orbitName];\n if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbit2,\n )\n ) {\n // common case for big cubes\n newTransformationData[orbitName] = orbit1;\n } else if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbit1,\n )\n ) {\n newTransformationData[orbitName] = orbit2;\n } else {\n const newPerm = new Array(orbitDefinition.numPieces);\n if (orbitDefinition.numOrientations === 1) {\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newPerm[idx] = orbit1.permutation[orbit2.permutation[idx]];\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: orbit1.orientation,\n };\n } else {\n const newOri = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newOri[idx] =\n (orbit1.orientation[orbit2.permutation[idx]] +\n orbit2.orientation[idx]) %\n orbitDefinition.numOrientations;\n newPerm[idx] = orbit1.permutation[orbit2.permutation[idx]];\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: newOri,\n };\n }\n }\n }\n return newTransformationData;\n}\n\nexport function applyTransformationDataToStateData(\n definition: KPuzzleDefinition,\n stateData: KStateData,\n transformationData: KTransformationData,\n): KStateData {\n const newStateData = {} as KStateData;\n for (const orbitName in definition.orbits) {\n const orbitDefinition = definition.orbits[orbitName];\n const orbit1 = stateData[orbitName];\n const orbit2 = transformationData[orbitName];\n if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbit2,\n )\n ) {\n // common case for big cubes\n newStateData[orbitName] = orbit1;\n } else {\n const newPieces = new Array(orbitDefinition.numPieces);\n if (orbitDefinition.numOrientations === 1) {\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newPieces[idx] = orbit1.pieces[orbit2.permutation[idx]];\n }\n newStateData[orbitName] = {\n pieces: newPieces,\n orientation: orbit1.orientation,\n };\n } else {\n const newOri = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newOri[idx] =\n (orbit1.orientation[orbit2.permutation[idx]] +\n orbit2.orientation[idx]) %\n orbitDefinition.numOrientations;\n newPieces[idx] = orbit1.pieces[orbit2.permutation[idx]];\n }\n newStateData[orbitName] = {\n pieces: newPieces,\n orientation: newOri,\n };\n }\n }\n }\n return newStateData;\n}\n", "import type { Move } from \"../alg\";\nimport { repeatTransformationUncached } from \"./calculate\";\nimport type { KPuzzle } from \"./KPuzzle\";\nimport type {\n KPuzzleDefinition,\n KTransformationData,\n KTransformationOrbitData,\n} from \"./KPuzzleDefinition\";\n\nconst FREEZE: boolean = false;\n\nconst identityOrbitCache = new Map<number, KTransformationOrbitData>();\nfunction constructIdentityOrbitTransformation(\n numPieces: number,\n): KTransformationOrbitData {\n const cached = identityOrbitCache.get(numPieces);\n if (cached) {\n return cached;\n }\n\n const newPermutation = new Array(numPieces);\n const newOrientation = new Array(numPieces);\n for (let i = 0; i < numPieces; i++) {\n newPermutation[i] = i;\n newOrientation[i] = 0;\n }\n const orbitTransformation = {\n permutation: newPermutation,\n orientation: newOrientation,\n };\n if (FREEZE) {\n Object.freeze(newPermutation); // TODO\n Object.freeze(newOrientation); // TODO\n Object.freeze(orbitTransformation); // TODO\n }\n identityOrbitCache.set(numPieces, orbitTransformation);\n return orbitTransformation;\n}\n\nexport function constructIdentityTransformationDataUncached(\n definition: KPuzzleDefinition,\n): KTransformationData {\n const transformation = {} as KTransformationData;\n for (const [orbitName, orbitDefinition] of Object.entries(\n definition.orbits,\n )) {\n transformation[orbitName] = constructIdentityOrbitTransformation(\n orbitDefinition.numPieces,\n );\n }\n if (FREEZE) {\n Object.freeze(transformation); // TODO\n }\n return transformation;\n}\n\nexport function moveToTransformationUncached(\n kpuzzle: KPuzzle,\n move: Move,\n): KTransformationData {\n const quantumKey = move.quantum.toString();\n const quantumMoveDefinition = kpuzzle.definition.moves[quantumKey] as\n | KTransformationData\n | undefined;\n\n if (quantumMoveDefinition) {\n return repeatTransformationUncached(\n kpuzzle,\n quantumMoveDefinition,\n move.amount,\n );\n }\n\n // Handle e.g. `y2` if `y2` is defined.\n // Note: this doesn't handle multiples.\n const moveDefinition = kpuzzle.definition.moves[move.toString()];\n if (moveDefinition) {\n return moveDefinition;\n }\n\n // Handle e.g. `y2'` if `y2` is defined.\n // Note: this doesn't handle multiples.\n const inverseMoveDefinition =\n kpuzzle.definition.moves[move.invert().toString()];\n if (inverseMoveDefinition) {\n return repeatTransformationUncached(kpuzzle, inverseMoveDefinition, -1);\n }\n\n throw new Error(`Invalid move for KPuzzle (${kpuzzle.name()}): ${move}`);\n}\n", "import type { KPuzzle, KTransformationData } from \".\";\nimport type { Alg, Move } from \"../alg\";\nimport { applyTransformationDataToStateData } from \"./combine\";\nimport type { KTransformationSource } from \"./KPuzzle\";\nimport type { KStateData, KTransformationOrbitData } from \"./KPuzzleDefinition\";\nimport { KTransformation } from \"./KTransformation\";\n\nexport class KState {\n constructor(\n public readonly kpuzzle: KPuzzle,\n public readonly stateData: KStateData,\n ) {}\n\n static fromTransformation(transformation: KTransformation): KState {\n const newStateData = applyTransformationDataToStateData(\n transformation.kpuzzle.definition,\n transformation.kpuzzle.definition.startStateData,\n transformation.transformationData,\n );\n return new KState(transformation.kpuzzle, newStateData);\n }\n\n // Convenience function\n /** @deprecated */\n apply(source: KTransformationSource): KState {\n return this.applyTransformation(this.kpuzzle.toTransformation(source));\n }\n\n applyTransformation(transformation: KTransformation): KState {\n if (transformation.isIdentityTransformation()) {\n return new KState(this.kpuzzle, this.stateData);\n }\n const newStateData = applyTransformationDataToStateData(\n this.kpuzzle.definition,\n this.stateData,\n transformation.transformationData,\n );\n return new KState(this.kpuzzle, newStateData);\n }\n\n applyMove(move: Move | string): KState {\n return this.applyTransformation(this.kpuzzle.moveToTransformation(move));\n }\n\n applyAlg(alg: Alg | string): KState {\n return this.applyTransformation(this.kpuzzle.algToTransformation(alg));\n }\n\n /** @deprecated */\n experimentalToTransformation(): KTransformation | null {\n if (!this.kpuzzle.canConvertStateToUniqueTransformation()) {\n return null;\n }\n const transformationData: KTransformationData = {};\n for (const [orbitName, stateOrbitData] of Object.entries(this.stateData)) {\n const transformationOrbit: KTransformationOrbitData = {\n permutation: stateOrbitData.pieces,\n orientation: stateOrbitData.orientation,\n };\n transformationData[orbitName] = transformationOrbit;\n }\n return new KTransformation(this.kpuzzle, transformationData);\n }\n}\n", "import type { Alg, Move } from \"../alg\";\nimport {\n invertTransformation,\n isTransformationDataIdentical,\n repeatTransformationUncached,\n transformationRepetitionOrder,\n} from \"./calculate\";\nimport { combineTransformationData } from \"./combine\";\nimport { constructIdentityTransformationDataUncached } from \"./construct\";\nimport type { KPuzzle, KTransformationSource } from \"./KPuzzle\";\nimport type { KTransformationData } from \"./KPuzzleDefinition\";\nimport { KState } from \"./KState\";\n\nexport class KTransformation {\n constructor(\n public readonly kpuzzle: KPuzzle,\n public readonly transformationData: KTransformationData,\n ) {}\n\n invert(): KTransformation {\n return new KTransformation(\n this.kpuzzle,\n invertTransformation(this.kpuzzle, this.transformationData),\n );\n }\n\n // For optimizations, we want to make it cheap to rely on optimizations when a\n // transformation is an identity. Here, we try to make it cheaper by:\n // - only calculating when needed, and\n // - caching the result.\n #cachedIsIdentity: boolean | undefined; // TODO: is `null` worse here?\n isIdentityTransformation(): boolean {\n return (this.#cachedIsIdentity ??= this.isIdentical(\n this.kpuzzle.identityTransformation(),\n ));\n }\n\n /** @deprecated */\n static experimentalConstructIdentity(kpuzzle: KPuzzle) {\n const transformation = new KTransformation(\n kpuzzle,\n constructIdentityTransformationDataUncached(kpuzzle.definition),\n );\n transformation.#cachedIsIdentity = true;\n return transformation;\n }\n\n isIdentical(t2: KTransformation): boolean {\n return isTransformationDataIdentical(\n this.kpuzzle,\n this.transformationData,\n t2.transformationData,\n );\n }\n\n // Convenience function\n /** @deprecated */\n apply(source: KTransformationSource): KTransformation {\n return this.applyTransformation(this.kpuzzle.toTransformation(source));\n }\n\n applyTransformation(t2: KTransformation): KTransformation {\n if (this.kpuzzle !== t2.kpuzzle) {\n throw new Error(\n `Tried to apply a transformation for a KPuzzle (${t2.kpuzzle.name()}) to a different KPuzzle (${this.kpuzzle.name()}).`,\n );\n }\n\n if (this.#cachedIsIdentity) {\n return new KTransformation(this.kpuzzle, t2.transformationData);\n }\n if (t2.#cachedIsIdentity) {\n return new KTransformation(this.kpuzzle, this.transformationData);\n }\n\n return new KTransformation(\n this.kpuzzle,\n combineTransformationData(\n this.kpuzzle.definition,\n this.transformationData,\n t2.transformationData,\n ),\n );\n }\n\n applyMove(move: Move | string): KTransformation {\n return this.applyTransformation(this.kpuzzle.moveToTransformation(move));\n }\n\n applyAlg(alg: Alg | string): KTransformation {\n return this.applyTransformation(this.kpuzzle.algToTransformation(alg));\n }\n\n // Convenience. Useful for chaining.\n toKState(): KState {\n return KState.fromTransformation(this);\n }\n\n repetitionOrder(): number {\n return transformationRepetitionOrder(this.kpuzzle.definition, this);\n }\n\n selfMultiply(amount: number): KTransformation {\n return new KTransformation(\n this.kpuzzle,\n repeatTransformationUncached(\n this.kpuzzle,\n this.transformationData,\n amount,\n ),\n );\n }\n}\n", "import type { KPuzzleDefinition } from \".\";\nimport {\n Alg,\n Commutator,\n Conjugate,\n Grouping,\n LineComment,\n Move,\n Newline,\n Pause,\n TraversalDownUp,\n} from \"../alg\";\nimport { combineTransformationData } from \"./combine\";\nimport type { KPuzzle } from \"./KPuzzle\";\nimport type {\n KOrbitDefinition,\n KTransformationOrbitData,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\nimport { KTransformation } from \"./KTransformation\";\n\nexport function isOrbitTransformationDataIdentityUncached(\n numOrientations: number,\n orbitTransformationData: KTransformationOrbitData,\n): boolean {\n // TODO\n // if (o === lasto) {\n // return true;\n // }\n const { permutation } = orbitTransformationData;\n const numPieces = permutation.length;\n for (let idx = 0; idx < numPieces; idx++) {\n if (permutation[idx] !== idx) {\n return false;\n }\n }\n if (numOrientations > 1) {\n const { orientation } = orbitTransformationData;\n for (let idx = 0; idx < numPieces; idx++) {\n if (orientation[idx] !== 0) {\n return false;\n }\n }\n }\n // lasto = o; // TODO\n return true;\n}\n\nexport function isOrbitTransformationDataIdentical(\n orbitDefinition: KOrbitDefinition,\n orbitTransformationData1: KTransformationOrbitData,\n orbitTransformationData2: KTransformationOrbitData,\n options: {\n ignoreOrientation?: boolean;\n ignorePermutation?: boolean;\n } = {},\n): boolean {\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n if (\n !options?.ignoreOrientation &&\n orbitTransformationData1.orientation[idx] !==\n orbitTransformationData2.orientation[idx]\n ) {\n return false;\n }\n if (\n !options?.ignorePermutation &&\n orbitTransformationData1.permutation[idx] !==\n orbitTransformationData2.permutation[idx]\n ) {\n return false;\n }\n }\n return true;\n}\n\nexport function isTransformationDataIdentical(\n kpuzzle: KPuzzle,\n transformationData1: KTransformationData,\n transformationData2: KTransformationData,\n): boolean {\n for (const [orbitName, orbitDefinition] of Object.entries(\n kpuzzle.definition.orbits,\n )) {\n if (\n !isOrbitTransformationDataIdentical(\n orbitDefinition,\n transformationData1[orbitName],\n transformationData2[orbitName],\n )\n ) {\n return false;\n }\n }\n return true;\n}\n\nexport function invertTransformation(\n kpuzzle: KPuzzle,\n transformationData: KTransformationData,\n): KTransformationData {\n const newTransformationData: KTransformationData = {};\n for (const orbitName in kpuzzle.definition.orbits) {\n const orbitDefinition: KOrbitDefinition =\n kpuzzle.definition.orbits[orbitName];\n const orbitTransformationData = transformationData[orbitName];\n if (\n isOrbitTransformationDataIdentityUncached(\n orbitDefinition.numOrientations,\n orbitTransformationData,\n )\n ) {\n newTransformationData[orbitName] = orbitTransformationData;\n } else if (orbitDefinition.numOrientations === 1) {\n const newPerm = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n newPerm[orbitTransformationData.permutation[idx]] = idx;\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: orbitTransformationData.orientation,\n };\n } else {\n const newPerm = new Array(orbitDefinition.numPieces);\n const newOri = new Array(orbitDefinition.numPieces);\n for (let idx = 0; idx < orbitDefinition.numPieces; idx++) {\n const fromIdx = orbitTransformationData.permutation[idx];\n newPerm[fromIdx] = idx;\n newOri[fromIdx] =\n (orbitDefinition.numOrientations -\n orbitTransformationData.orientation[idx] +\n orbitDefinition.numOrientations) %\n orbitDefinition.numOrientations;\n }\n newTransformationData[orbitName] = {\n permutation: newPerm,\n orientation: newOri,\n };\n }\n }\n return newTransformationData;\n}\n\nexport function repeatTransformationUncached(\n kpuzzle: KPuzzle,\n transformationData: KTransformationData,\n amount: number,\n): KTransformationData {\n // This is used for move construction, so we optimize for the quantum move case.\n if (amount === 1) {\n return transformationData;\n }\n if (amount < 0) {\n return repeatTransformationUncached(\n kpuzzle,\n invertTransformation(kpuzzle, transformationData),\n -amount,\n );\n }\n if (amount === 0) {\n // TODO\n const { transformationData } = kpuzzle.identityTransformation();\n return transformationData;\n }\n let halfish = transformationData;\n if (amount !== 2) {\n halfish = repeatTransformationUncached(\n kpuzzle,\n transformationData,\n Math.floor(amount / 2),\n );\n }\n const twiceHalfish = combineTransformationData(\n kpuzzle.definition,\n halfish,\n halfish,\n );\n if (amount % 2 === 0) {\n return twiceHalfish;\n } else {\n return combineTransformationData(\n kpuzzle.definition,\n transformationData,\n twiceHalfish,\n );\n }\n}\n\nclass AlgToTransformationTraversal extends TraversalDownUp<\n KPuzzle,\n KTransformation\n> {\n traverseAlg(alg: Alg, kpuzzle: KPuzzle): KTransformation {\n let transformation = kpuzzle.identityTransformation();\n for (const unit of alg.units()) {\n transformation = transformation.applyTransformation(\n this.traverseUnit(unit, kpuzzle),\n );\n }\n return transformation;\n }\n traverseGrouping(grouping: Grouping, kpuzzle: KPuzzle): KTransformation {\n const algTransformation = this.traverseAlg(grouping.alg, kpuzzle);\n return new KTransformation(\n kpuzzle,\n repeatTransformationUncached(\n kpuzzle,\n algTransformation.transformationData,\n grouping.amount,\n ),\n );\n }\n traverseMove(move: Move, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.moveToTransformation(move);\n }\n traverseCommutator(\n commutator: Commutator,\n kpuzzle: KPuzzle,\n ): KTransformation {\n const aTransformation = this.traverseAlg(commutator.A, kpuzzle);\n const bTransformation = this.traverseAlg(commutator.B, kpuzzle);\n return aTransformation\n .applyTransformation(bTransformation)\n .applyTransformation(aTransformation.invert())\n .applyTransformation(bTransformation.invert());\n }\n traverseConjugate(conjugate: Conjugate, kpuzzle: KPuzzle): KTransformation {\n const aTransformation = this.traverseAlg(conjugate.A, kpuzzle);\n const bTransformation = this.traverseAlg(conjugate.B, kpuzzle);\n return aTransformation\n .applyTransformation(bTransformation)\n .applyTransformation(aTransformation.invert());\n }\n traversePause(_: Pause, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.identityTransformation();\n }\n traverseNewline(_: Newline, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.identityTransformation();\n }\n traverseLineComment(_: LineComment, kpuzzle: KPuzzle): KTransformation {\n return kpuzzle.identityTransformation();\n }\n}\n\nconst algToTransformationInstance = new AlgToTransformationTraversal();\nexport const algToTransformation = algToTransformationInstance.traverseAlg.bind(\n algToTransformationInstance,\n) as (alg: Alg, kpuzzle: KPuzzle) => KTransformation;\n\nexport function canConvertStateToUniqueTransformationUncached(\n definition: KPuzzleDefinition,\n): boolean {\n for (const [orbitName, orbitDefinition] of Object.entries(definition)) {\n const pieces = new Array(orbitDefinition.numPieces).fill(false);\n for (const piece of this.definition.startStateData[orbitName].pieces) {\n pieces[piece] = true;\n }\n for (const piece of pieces) {\n if (!piece) {\n return false;\n }\n }\n }\n return true;\n}\n\nfunction gcd(a: number, b: number): number {\n if (b) {\n return gcd(b, a % b);\n }\n return a;\n}\n\n/* calculate the order of a particular transformation. */\nexport function transformationRepetitionOrder(\n definition: KPuzzleDefinition,\n transformation: KTransformation,\n): number {\n let order: number = 1;\n for (const orbitName in definition.orbits) {\n const orbitDefinition = definition.orbits[orbitName];\n const transformationOrbit = transformation.transformationData[orbitName];\n const orbitPieces = new Array(orbitDefinition.numPieces);\n for (let startIdx = 0; startIdx < orbitDefinition.numPieces; startIdx++) {\n if (!orbitPieces[startIdx]) {\n let currentIdx = startIdx;\n let orientationSum = 0;\n let cycleLength = 0;\n for (;;) {\n orbitPieces[currentIdx] = true;\n orientationSum =\n orientationSum + transformationOrbit.orientation[currentIdx];\n cycleLength = cycleLength + 1;\n currentIdx = transformationOrbit.permutation[currentIdx];\n if (currentIdx === startIdx) {\n break;\n }\n }\n if (orientationSum !== 0) {\n cycleLength =\n (cycleLength * orbitDefinition.numOrientations) /\n gcd(orbitDefinition.numOrientations, orientationSum);\n }\n order = (order * cycleLength) / gcd(order, cycleLength);\n }\n }\n }\n return order;\n}\n", "import { Alg, Move } from \"../alg\";\nimport type { PGNotation } from \"../puzzle-geometry/PuzzleGeometry\";\nimport { algToTransformation } from \"./calculate\";\nimport { moveToTransformationUncached } from \"./construct\";\nimport type {\n KPuzzleDefinition,\n KTransformationData,\n} from \"./KPuzzleDefinition\";\nimport { KState } from \"./KState\";\nimport { KTransformation } from \"./KTransformation\";\n\nexport type KTransformationSource = Alg | Move | string | KTransformation;\n\nexport class KPuzzle {\n private experimentalPGNotation: PGNotation | undefined;\n constructor(\n public readonly definition: KPuzzleDefinition,\n options?: {\n experimentalPGNotation?: PGNotation;\n },\n ) {\n this.experimentalPGNotation = options?.experimentalPGNotation;\n }\n\n name(): string {\n return this.definition.name; // TODO\n }\n\n identityTransformation(): KTransformation {\n return KTransformation.experimentalConstructIdentity(this);\n }\n\n #moveToTransformationDataCache = new Map<string, KTransformationData>();\n moveToTransformation(move: Move | string): KTransformation {\n if (typeof move === \"string\") {\n move = new Move(move);\n }\n const cacheKey = move.toString();\n const cachedTransformationData: KTransformationData | undefined =\n this.#moveToTransformationDataCache.get(cacheKey);\n if (cachedTransformationData) {\n return new KTransformation(this, cachedTransformationData);\n }\n\n if (this.experimentalPGNotation) {\n const transformationData = this.experimentalPGNotation.lookupMove(move);\n if (!transformationData) {\n throw new Error(`could not map to internal move: ${move}`);\n }\n this.#moveToTransformationDataCache.set(cacheKey, transformationData);\n return new KTransformation(this, transformationData);\n }\n\n const transformationData = moveToTransformationUncached(this, move);\n this.#moveToTransformationDataCache.set(cacheKey, transformationData);\n return new KTransformation(this, transformationData);\n }\n\n algToTransformation(alg: Alg | string): KTransformation {\n if (typeof alg === \"string\") {\n alg = new Alg(alg);\n }\n return algToTransformation(alg, this);\n }\n\n /** @deprecated */\n toTransformation(source: KTransformationSource): KTransformation {\n if (typeof source === \"string\") {\n return this.algToTransformation(source);\n } else if ((source as Alg | null)?.is?.(Alg)) {\n return this.algToTransformation(source as Alg);\n } else if ((source as Move | null)?.is?.(Move)) {\n return this.moveToTransformation(source as Move);\n } else {\n return source as KTransformation;\n }\n }\n\n startState(): KState {\n return new KState(this, this.definition.startStateData);\n }\n\n #cachedCanConvertStateToUniqueTransformation: boolean | undefined;\n // TODO: Handle incomplete start state data\n canConvertStateToUniqueTransformation(): boolean {\n return (this.#cachedCanConvertStateToUniqueTransformation ??=\n ((): boolean => {\n for (const [orbitName, orbitDefinition] of Object.entries(\n this.definition.orbits,\n )) {\n const pieces = new Array(orbitDefinition.numPieces).fill(false);\n for (const piece of this.definition.startStateData[orbitName]\n .pieces) {\n pieces[piece] = true;\n }\n for (const piece of pieces) {\n if (!piece) {\n return false;\n }\n }\n }\n return true;\n })());\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n get state(): never {\n throw new Error(\"KPuzzle is now a different (stateless) class.\");\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n reset(): never {\n throw new Error(\"KPuzzle is now a different (stateless) class.\");\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n applyMove(_move: Move): never {\n throw new Error(\n \"KPuzzle is now a different class. Try `.moveToTransformation()` to get the transformation for a move.\",\n );\n }\n\n // TODO: Remove completely with v0.25\n /** @deprecated */\n applyAlg(_alg: Alg): never {\n throw new Error(\n \"KPuzzle is now a different class. Try `.algToTransformation()` to get the transformation for an alg.\",\n );\n }\n}\n", "// TODO: This file is here to avoid dependency loops, but it should eventually\n// move back into `cubing/puzzles`. We currently have a few functions that are\n// hardcoded to require synchronous access to this definition, and we need to\n// find a better way to do that.\n\n// TODO: this would be a raw `.json` file, but Parcel runs into an error from\n\nimport type { KPuzzleDefinition } from \"../KPuzzleDefinition\";\n\n// using that as both a sync and async import. Probably https://github.com/parcel-bundler/parcel/issues/2546\nexport const cube3x3x3KPuzzleDefinition: KPuzzleDefinition = {\n name: \"3x3x3\",\n orbits: {\n EDGES: { numPieces: 12, numOrientations: 2 },\n CORNERS: { numPieces: 8, numOrientations: 3 },\n CENTERS: { numPieces: 6, numOrientations: 4 },\n },\n startStateData: {\n EDGES: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n pieces: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 0, 0, 0],\n },\n },\n moves: {\n U: {\n EDGES: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [1, 0, 0, 0, 0, 0],\n },\n },\n y: {\n EDGES: {\n permutation: [1, 2, 3, 0, 5, 6, 7, 4, 10, 8, 11, 9],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 7, 4, 5, 6],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 2, 3, 4, 1, 5],\n orientation: [1, 0, 0, 0, 0, 3],\n },\n },\n x: {\n EDGES: {\n permutation: [4, 8, 0, 9, 6, 10, 2, 11, 5, 7, 1, 3],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 3, 5, 7, 6, 2, 1],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n CENTERS: {\n permutation: [2, 1, 5, 3, 0, 4],\n orientation: [0, 3, 0, 1, 2, 2],\n },\n },\n L: {\n EDGES: {\n permutation: [0, 1, 2, 11, 4, 5, 6, 9, 8, 3, 10, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 6, 2, 4, 3, 5, 7],\n orientation: [0, 0, 2, 1, 0, 2, 1, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 1, 0, 0, 0, 0],\n },\n },\n F: {\n EDGES: {\n permutation: [9, 1, 2, 3, 8, 5, 6, 7, 0, 4, 10, 11],\n orientation: [1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0],\n },\n CORNERS: {\n permutation: [3, 1, 2, 5, 0, 4, 6, 7],\n orientation: [1, 0, 0, 2, 2, 1, 0, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 1, 0, 0, 0],\n },\n },\n R: {\n EDGES: {\n permutation: [0, 8, 2, 3, 4, 10, 6, 7, 5, 9, 1, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 2, 3, 7, 5, 6, 1],\n orientation: [2, 1, 0, 0, 1, 0, 0, 2],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 1, 0, 0],\n },\n },\n B: {\n EDGES: {\n permutation: [0, 1, 10, 3, 4, 5, 11, 7, 8, 9, 6, 2],\n orientation: [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1],\n },\n CORNERS: {\n permutation: [0, 7, 1, 3, 4, 5, 2, 6],\n orientation: [0, 2, 1, 0, 0, 0, 2, 1],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 0, 1, 0],\n },\n },\n D: {\n EDGES: {\n permutation: [0, 1, 2, 3, 7, 4, 5, 6, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 1, 2, 3, 4, 5],\n orientation: [0, 0, 0, 0, 0, 1],\n },\n },\n z: {\n EDGES: {\n permutation: [9, 3, 11, 7, 8, 1, 10, 5, 0, 4, 2, 6],\n orientation: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [3, 2, 6, 5, 0, 4, 7, 1],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n CENTERS: {\n permutation: [1, 5, 2, 0, 4, 3],\n orientation: [1, 1, 1, 1, 3, 1],\n },\n },\n M: {\n EDGES: {\n permutation: [2, 1, 6, 3, 0, 5, 4, 7, 8, 9, 10, 11],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [4, 1, 0, 3, 5, 2],\n orientation: [2, 0, 0, 0, 2, 0],\n },\n },\n E: {\n EDGES: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 8, 10],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 4, 1, 2, 3, 5],\n orientation: [0, 0, 0, 0, 0, 0],\n },\n },\n S: {\n EDGES: {\n permutation: [0, 3, 2, 7, 4, 1, 6, 5, 8, 9, 10, 11],\n orientation: [0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [1, 5, 2, 0, 4, 3],\n orientation: [1, 1, 0, 1, 0, 1],\n },\n },\n u: {\n EDGES: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7, 10, 8, 11, 9],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 2, 3, 4, 1, 5],\n orientation: [1, 0, 0, 0, 0, 0],\n },\n },\n l: {\n EDGES: {\n permutation: [2, 1, 6, 11, 0, 5, 4, 9, 8, 3, 10, 7],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 6, 2, 4, 3, 5, 7],\n orientation: [0, 0, 2, 1, 0, 2, 1, 0],\n },\n CENTERS: {\n permutation: [4, 1, 0, 3, 5, 2],\n orientation: [2, 1, 0, 0, 2, 0],\n },\n },\n f: {\n EDGES: {\n permutation: [9, 3, 2, 7, 8, 1, 6, 5, 0, 4, 10, 11],\n orientation: [1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0],\n },\n CORNERS: {\n permutation: [3, 1, 2, 5, 0, 4, 6, 7],\n orientation: [1, 0, 0, 2, 2, 1, 0, 0],\n },\n CENTERS: {\n permutation: [1, 5, 2, 0, 4, 3],\n orientation: [1, 1, 1, 1, 0, 1],\n },\n },\n r: {\n EDGES: {\n permutation: [4, 8, 0, 3, 6, 10, 2, 7, 5, 9, 1, 11],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 2, 3, 7, 5, 6, 1],\n orientation: [2, 1, 0, 0, 1, 0, 0, 2],\n },\n CENTERS: {\n permutation: [2, 1, 5, 3, 0, 4],\n orientation: [0, 0, 0, 1, 2, 2],\n },\n },\n b: {\n EDGES: {\n permutation: [0, 5, 10, 1, 4, 7, 11, 3, 8, 9, 6, 2],\n orientation: [0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1],\n },\n CORNERS: {\n permutation: [0, 7, 1, 3, 4, 5, 2, 6],\n orientation: [0, 2, 1, 0, 0, 0, 2, 1],\n },\n CENTERS: {\n permutation: [3, 0, 2, 5, 4, 1],\n orientation: [3, 3, 0, 3, 1, 3],\n },\n },\n d: {\n EDGES: {\n permutation: [0, 1, 2, 3, 7, 4, 5, 6, 9, 11, 8, 10],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 4, 1, 2, 3, 5],\n orientation: [0, 0, 0, 0, 0, 1],\n },\n },\n },\n};\n\ncube3x3x3KPuzzleDefinition.moves[\"Uw\"] = cube3x3x3KPuzzleDefinition.moves[\"u\"];\ncube3x3x3KPuzzleDefinition.moves[\"Lw\"] = cube3x3x3KPuzzleDefinition.moves[\"l\"];\ncube3x3x3KPuzzleDefinition.moves[\"Fw\"] = cube3x3x3KPuzzleDefinition.moves[\"f\"];\ncube3x3x3KPuzzleDefinition.moves[\"Rw\"] = cube3x3x3KPuzzleDefinition.moves[\"r\"];\ncube3x3x3KPuzzleDefinition.moves[\"Bw\"] = cube3x3x3KPuzzleDefinition.moves[\"b\"];\ncube3x3x3KPuzzleDefinition.moves[\"Dw\"] = cube3x3x3KPuzzleDefinition.moves[\"d\"];\n\ncube3x3x3KPuzzleDefinition.moves[\"Rv\"] = cube3x3x3KPuzzleDefinition.moves[\"x\"];\ncube3x3x3KPuzzleDefinition.moves[\"Uv\"] = cube3x3x3KPuzzleDefinition.moves[\"y\"];\ncube3x3x3KPuzzleDefinition.moves[\"Fv\"] = cube3x3x3KPuzzleDefinition.moves[\"z\"];\ncube3x3x3KPuzzleDefinition.moves[\"Lv\"] = {\n EDGES: {\n permutation: [2, 10, 6, 11, 0, 8, 4, 9, 1, 3, 5, 7],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [1, 7, 6, 2, 0, 3, 5, 4],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n CENTERS: {\n permutation: [4, 1, 0, 3, 5, 2],\n orientation: [2, 1, 0, 3, 2, 0],\n },\n};\ncube3x3x3KPuzzleDefinition.moves[\"Dv\"] = {\n EDGES: {\n permutation: [3, 0, 1, 2, 7, 4, 5, 6, 9, 11, 8, 10],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [3, 0, 1, 2, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n CENTERS: {\n permutation: [0, 4, 1, 2, 3, 5],\n orientation: [3, 0, 0, 0, 0, 1],\n },\n};\ncube3x3x3KPuzzleDefinition.moves[\"Bv\"] = {\n EDGES: {\n permutation: [8, 5, 10, 1, 9, 7, 11, 3, 4, 0, 6, 2],\n orientation: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [4, 7, 1, 0, 5, 3, 2, 6],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n CENTERS: {\n permutation: [3, 0, 2, 5, 4, 1],\n orientation: [3, 3, 3, 3, 1, 3],\n },\n};\n", "export { KPuzzle } from \"./KPuzzle\";\nexport type { KTransformation } from \"./KTransformation\";\nexport {\n KPuzzleDefinition,\n KTransformationData,\n KStateData,\n} from \"./KPuzzleDefinition\";\nexport { KState } from \"./KState\";\n\nimport { KPuzzle } from \"./KPuzzle\";\nimport { cube3x3x3KPuzzleDefinition } from \"./3x3x3/3x3x3.kpuzzle.json\";\nexport const experimental3x3x3KPuzzle = new KPuzzle(cube3x3x3KPuzzleDefinition);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -99,7 +99,7 @@ async function constructWorkerFromString(stringSource, options) {
99
99
  // src/cubing/search/inside/module-entry-path-getter.ts
100
100
  globalThis.DO_NOT_EXPOSE_API = true;
101
101
  async function getWorkerEntryFileURL() {
102
- return (await import("./module-entry-J2N3UZP7.js")).WORKER_ENTRY_FILE_URL;
102
+ return (await import("./module-entry-4JHVVJZL.js")).WORKER_ENTRY_FILE_URL;
103
103
  }
104
104
 
105
105
  // src/cubing/search/instantiator.ts
@@ -161,7 +161,7 @@ async function instantiateWorker() {
161
161
  return await instantiateModuleWorker();
162
162
  } catch (e) {
163
163
  console.warn("Could not instantiate module worker (this is expected in Firefox and `bundle-global`). Falling back to string worker.", e);
164
- const { workerSource } = await import("./worker-inside-generated-string-OWJA5IIQ.js");
164
+ const { workerSource } = await import("./worker-inside-generated-string-MFGRIFCG.js");
165
165
  const worker = await constructWorkerFromString(workerSource);
166
166
  return wrap(worker);
167
167
  }
@@ -187,25 +187,25 @@ async function _randomScrambleStringForEvent(eventID) {
187
187
  const cwi = await getCachedWorkerInstance();
188
188
  return cwi.randomScrambleStringForEvent(eventID);
189
189
  }
190
- async function experimentalSolve3x3x3IgnoringCenters(s) {
190
+ async function experimentalSolve3x3x3IgnoringCenters(state) {
191
191
  const cwi = await getCachedWorkerInstance();
192
- return Alg.fromString(await cwi.solve333ToString(s));
192
+ return Alg.fromString(await cwi.solve333ToString(state.stateData));
193
193
  }
194
- async function experimentalSolve2x2x2(s) {
194
+ async function experimentalSolve2x2x2(state) {
195
195
  const cwi = await getCachedWorkerInstance();
196
- return Alg.fromString(await cwi.solve222ToString(s));
196
+ return Alg.fromString(await cwi.solve222ToString(state.stateData));
197
197
  }
198
- async function solveSkewb(s) {
198
+ async function solveSkewb(state) {
199
199
  const cwi = await getCachedWorkerInstance();
200
- return Alg.fromString(await cwi.solveSkewbToString(s));
200
+ return Alg.fromString(await cwi.solveSkewbToString(state.stateData));
201
201
  }
202
- async function solvePyraminx(s) {
202
+ async function solvePyraminx(state) {
203
203
  const cwi = await getCachedWorkerInstance();
204
- return Alg.fromString(await cwi.solvePyraminxToString(s));
204
+ return Alg.fromString(await cwi.solvePyraminxToString(state.stateData));
205
205
  }
206
- async function solveMegaminx(s) {
206
+ async function solveMegaminx(state) {
207
207
  const cwi = await getCachedWorkerInstance();
208
- return Alg.fromString(await cwi.solveMegaminxToString(s));
208
+ return Alg.fromString(await cwi.solveMegaminxToString(state.stateData));
209
209
  }
210
210
  function setDebug(options) {
211
211
  const { logPerf } = options;
@@ -223,4 +223,4 @@ export {
223
223
  solveMegaminx,
224
224
  setDebug
225
225
  };
226
- //# sourceMappingURL=chunk-MLOCDLUF.js.map
226
+ //# sourceMappingURL=chunk-Z7Z3EXTF.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cubing/search/inside/solve/puzzles/clock.ts", "../../src/cubing/search/inside/solve/puzzles/wca-minx.ts", "../../src/cubing/vendor/comlink-everywhere/outside/index.js", "../../src/cubing/search/inside/module-entry-path-getter.ts", "../../src/cubing/search/instantiator.ts", "../../src/cubing/search/outside.ts"],
4
- "sourcesContent": ["import { randomUIntBelowFactory } from \"../../../../vendor/random-uint-below\";\n\nconst pins = [\"UR\", \"DR\", \"DL\", \"UL\"];\nconst backMoves = [\"U\", \"R\", \"D\", \"L\", \"ALL\"];\nconst frontMoves = pins.concat(backMoves);\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nexport async function randomClockScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n let filteringMoveCount = 0;\n\n async function randomSuffix(randomUIntBelow: (max: number) => number) {\n const amount = randomUIntBelow(12);\n if (amount !== 0) {\n filteringMoveCount++;\n }\n if (amount <= 6) {\n return `${amount}+`;\n } else {\n return `${12 - amount}-`;\n }\n }\n\n const moves = [];\n async function side(families: string[]): Promise<void> {\n for (const family of families) {\n moves.push(`${family}${await randomSuffix(randomUIntBelow)}`);\n }\n }\n\n await side(frontMoves);\n moves.push(\"y2\");\n await side(backMoves);\n\n // https://www.worldcubeassociation.org/regulations/#4b3\n if (filteringMoveCount < 2) {\n return randomClockScrambleString();\n }\n\n for (const pin of pins) {\n if (randomUIntBelow(2) === 0) {\n moves.push(pin);\n }\n }\n return moves.join(\" \");\n}\n", "import { randomUIntBelowFactory } from \"../../../../vendor/random-uint-below\";\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nconst suffixes = [\"++\", \"--\"];\n\nexport async function randomMegaminxScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n function rdPair(): string {\n return `R${suffixes[randomUIntBelow(2)]} D${suffixes[randomUIntBelow(2)]}`;\n }\n\n function randomU(): string {\n return `U${[\"\", \"'\"][randomUIntBelow(2)]}`;\n }\n\n function row(): string {\n const chunks = [];\n for (let i = 0; i < 5; i++) {\n chunks.push(rdPair());\n }\n chunks.push(randomU());\n return chunks.join(\" \");\n }\n\n const chunks = [];\n for (let i = 0; i < 6; i++) {\n chunks.push(row());\n }\n return chunks.join(\"\\n\");\n}\n", "export { wrap } from \"comlink\";\n\nconst useNodeWorkarounds =\n typeof globalThis.Worker === \"undefined\" &&\n typeof globalThis.WorkerNavigator === \"undefined\";\n\nexport async function workerFileConstructor() {\n if (useNodeWorkarounds) {\n return await (await import(\"./node.js\")).NodeWorkerWrapper();\n } else {\n return globalThis.Worker;\n }\n}\n\nexport async function constructWorkerFromString(stringSource, options) {\n let worker;\n if (useNodeWorkarounds) {\n const constructor = await (\n await import(\"./node.js\")\n ).NodeWorkerStringWrapper();\n const worker = new constructor(stringSource);\n return worker;\n } else {\n const blob = new Blob([stringSource], { type: \"application/javascript\" });\n const workerURL = URL.createObjectURL(blob);\n worker = new globalThis.Worker(workerURL, {\n type: options ? options.type : undefined, // TODO: Is it safe to use `options?.type`?\n });\n }\n return worker;\n}\n", "(globalThis as any).DO_NOT_EXPOSE_API = true;\n\nexport async function getWorkerEntryFileURL() {\n return (await import(\"./module-entry\")).WORKER_ENTRY_FILE_URL\n}\n", "import {\n constructWorkerFromString,\n workerFileConstructor,\n wrap,\n} from \"../vendor/comlink-everywhere/outside\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport { getWorkerEntryFileURL } from \"./inside/module-entry-path-getter\";\n\nconst MODULE_WORKER_TIMEOUT_MILLISECONDS = 5000;\nexport async function instantiateModuleWorker(): Promise<WorkerInsideAPI> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<WorkerInsideAPI>(async (resolve, reject) => {\n const timeoutID = setTimeout(() => {\n reject(new Error(\"module instantiation timeout\"));\n }, MODULE_WORKER_TIMEOUT_MILLISECONDS);\n\n try {\n const workerEntryFileURL = await getWorkerEntryFileURL();\n if (!workerEntryFileURL) {\n // This happens in `bundle-global`.\n reject(new Error(\"Could not get worker entry file URL.\"));\n }\n let url: string | URL;\n if (globalThis.Blob) {\n // Standard browser-like environment.\n const importSrc = `import \"${workerEntryFileURL}\";`;\n const blob = new Blob([importSrc], {\n type: \"text/javascript\",\n });\n url = URL.createObjectURL(blob);\n } else {\n // `node` doesn't have `Blob`. We can keep the original entry file URL there, but we have to wrap it.\n // Needed for `node`\n url = new URL(workerEntryFileURL);\n }\n\n const constructor = await workerFileConstructor();\n const worker = new constructor(url, {\n type: \"module\",\n }) as Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n };\n\n const onError = (e: ErrorEvent) => {\n // TODO: Remove fallback when Firefox implements module workers: https://bugzilla.mozilla.org/show_bug.cgi?id=1247687\n if (e.message?.startsWith(\"SyntaxError\")) {\n reject(e);\n }\n };\n\n const onFirstMessage = (messageData: string) => {\n if (messageData === \"comlink-exposed\") {\n // We need to clear the timeout so that we don't prevent `node` from exiting in the meantime.\n clearTimeout(timeoutID);\n resolve(wrap<WorkerInsideAPI>(worker));\n } else {\n reject(\n new Error(\"wrong module instantiation message \" + messageData),\n );\n }\n };\n\n if (worker.nodeWorker) {\n // We have to use `once` so the `unref()` from `comlink-everywhere` allows the process to quite as expected.\n worker.nodeWorker.once(\"message\", onFirstMessage);\n } else {\n worker.addEventListener(\"error\", onError, {\n once: true,\n });\n worker.addEventListener(\"message\", (e) => onFirstMessage(e.data), {\n once: true,\n });\n }\n } catch (e) {\n reject(e);\n }\n });\n}\n\nexport async function instantiateWorker(): Promise<WorkerInsideAPI> {\n try {\n // `await` is important for `catch` to work.\n return await instantiateModuleWorker();\n } catch (e) {\n console.warn(\n \"Could not instantiate module worker (this is expected in Firefox and `bundle-global`). Falling back to string worker.\",\n e,\n );\n const { workerSource } = await import(\n \"./worker-inside-generated-string.js\"\n );\n const worker = await constructWorkerFromString(workerSource);\n return wrap(worker);\n }\n}\n", "import { Alg } from \"../alg\";\n// import { preInitialize222 } from \"../implementations/2x2x2\";\nimport { randomClockScrambleString } from \"./inside/solve/puzzles/clock\"; // TODO: don't reach into `inside` code.\nimport { randomMegaminxScrambleString } from \"./inside/solve/puzzles/wca-minx\"; // TODO: don't reach into `inside` code.\nimport { instantiateWorker } from \"./instantiator\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport type { Transformation } from \"../kpuzzle\";\n\nlet cachedWorkerInstance: Promise<WorkerInsideAPI> | null = null;\nasync function getCachedWorkerInstance(): Promise<WorkerInsideAPI> {\n return await (cachedWorkerInstance ??= instantiateWorker());\n}\n\n// Pre-initialize the scrambler for the given event. (Otherwise, an event is\n// initialized the first time you ask for a scramble for that event.)\n//\n// Some typical numbers for a fast computer:\n// - 3x3x3 initialization: 200ms\n// - Each 3x3x3 scramble: 50ms\n// - 4x4x4 initialization: 2500ms\n// - Each 4x4x4 scramble: 300ms to 800ms\n//\n// It is safe to immediately call for a scramble\n// any time after starting pre-initialization, or to call for them without\n// pre-initializing. Pre-initializing essentially gives the scramble worker a\n// head start in case a scramble doesn't get requested immediately.\n//\n// Note that events cannot be pre-initialized in parallel. Attempting to\n// pre-initialize multiple events will initialize them consecutively. Scrambles\n// for a given event cannot be computed while another event is being initialized.\nexport function _preInitializationHintForEvent(\n eventID: string,\n // callback?: () => void\n): void {\n switch (eventID) {\n case \"clock\":\n case \"minx\":\n return;\n case \"333oh\":\n return _preInitializationHintForEvent(\"333\");\n }\n (async () => {\n await (await getCachedWorkerInstance()).initialize(eventID);\n })();\n}\n\nexport async function randomScrambleForEvent(eventID: string): Promise<Alg> {\n switch (eventID) {\n case \"clock\":\n return Alg.fromString(await randomClockScrambleString());\n case \"minx\":\n return Alg.fromString(await randomMegaminxScrambleString());\n }\n const prom = _randomScrambleStringForEvent(eventID);\n const wat = await prom;\n return Alg.fromString(wat);\n}\n\nexport async function _randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n const cwi = await getCachedWorkerInstance();\n return cwi.randomScrambleStringForEvent(eventID);\n}\n\nexport async function randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n switch (eventID) {\n case \"clock\":\n return randomClockScrambleString();\n case \"minx\":\n return randomMegaminxScrambleString();\n }\n return await _randomScrambleStringForEvent(eventID);\n}\n\nexport async function experimentalSolve3x3x3IgnoringCenters(\n s: Transformation,\n): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve333ToString(s));\n}\n\nexport async function experimentalSolve2x2x2(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve222ToString(s));\n}\n\nexport async function solveSkewb(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveSkewbToString(s));\n}\n\nexport async function solvePyraminx(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solvePyraminxToString(s));\n}\n\nexport async function solveMegaminx(s: Transformation): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveMegaminxToString(s));\n}\n\nexport function setDebug(options: { logPerf?: boolean }): void {\n const { logPerf } = options;\n if (typeof logPerf !== \"undefined\") {\n getCachedWorkerInstance().then((cwi) => cwi.setDebugMeasurePerf(logPerf));\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { randomUIntBelowFactory } from \"../../../../vendor/random-uint-below\";\n\nconst pins = [\"UR\", \"DR\", \"DL\", \"UL\"];\nconst backMoves = [\"U\", \"R\", \"D\", \"L\", \"ALL\"];\nconst frontMoves = pins.concat(backMoves);\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nexport async function randomClockScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n let filteringMoveCount = 0;\n\n async function randomSuffix(randomUIntBelow: (max: number) => number) {\n const amount = randomUIntBelow(12);\n if (amount !== 0) {\n filteringMoveCount++;\n }\n if (amount <= 6) {\n return `${amount}+`;\n } else {\n return `${12 - amount}-`;\n }\n }\n\n const moves = [];\n async function side(families: string[]): Promise<void> {\n for (const family of families) {\n moves.push(`${family}${await randomSuffix(randomUIntBelow)}`);\n }\n }\n\n await side(frontMoves);\n moves.push(\"y2\");\n await side(backMoves);\n\n // https://www.worldcubeassociation.org/regulations/#4b3\n if (filteringMoveCount < 2) {\n return randomClockScrambleString();\n }\n\n for (const pin of pins) {\n if (randomUIntBelow(2) === 0) {\n moves.push(pin);\n }\n }\n return moves.join(\" \");\n}\n", "import { randomUIntBelowFactory } from \"../../../../vendor/random-uint-below\";\n\nconst randomUIntBelowPromise = randomUIntBelowFactory();\n\nconst suffixes = [\"++\", \"--\"];\n\nexport async function randomMegaminxScrambleString(): Promise<string> {\n const randomUIntBelow = await randomUIntBelowPromise;\n\n function rdPair(): string {\n return `R${suffixes[randomUIntBelow(2)]} D${suffixes[randomUIntBelow(2)]}`;\n }\n\n function randomU(): string {\n return `U${[\"\", \"'\"][randomUIntBelow(2)]}`;\n }\n\n function row(): string {\n const chunks = [];\n for (let i = 0; i < 5; i++) {\n chunks.push(rdPair());\n }\n chunks.push(randomU());\n return chunks.join(\" \");\n }\n\n const chunks = [];\n for (let i = 0; i < 6; i++) {\n chunks.push(row());\n }\n return chunks.join(\"\\n\");\n}\n", "export { wrap } from \"comlink\";\n\nconst useNodeWorkarounds =\n typeof globalThis.Worker === \"undefined\" &&\n typeof globalThis.WorkerNavigator === \"undefined\";\n\nexport async function workerFileConstructor() {\n if (useNodeWorkarounds) {\n return await (await import(\"./node.js\")).NodeWorkerWrapper();\n } else {\n return globalThis.Worker;\n }\n}\n\nexport async function constructWorkerFromString(stringSource, options) {\n let worker;\n if (useNodeWorkarounds) {\n const constructor = await (\n await import(\"./node.js\")\n ).NodeWorkerStringWrapper();\n const worker = new constructor(stringSource);\n return worker;\n } else {\n const blob = new Blob([stringSource], { type: \"application/javascript\" });\n const workerURL = URL.createObjectURL(blob);\n worker = new globalThis.Worker(workerURL, {\n type: options ? options.type : undefined, // TODO: Is it safe to use `options?.type`?\n });\n }\n return worker;\n}\n", "(globalThis as any).DO_NOT_EXPOSE_API = true;\n\nexport async function getWorkerEntryFileURL() {\n return (await import(\"./module-entry\")).WORKER_ENTRY_FILE_URL\n}\n", "import {\n constructWorkerFromString,\n workerFileConstructor,\n wrap,\n} from \"../vendor/comlink-everywhere/outside\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport { getWorkerEntryFileURL } from \"./inside/module-entry-path-getter\";\n\nconst MODULE_WORKER_TIMEOUT_MILLISECONDS = 5000;\nexport async function instantiateModuleWorker(): Promise<WorkerInsideAPI> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<WorkerInsideAPI>(async (resolve, reject) => {\n const timeoutID = setTimeout(() => {\n reject(new Error(\"module instantiation timeout\"));\n }, MODULE_WORKER_TIMEOUT_MILLISECONDS);\n\n try {\n const workerEntryFileURL = await getWorkerEntryFileURL();\n if (!workerEntryFileURL) {\n // This happens in `bundle-global`.\n reject(new Error(\"Could not get worker entry file URL.\"));\n }\n let url: string | URL;\n if (globalThis.Blob) {\n // Standard browser-like environment.\n const importSrc = `import \"${workerEntryFileURL}\";`;\n const blob = new Blob([importSrc], {\n type: \"text/javascript\",\n });\n url = URL.createObjectURL(blob);\n } else {\n // `node` doesn't have `Blob`. We can keep the original entry file URL there, but we have to wrap it.\n // Needed for `node`\n url = new URL(workerEntryFileURL);\n }\n\n const constructor = await workerFileConstructor();\n const worker = new constructor(url, {\n type: \"module\",\n }) as Worker & {\n nodeWorker?: import(\"worker_threads\").Worker;\n };\n\n const onError = (e: ErrorEvent) => {\n // TODO: Remove fallback when Firefox implements module workers: https://bugzilla.mozilla.org/show_bug.cgi?id=1247687\n if (e.message?.startsWith(\"SyntaxError\")) {\n reject(e);\n }\n };\n\n const onFirstMessage = (messageData: string) => {\n if (messageData === \"comlink-exposed\") {\n // We need to clear the timeout so that we don't prevent `node` from exiting in the meantime.\n clearTimeout(timeoutID);\n resolve(wrap<WorkerInsideAPI>(worker));\n } else {\n reject(\n new Error(\"wrong module instantiation message \" + messageData),\n );\n }\n };\n\n if (worker.nodeWorker) {\n // We have to use `once` so the `unref()` from `comlink-everywhere` allows the process to quite as expected.\n worker.nodeWorker.once(\"message\", onFirstMessage);\n } else {\n worker.addEventListener(\"error\", onError, {\n once: true,\n });\n worker.addEventListener(\"message\", (e) => onFirstMessage(e.data), {\n once: true,\n });\n }\n } catch (e) {\n reject(e);\n }\n });\n}\n\nexport async function instantiateWorker(): Promise<WorkerInsideAPI> {\n try {\n // `await` is important for `catch` to work.\n return await instantiateModuleWorker();\n } catch (e) {\n console.warn(\n \"Could not instantiate module worker (this is expected in Firefox and `bundle-global`). Falling back to string worker.\",\n e,\n );\n const { workerSource } = await import(\n \"./worker-inside-generated-string.js\"\n );\n const worker = await constructWorkerFromString(workerSource);\n return wrap(worker);\n }\n}\n", "import { Alg } from \"../alg\";\n// import { preInitialize222 } from \"../implementations/2x2x2\";\nimport { randomClockScrambleString } from \"./inside/solve/puzzles/clock\"; // TODO: don't reach into `inside` code.\nimport { randomMegaminxScrambleString } from \"./inside/solve/puzzles/wca-minx\"; // TODO: don't reach into `inside` code.\nimport { instantiateWorker } from \"./instantiator\";\nimport type { WorkerInsideAPI } from \"./inside/api\";\nimport type { KState } from \"../kpuzzle/KState\";\n\nlet cachedWorkerInstance: Promise<WorkerInsideAPI> | null = null;\nasync function getCachedWorkerInstance(): Promise<WorkerInsideAPI> {\n return await (cachedWorkerInstance ??= instantiateWorker());\n}\n\n// Pre-initialize the scrambler for the given event. (Otherwise, an event is\n// initialized the first time you ask for a scramble for that event.)\n//\n// Some typical numbers for a fast computer:\n// - 3x3x3 initialization: 200ms\n// - Each 3x3x3 scramble: 50ms\n// - 4x4x4 initialization: 2500ms\n// - Each 4x4x4 scramble: 300ms to 800ms\n//\n// It is safe to immediately call for a scramble\n// any time after starting pre-initialization, or to call for them without\n// pre-initializing. Pre-initializing essentially gives the scramble worker a\n// head start in case a scramble doesn't get requested immediately.\n//\n// Note that events cannot be pre-initialized in parallel. Attempting to\n// pre-initialize multiple events will initialize them consecutively. Scrambles\n// for a given event cannot be computed while another event is being initialized.\nexport function _preInitializationHintForEvent(\n eventID: string,\n // callback?: () => void\n): void {\n switch (eventID) {\n case \"clock\":\n case \"minx\":\n return;\n case \"333oh\":\n return _preInitializationHintForEvent(\"333\");\n }\n (async () => {\n await (await getCachedWorkerInstance()).initialize(eventID);\n })();\n}\n\nexport async function randomScrambleForEvent(eventID: string): Promise<Alg> {\n switch (eventID) {\n case \"clock\":\n return Alg.fromString(await randomClockScrambleString());\n case \"minx\":\n return Alg.fromString(await randomMegaminxScrambleString());\n }\n const prom = _randomScrambleStringForEvent(eventID);\n const wat = await prom;\n return Alg.fromString(wat);\n}\n\nexport async function _randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n const cwi = await getCachedWorkerInstance();\n return cwi.randomScrambleStringForEvent(eventID);\n}\n\nexport async function randomScrambleStringForEvent(\n eventID: string,\n): Promise<string> {\n switch (eventID) {\n case \"clock\":\n return randomClockScrambleString();\n case \"minx\":\n return randomMegaminxScrambleString();\n }\n return await _randomScrambleStringForEvent(eventID);\n}\n\nexport async function experimentalSolve3x3x3IgnoringCenters(\n state: KState,\n): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve333ToString(state.stateData));\n}\n\nexport async function experimentalSolve2x2x2(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solve222ToString(state.stateData));\n}\n\nexport async function solveSkewb(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveSkewbToString(state.stateData));\n}\n\nexport async function solvePyraminx(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solvePyraminxToString(state.stateData));\n}\n\nexport async function solveMegaminx(state: KState): Promise<Alg> {\n const cwi = await getCachedWorkerInstance();\n return Alg.fromString(await cwi.solveMegaminxToString(state.stateData));\n}\n\nexport function setDebug(options: { logPerf?: boolean }): void {\n const { logPerf } = options;\n if (typeof logPerf !== \"undefined\") {\n getCachedWorkerInstance().then((cwi) => cwi.setDebugMeasurePerf(logPerf));\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -650,6 +650,7 @@ var PGOrbitDef = class {
650
650
  return factorial(this.size) * Math.pow(this.mod, this.size);
651
651
  }
652
652
  };
653
+ var lastGlobalDefinitionCounter = 0;
653
654
  function externalName(mapper, moveString) {
654
655
  const mv = Move.fromString(moveString);
655
656
  const mv2 = mapper.notationToExternal(mv);
@@ -666,14 +667,14 @@ var PGOrbitsDef = class {
666
667
  this.movenames = movenames;
667
668
  this.moveops = moveops;
668
669
  }
669
- transformToKPuzzle(t) {
670
+ transformToKTransformationData(t) {
670
671
  const mp = {};
671
672
  for (let j = 0; j < this.orbitnames.length; j++) {
672
673
  mp[this.orbitnames[j]] = t.orbits[j].toKPuzzle();
673
674
  }
674
675
  return mp;
675
676
  }
676
- static transformToKPuzzle(orbitnames, t) {
677
+ static transformToKTransformationData(orbitnames, t) {
677
678
  const mp = {};
678
679
  for (let j = 0; j < orbitnames.length; j++) {
679
680
  mp[orbitnames[j]] = t.orbits[j].toKPuzzle();
@@ -713,23 +714,32 @@ var PGOrbitsDef = class {
713
714
  }
714
715
  return result;
715
716
  }
716
- toKPuzzle(includemoves) {
717
+ toKPuzzleDefinition(includemoves) {
717
718
  const orbits = {};
718
719
  const start = {};
719
720
  for (let i = 0; i < this.orbitnames.length; i++) {
720
721
  orbits[this.orbitnames[i]] = {
721
722
  numPieces: this.orbitdefs[i].size,
722
- orientations: this.orbitdefs[i].mod
723
+ numOrientations: this.orbitdefs[i].mod
724
+ };
725
+ const startTransformation = this.solved.orbits[i].toKPuzzle();
726
+ start[this.orbitnames[i]] = {
727
+ pieces: startTransformation.permutation,
728
+ orientation: startTransformation.orientation
723
729
  };
724
- start[this.orbitnames[i]] = this.solved.orbits[i].toKPuzzle();
725
730
  }
726
731
  const moves = {};
727
732
  if (includemoves) {
728
733
  for (let i = 0; i < this.movenames.length; i++) {
729
- moves[this.movenames[i]] = this.transformToKPuzzle(this.moveops[i]);
734
+ moves[this.movenames[i]] = this.transformToKTransformationData(this.moveops[i]);
730
735
  }
731
736
  }
732
- return { name: "PG3D", orbits, startPieces: start, moves };
737
+ return {
738
+ name: `PG3D #${++lastGlobalDefinitionCounter}`,
739
+ orbits,
740
+ startStateData: start,
741
+ moves
742
+ };
733
743
  }
734
744
  optimize() {
735
745
  const neworbitnames = [];
@@ -2105,6 +2115,7 @@ function toFaceCoords(q, maxdist) {
2105
2115
  }
2106
2116
  var PuzzleGeometry = class {
2107
2117
  constructor(puzzleDescription, options) {
2118
+ this.puzzleDescription = puzzleDescription;
2108
2119
  this.cmovesbyslice = [];
2109
2120
  this.duplicatedFaces = [];
2110
2121
  this.duplicatedCubies = [];
@@ -3340,14 +3351,14 @@ var PuzzleGeometry = class {
3340
3351
  const od = this.getOrbitsDef(false);
3341
3352
  return this.header("# ") + od.toKsolve(name, this.notationMapper).join("\n");
3342
3353
  }
3343
- writekpuzzle(fortwisty = true, includemoves = true) {
3354
+ getKPuzzleDefinition(fortwisty = true, includemoves = true) {
3344
3355
  const od = this.getOrbitsDef(fortwisty, includemoves);
3345
- const r = od.toKPuzzle(includemoves);
3346
- if (!r) {
3356
+ const internalDefinition = od.toKPuzzleDefinition(includemoves);
3357
+ internalDefinition.exprimentalPuzzleDescription = this.puzzleDescription;
3358
+ if (!internalDefinition) {
3347
3359
  throw new Error("Missing definition!");
3348
3360
  }
3349
- r.moveNotation = new PGNotation(this, od);
3350
- return r;
3361
+ return internalDefinition;
3351
3362
  }
3352
3363
  getMoveFromBits(moverange, amount, inverted, axiscmoves, setmoves, movesetorder) {
3353
3364
  const moveorbits = [];
@@ -4008,14 +4019,9 @@ Vertex distance ${this.vertexdistance}`;
4008
4019
  var PGNotation = class {
4009
4020
  constructor(pg, od) {
4010
4021
  this.pg = pg;
4011
- this.cache = {};
4012
4022
  this.orbitNames = od.orbitnames;
4013
4023
  }
4014
4024
  lookupMove(move) {
4015
- const key = this.moveToKeyString(move);
4016
- if (key in this.cache) {
4017
- return this.cache[key];
4018
- }
4019
4025
  const mv = this.pg.parseMove(move);
4020
4026
  if (this.pg.parsedmovelist) {
4021
4027
  let found = false;
@@ -4025,7 +4031,7 @@ var PGNotation = class {
4025
4031
  }
4026
4032
  }
4027
4033
  if (!found) {
4028
- return void 0;
4034
+ return null;
4029
4035
  }
4030
4036
  }
4031
4037
  let bits = [mv[2], mv[3]];
@@ -4034,19 +4040,7 @@ var PGNotation = class {
4034
4040
  bits = [slices - mv[3], slices - mv[2]];
4035
4041
  }
4036
4042
  const pgmv = this.pg.getMoveFromBits(bits, mv[5], !mv[4], this.pg.cmovesbyslice[mv[1]], void 0, this.pg.movesetorders[mv[1]]);
4037
- const r = PGOrbitsDef.transformToKPuzzle(this.orbitNames, pgmv);
4038
- this.cache[key] = r;
4039
- return r;
4040
- }
4041
- moveToKeyString(move) {
4042
- let r = "";
4043
- if (move.outerLayer) {
4044
- r = r + move.outerLayer + ",";
4045
- }
4046
- if (move.innerLayer) {
4047
- r = r + move.innerLayer + ",";
4048
- }
4049
- r = r + move.family + "," + move.amount;
4043
+ const r = PGOrbitsDef.transformToKTransformationData(this.orbitNames, pgmv);
4050
4044
  return r;
4051
4045
  }
4052
4046
  };
@@ -4060,6 +4054,7 @@ export {
4060
4054
  parsePuzzleDescription,
4061
4055
  getPuzzleGeometryByDesc,
4062
4056
  getPuzzleGeometryByName,
4063
- PuzzleGeometry
4057
+ PuzzleGeometry,
4058
+ PGNotation
4064
4059
  };
4065
- //# sourceMappingURL=chunk-PUPUQWJC.js.map
4060
+ //# sourceMappingURL=chunk-ZDALYMGF.js.map