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
@@ -1,11 +1,7 @@
1
1
  import {
2
- cube3x3x3KPuzzle,
3
- transformationForMove
4
- } from "./chunk-X6JHXPDX.js";
5
- import {
6
- Move,
7
- experimentalIs
8
- } from "./chunk-EWRBHQFX.js";
2
+ KPuzzle,
3
+ experimental3x3x3KPuzzle
4
+ } from "./chunk-Z36TNZT2.js";
9
5
 
10
6
  // src/cubing/puzzles/customPGPuzzleLoader.ts
11
7
  async function descAsyncGetPuzzleGeometry(desc) {
@@ -16,17 +12,25 @@ async function descAsyncGetPuzzleGeometry(desc) {
16
12
  addRotations: true
17
13
  });
18
14
  }
19
- async function dsecAsyncGetDef(desc) {
20
- return (await descAsyncGetPuzzleGeometry(desc)).writekpuzzle(true);
15
+ async function asyncGetKPuzzle(desc) {
16
+ const pg = await descAsyncGetPuzzleGeometry(desc);
17
+ const kpuzzleDefinition = pg.getKPuzzleDefinition(true);
18
+ kpuzzleDefinition.name = `description: ${desc}`;
19
+ const puzzleGeometry = await import("./puzzle-geometry/index.js");
20
+ const pgNotation = new puzzleGeometry.ExperimentalPGNotation(pg, pg.getOrbitsDef(true));
21
+ return new KPuzzle(kpuzzleDefinition, {
22
+ experimentalPGNotation: pgNotation
23
+ });
21
24
  }
22
25
  var nextCustomID = 1;
23
26
  function customPGPuzzleLoader(desc, info) {
24
27
  const customID = nextCustomID++;
28
+ let cachedKPuzzle = null;
25
29
  const puzzleLoader = {
26
30
  id: `custom-${customID}`,
27
31
  fullName: info?.fullName ?? `Custom Puzzle (instance #${customID})`,
28
- def: async () => {
29
- return dsecAsyncGetDef(desc);
32
+ kpuzzle: async () => {
33
+ return cachedKPuzzle ?? (cachedKPuzzle = asyncGetKPuzzle(desc));
30
34
  },
31
35
  svg: async () => {
32
36
  const pg = await descAsyncGetPuzzleGeometry(desc);
@@ -77,9 +81,9 @@ var PieceStickering;
77
81
  PieceStickering2["OrientationWithoutPermutation"] = "OrientationWithoutPermutation";
78
82
  })(PieceStickering || (PieceStickering = {}));
79
83
  var PieceAnnotation = class {
80
- constructor(def, defaultValue) {
84
+ constructor(kpuzzle, defaultValue) {
81
85
  this.stickerings = new Map();
82
- for (const [orbitName, orbitDef] of Object.entries(def.orbits)) {
86
+ for (const [orbitName, orbitDef] of Object.entries(kpuzzle.definition.orbits)) {
83
87
  this.stickerings.set(orbitName, new Array(orbitDef.numPieces).fill(defaultValue));
84
88
  }
85
89
  }
@@ -139,8 +143,8 @@ function getPieceAppearance(pieceStickering) {
139
143
  }
140
144
  }
141
145
  var PuzzleStickering = class extends PieceAnnotation {
142
- constructor(def) {
143
- super(def, PieceStickering.Regular);
146
+ constructor(kpuzzle) {
147
+ super(kpuzzle, PieceStickering.Regular);
144
148
  }
145
149
  set(pieceSet, pieceStickering) {
146
150
  for (const [orbitName, pieces] of this.stickerings.entries()) {
@@ -168,12 +172,12 @@ var PuzzleStickering = class extends PieceAnnotation {
168
172
  }
169
173
  };
170
174
  var StickeringManager = class {
171
- constructor(def) {
172
- this.def = def;
175
+ constructor(kpuzzle) {
176
+ this.kpuzzle = kpuzzle;
173
177
  }
174
178
  and(pieceSets) {
175
- const newPieceSet = new PieceAnnotation(this.def, false);
176
- for (const [orbitName, orbitDef] of Object.entries(this.def.orbits)) {
179
+ const newPieceSet = new PieceAnnotation(this.kpuzzle, false);
180
+ for (const [orbitName, orbitDef] of Object.entries(this.kpuzzle.definition.orbits)) {
177
181
  pieceLoop:
178
182
  for (let i2 = 0; i2 < orbitDef.numPieces; i2++) {
179
183
  newPieceSet.stickerings.get(orbitName)[i2] = true;
@@ -188,8 +192,8 @@ var StickeringManager = class {
188
192
  return newPieceSet;
189
193
  }
190
194
  or(pieceSets) {
191
- const newPieceSet = new PieceAnnotation(this.def, false);
192
- for (const [orbitName, orbitDef] of Object.entries(this.def.orbits)) {
195
+ const newPieceSet = new PieceAnnotation(this.kpuzzle, false);
196
+ for (const [orbitName, orbitDef] of Object.entries(this.kpuzzle.definition.orbits)) {
193
197
  pieceLoop:
194
198
  for (let i2 = 0; i2 < orbitDef.numPieces; i2++) {
195
199
  newPieceSet.stickerings.get(orbitName)[i2] = false;
@@ -204,8 +208,8 @@ var StickeringManager = class {
204
208
  return newPieceSet;
205
209
  }
206
210
  not(pieceSet) {
207
- const newPieceSet = new PieceAnnotation(this.def, false);
208
- for (const [orbitName, orbitDef] of Object.entries(this.def.orbits)) {
211
+ const newPieceSet = new PieceAnnotation(this.kpuzzle, false);
212
+ for (const [orbitName, orbitDef] of Object.entries(this.kpuzzle.definition.orbits)) {
209
213
  for (let i2 = 0; i2 < orbitDef.numPieces; i2++) {
210
214
  newPieceSet.stickerings.get(orbitName)[i2] = !pieceSet.stickerings.get(orbitName)[i2];
211
215
  }
@@ -216,11 +220,11 @@ var StickeringManager = class {
216
220
  return this.and(this.moves([]));
217
221
  }
218
222
  move(moveSource) {
219
- const transformation = transformationForMove(this.def, experimentalIs(moveSource, Move) ? moveSource : Move.fromString(moveSource));
220
- const newPieceSet = new PieceAnnotation(this.def, false);
221
- for (const [orbitName, orbitDef] of Object.entries(this.def.orbits)) {
223
+ const transformation = this.kpuzzle.moveToTransformation(moveSource);
224
+ const newPieceSet = new PieceAnnotation(this.kpuzzle, false);
225
+ for (const [orbitName, orbitDef] of Object.entries(this.kpuzzle.definition.orbits)) {
222
226
  for (let i2 = 0; i2 < orbitDef.numPieces; i2++) {
223
- if (transformation[orbitName].permutation[i2] !== i2 || transformation[orbitName].orientation[i2] !== 0) {
227
+ if (transformation.transformationData[orbitName].permutation[i2] !== i2 || transformation.transformationData[orbitName].orientation[i2] !== 0) {
224
228
  newPieceSet.stickerings.get(orbitName)[i2] = true;
225
229
  }
226
230
  }
@@ -263,9 +267,9 @@ if (globalThis.location && new URL(location.href).searchParams.get("global-custo
263
267
 
264
268
  // src/cubing/puzzles/stickerings/cube-stickerings.ts
265
269
  async function cubeAppearance(puzzleLoader, stickering) {
266
- const def = await puzzleLoader.def();
267
- const puzzleStickering = new PuzzleStickering(def);
268
- const m = new StickeringManager(def);
270
+ const kpuzzle = await puzzleLoader.kpuzzle();
271
+ const puzzleStickering = new PuzzleStickering(kpuzzle);
272
+ const m = new StickeringManager(kpuzzle);
269
273
  const LL = () => m.move("U");
270
274
  const orUD = () => m.or(m.moves(["U", "D"]));
271
275
  const E = () => m.not(orUD());
@@ -479,6 +483,14 @@ async function cubeStickerings() {
479
483
  ];
480
484
  }
481
485
 
486
+ // src/cubing/puzzles/async/lazy-cached-kpuzzle.ts
487
+ function lazyKPuzzle(getKPuzzle) {
488
+ let cachedKPuzzlePromise = null;
489
+ return () => {
490
+ return cachedKPuzzlePromise ?? (cachedKPuzzlePromise = getKPuzzle());
491
+ };
492
+ }
493
+
482
494
  // src/cubing/puzzles/async/async-pg3d.ts
483
495
  async function asyncGetPuzzleGeometry(puzzleName) {
484
496
  const puzzleGeometry = await import("./puzzle-geometry/index.js");
@@ -488,16 +500,24 @@ async function asyncGetPuzzleGeometry(puzzleName) {
488
500
  addRotations: true
489
501
  });
490
502
  }
491
- async function asyncGetDef(puzzleName) {
492
- return (await asyncGetPuzzleGeometry(puzzleName)).writekpuzzle(true);
503
+ async function asyncGetKPuzzle2(puzzleName) {
504
+ const pg = await asyncGetPuzzleGeometry(puzzleName);
505
+ const kpuzzleDefinition = pg.getKPuzzleDefinition(true);
506
+ kpuzzleDefinition.name = puzzleName;
507
+ const puzzleGeometry = await import("./puzzle-geometry/index.js");
508
+ const pgNotation = new puzzleGeometry.ExperimentalPGNotation(pg, pg.getOrbitsDef(true));
509
+ return new KPuzzle(kpuzzleDefinition, {
510
+ experimentalPGNotation: pgNotation
511
+ });
512
+ }
513
+ function asyncLazyKPuzzleGetter(puzzleName) {
514
+ return lazyKPuzzle(() => asyncGetKPuzzle2(puzzleName));
493
515
  }
494
516
  function genericPGPuzzleLoader(id, fullName, info) {
495
517
  const puzzleLoader = {
496
518
  id,
497
519
  fullName,
498
- def: async () => {
499
- return asyncGetDef(id);
500
- },
520
+ kpuzzle: asyncLazyKPuzzleGetter(id),
501
521
  svg: async () => {
502
522
  const pg = await asyncGetPuzzleGeometry(id);
503
523
  return pg.generatesvg();
@@ -525,9 +545,7 @@ function cubePGPuzzleLoader(id, fullName, info) {
525
545
  var cube2x2x2 = {
526
546
  id: "2x2x2",
527
547
  fullName: "2\xD72\xD72 Cube",
528
- def: async () => {
529
- return (await import("./2x2x2.kpuzzle.json-JOGUSQ4N.js")).cube2x2x2KPuzzle;
530
- },
548
+ kpuzzle: lazyKPuzzle(async () => new KPuzzle((await import("./2x2x2.kpuzzle.json-RUB44MJV.js")).cube2x2x2KPuzzleDefinition)),
531
549
  svg: async () => {
532
550
  return (await import("./2x2x2.kpuzzle.svg-CQF2FTV7.js")).default;
533
551
  },
@@ -544,8 +562,8 @@ var cube3x3x3 = {
544
562
  fullName: "3\xD73\xD73 Cube",
545
563
  inventedBy: ["Ern\u0151 Rubik"],
546
564
  inventionYear: 1974,
547
- def: async () => {
548
- return cube3x3x3KPuzzle;
565
+ kpuzzle: async () => {
566
+ return experimental3x3x3KPuzzle;
549
567
  },
550
568
  svg: async () => {
551
569
  return (await import("./3x3x3.kpuzzle.svg-ERSSH66P.js")).default;
@@ -566,9 +584,7 @@ var clock = {
566
584
  fullName: "Clock",
567
585
  inventedBy: ["Christopher C. Wiggs", "Christopher J. Taylor"],
568
586
  inventionYear: 1988,
569
- def: async () => {
570
- return (await import("./clock.kpuzzle.json-EKWRMHJM.js")).clockKPuzzle;
571
- },
587
+ kpuzzle: lazyKPuzzle(async () => new KPuzzle((await import("./clock.kpuzzle.json-BQKNKV3G.js")).clockKPuzzleDefinition)),
572
588
  svg: async () => {
573
589
  return (await import("./clock.kpuzzle.svg-B7TMN3SY.js")).default;
574
590
  }
@@ -576,9 +592,9 @@ var clock = {
576
592
 
577
593
  // src/cubing/puzzles/stickerings/fto-stickerings.ts
578
594
  async function ftoStickering(puzzleLoader, stickering) {
579
- const def = await puzzleLoader.def();
580
- const puzzleStickering = new PuzzleStickering(def);
581
- const m = new StickeringManager(def);
595
+ const kpuzzle = await puzzleLoader.kpuzzle();
596
+ const puzzleStickering = new PuzzleStickering(kpuzzle);
597
+ const m = new StickeringManager(kpuzzle);
582
598
  const experimentalFTO_FC = () => m.and([m.move("U"), m.not(m.or(m.moves(["F", "BL", "BR"])))]);
583
599
  const experimentalFTO_F2T = () => m.and([m.move("U"), m.not(m.move("F"))]);
584
600
  const experimentalFTO_SC = () => m.or([
@@ -645,9 +661,7 @@ var fto = {
645
661
  fullName: "Face-Turning Octahedron",
646
662
  inventedBy: ["Karl Rohrbach", "David Pitcher"],
647
663
  inventionYear: 1983,
648
- def: async () => {
649
- return asyncGetDef("FTO");
650
- },
664
+ kpuzzle: asyncLazyKPuzzleGetter("FTO"),
651
665
  svg: async () => {
652
666
  const pg = await asyncGetPuzzleGeometry("FTO");
653
667
  return pg.generatesvg();
@@ -688,9 +702,7 @@ var pyraminx = {
688
702
  fullName: "Pyraminx",
689
703
  inventedBy: ["Uwe Meffert"],
690
704
  inventionYear: 1970,
691
- def: async () => {
692
- return asyncGetDef("pyraminx");
693
- },
705
+ kpuzzle: asyncLazyKPuzzleGetter("pyraminx"),
694
706
  svg: async () => {
695
707
  return (await import("./pyraminx.kpuzzle.svg-QBBMZVDY.js")).default;
696
708
  },
@@ -705,9 +717,7 @@ var square1 = {
705
717
  fullName: "Square-1",
706
718
  inventedBy: ["Karel Hr\u0161el", "Vojtech Kopsk\xFD"],
707
719
  inventionYear: 1990,
708
- def: async () => {
709
- return (await import("./sq1-hyperorbit.kpuzzle.json-N3FGCPML.js")).sq1HyperOrbitKPuzzle;
710
- },
720
+ kpuzzle: lazyKPuzzle(async () => new KPuzzle((await import("./sq1-hyperorbit.kpuzzle.json-4XS5YACO.js")).sq1HyperOrbitKPuzzleDefinition)),
711
721
  svg: async () => {
712
722
  return (await import("./sq1-hyperorbit.kpuzzle.svg-ID57EER7.js")).default;
713
723
  }
@@ -771,4 +781,4 @@ export {
771
781
  puzzles,
772
782
  wcaEventInfo
773
783
  };
774
- //# sourceMappingURL=chunk-DK6PXBB2.js.map
784
+ //# sourceMappingURL=chunk-2IHGN4YF.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/puzzles/customPGPuzzleLoader.ts", "../../src/cubing/puzzles/stickerings/appearance.ts", "../../src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts", "../../src/cubing/puzzles/stickerings/cube-stickerings.ts", "../../src/cubing/puzzles/async/lazy-cached-kpuzzle.ts", "../../src/cubing/puzzles/async/async-pg3d.ts", "../../src/cubing/puzzles/implementations/2x2x2/index.ts", "../../src/cubing/puzzles/implementations/3x3x3/index.ts", "../../src/cubing/puzzles/implementations/clock/index.ts", "../../src/cubing/puzzles/stickerings/fto-stickerings.ts", "../../src/cubing/puzzles/implementations/fto/index.ts", "../../src/cubing/puzzles/stickerings/megaminx-stickerings.ts", "../../src/cubing/puzzles/implementations/megaminx/index.ts", "../../src/cubing/puzzles/implementations/pyraminx/index.ts", "../../src/cubing/puzzles/implementations/square1/index.ts", "../../src/cubing/puzzles/index.ts"],
4
+ "sourcesContent": ["import { KPuzzle, KPuzzleDefinition } from \"../kpuzzle\";\nimport type { PuzzleGeometry } from \"../puzzle-geometry\";\nimport type { PuzzleDescriptionString } from \"../puzzle-geometry/PGPuzzles\";\nimport type { PuzzleLoader } from \"./PuzzleLoader\";\n\n// TODO: modify this to handle TwistyPlayer options\nexport async function descAsyncGetPuzzleGeometry(\n desc: PuzzleDescriptionString,\n): Promise<PuzzleGeometry> {\n const puzzleGeometry = await import(\"../puzzle-geometry\");\n return puzzleGeometry.getPuzzleGeometryByDesc(desc, {\n allMoves: true,\n orientCenters: true,\n addRotations: true,\n });\n}\n\n// TODO: dedup with `cubing/puzzles`\nexport async function asyncGetKPuzzle(\n desc: PuzzleDescriptionString,\n): Promise<KPuzzle> {\n const pg = await descAsyncGetPuzzleGeometry(desc);\n const kpuzzleDefinition: KPuzzleDefinition = pg.getKPuzzleDefinition(true);\n kpuzzleDefinition.name = `description: ${desc}`;\n const puzzleGeometry = await import(\"../puzzle-geometry\");\n const pgNotation = new puzzleGeometry.ExperimentalPGNotation(\n pg,\n pg.getOrbitsDef(true),\n );\n return new KPuzzle(kpuzzleDefinition, {\n experimentalPGNotation: pgNotation,\n });\n}\n\n// TODO: Can we avoid relying on IDs to deduplicate work at higher levels?\nlet nextCustomID = 1;\n\nexport function customPGPuzzleLoader(\n desc: PuzzleDescriptionString,\n info?: {\n fullName?: string;\n inventedBy?: string[];\n inventionYear?: number;\n },\n): PuzzleLoader {\n const customID = nextCustomID++;\n let cachedKPuzzle: Promise<KPuzzle> | null = null;\n const puzzleLoader: PuzzleLoader = {\n id: `custom-${customID}`,\n fullName: info?.fullName ?? `Custom Puzzle (instance #${customID})`,\n kpuzzle: async () => {\n return (cachedKPuzzle ??= asyncGetKPuzzle(desc));\n },\n svg: async () => {\n const pg = await descAsyncGetPuzzleGeometry(desc);\n return pg.generatesvg();\n },\n pg: async () => {\n return descAsyncGetPuzzleGeometry(desc);\n },\n };\n if (info?.inventedBy) {\n puzzleLoader.inventedBy = info.inventedBy;\n }\n if (info?.inventionYear) {\n puzzleLoader.inventionYear = info.inventionYear;\n }\n return puzzleLoader;\n}\n", "// TODO: figure out where to house this permanently.\n\nimport type { Move } from \"../../alg\";\nimport type { KPuzzle } from \"../../kpuzzle\";\n\nexport type FaceletMeshAppearance =\n | \"regular\"\n | \"dim\"\n | \"oriented\"\n | \"ignored\"\n | \"invisible\";\n\nexport type FaceletAppearance = {\n appearance: FaceletMeshAppearance;\n hintAppearance?: FaceletMeshAppearance;\n};\n\nexport type PieceAppearance = {\n // TODO: foundation?\n facelets: (FaceletMeshAppearance | FaceletAppearance | null)[];\n};\n\nexport type OrbitAppearance = {\n pieces: (PieceAppearance | null)[];\n};\n\nexport type PuzzleAppearance = {\n name?: string; // TODO\n orbits: Record<string, OrbitAppearance>;\n};\n\nexport function getFaceletAppearance(\n appearance: PuzzleAppearance,\n orbitName: string,\n pieceIdx: number,\n faceletIdx: number,\n hint: boolean,\n): FaceletMeshAppearance {\n const orbitAppearance = appearance.orbits[orbitName];\n const pieceAppearance: PieceAppearance | null =\n orbitAppearance.pieces[pieceIdx];\n if (pieceAppearance === null) {\n return regular;\n }\n const faceletAppearance: FaceletMeshAppearance | FaceletAppearance | null =\n pieceAppearance.facelets[faceletIdx];\n if (faceletAppearance === null) {\n return regular;\n }\n if (typeof faceletAppearance === \"string\") {\n return faceletAppearance;\n }\n if (hint) {\n return faceletAppearance.hintAppearance ?? faceletAppearance.appearance;\n }\n return faceletAppearance.appearance;\n}\n\n// TODO: Revert this to a normal enum, or write a standard to codify the names?\nexport enum PieceStickering {\n Regular = \"Regular\",\n Dim = \"Dim\",\n Ignored = \"Ignored\",\n OrientationStickers = \"OrientationStickers\",\n Invisible = \"Invisible\",\n Ignoriented = \"Ignoriented\",\n IgnoreNonPrimary = \"IgnoreNonPrimary\",\n PermuteNonPrimary = \"PermuteNonPrimary\",\n OrientationWithoutPermutation = \"OrientationWithoutPermutation\",\n}\n\nexport class PieceAnnotation<T> {\n stickerings: Map<string, T[]> = new Map();\n constructor(kpuzzle: KPuzzle, defaultValue: T) {\n for (const [orbitName, orbitDef] of Object.entries(\n kpuzzle.definition.orbits,\n )) {\n this.stickerings.set(\n orbitName,\n new Array(orbitDef.numPieces).fill(defaultValue),\n );\n }\n }\n}\n\nconst regular = \"regular\";\nconst ignored = \"ignored\";\nconst oriented = \"oriented\";\nconst invisible = \"invisible\";\nconst dim = \"dim\";\n\n// regular\nconst r: PieceAppearance = {\n facelets: [regular, regular, regular, regular, regular],\n};\n\n// ignored\nconst i: PieceAppearance = {\n facelets: [ignored, ignored, ignored, ignored, ignored],\n};\n\n// oriented stickers\nconst o: PieceAppearance = {\n facelets: [oriented, oriented, oriented, oriented, oriented],\n};\n\n// invisible\nconst invisiblePiece: PieceAppearance = {\n facelets: [invisible, invisible, invisible, invisible], // TODO: 4th entry is for void cube. Should be handled properly for all stickerings.\n};\n\n// \"OLL\"\nconst riiii: PieceAppearance = {\n facelets: [regular, ignored, ignored, ignored, ignored],\n};\n\n// \"PLL\"\nconst drrrr: PieceAppearance = {\n facelets: [dim, regular, regular, regular, regular],\n};\n\n// ignored\nconst d: PieceAppearance = {\n facelets: [dim, dim, dim, dim, dim],\n};\n\n// \"OLL\"\nconst diiii: PieceAppearance = {\n facelets: [dim, ignored, ignored, ignored, ignored],\n};\n\n// oriented\nconst oiiii: PieceAppearance = {\n facelets: [oriented, ignored, ignored, ignored, ignored],\n};\n\nexport function getPieceAppearance(\n pieceStickering: PieceStickering,\n): PieceAppearance {\n switch (pieceStickering) {\n case PieceStickering.Regular:\n return r;\n case PieceStickering.Dim:\n return d;\n case PieceStickering.Ignored:\n return i;\n case PieceStickering.OrientationStickers: // TODO: Hack for centers. This shouldn't be needed.\n return o;\n case PieceStickering.Invisible: // TODO: Hack for centers. This shouldn't be needed.\n return invisiblePiece;\n case PieceStickering.IgnoreNonPrimary:\n return riiii;\n case PieceStickering.PermuteNonPrimary:\n return drrrr;\n case PieceStickering.Ignoriented:\n return diiii;\n case PieceStickering.OrientationWithoutPermutation:\n return oiiii;\n }\n}\n\nexport class PuzzleStickering extends PieceAnnotation<PieceStickering> {\n constructor(kpuzzle: KPuzzle) {\n super(kpuzzle, PieceStickering.Regular);\n }\n\n set(pieceSet: PieceSet, pieceStickering: PieceStickering): PuzzleStickering {\n for (const [orbitName, pieces] of this.stickerings.entries()) {\n for (let i = 0; i < pieces.length; i++) {\n if (pieceSet.stickerings.get(orbitName)![i]) {\n pieces[i] = pieceStickering;\n }\n }\n }\n return this;\n }\n\n toAppearance(): PuzzleAppearance {\n const appearance: PuzzleAppearance = { orbits: {} };\n for (const [orbitName, pieceStickerings] of this.stickerings.entries()) {\n const pieces: PieceAppearance[] = [];\n const orbitAppearance: OrbitAppearance = {\n pieces,\n };\n appearance.orbits[orbitName] = orbitAppearance;\n for (const pieceStickering of pieceStickerings) {\n pieces.push(getPieceAppearance(pieceStickering));\n }\n }\n return appearance;\n }\n}\n\nexport type PieceSet = PieceAnnotation<boolean>;\n\nexport class StickeringManager {\n constructor(private kpuzzle: KPuzzle) {}\n\n and(pieceSets: PieceSet[]): PieceSet {\n const newPieceSet = new PieceAnnotation<boolean>(this.kpuzzle, false);\n for (const [orbitName, orbitDef] of Object.entries(\n this.kpuzzle.definition.orbits,\n )) {\n pieceLoop: for (let i = 0; i < orbitDef.numPieces; i++) {\n newPieceSet.stickerings.get(orbitName)![i] = true;\n for (const pieceSet of pieceSets) {\n if (!pieceSet.stickerings.get(orbitName)![i]) {\n newPieceSet.stickerings.get(orbitName)![i] = false;\n continue pieceLoop;\n }\n }\n }\n }\n return newPieceSet;\n }\n\n or(pieceSets: PieceSet[]): PieceSet {\n // TODO: unify impl with and?\n const newPieceSet = new PieceAnnotation<boolean>(this.kpuzzle, false);\n for (const [orbitName, orbitDef] of Object.entries(\n this.kpuzzle.definition.orbits,\n )) {\n pieceLoop: for (let i = 0; i < orbitDef.numPieces; i++) {\n newPieceSet.stickerings.get(orbitName)![i] = false;\n for (const pieceSet of pieceSets) {\n if (pieceSet.stickerings.get(orbitName)![i]) {\n newPieceSet.stickerings.get(orbitName)![i] = true;\n continue pieceLoop;\n }\n }\n }\n }\n return newPieceSet;\n }\n\n not(pieceSet: PieceSet): PieceSet {\n const newPieceSet = new PieceAnnotation<boolean>(this.kpuzzle, false);\n for (const [orbitName, orbitDef] of Object.entries(\n this.kpuzzle.definition.orbits,\n )) {\n for (let i = 0; i < orbitDef.numPieces; i++) {\n newPieceSet.stickerings.get(orbitName)![i] =\n !pieceSet.stickerings.get(orbitName)![i];\n }\n }\n return newPieceSet;\n }\n\n all(): PieceSet {\n return this.and(this.moves([])); // TODO: are the degenerate cases for and/or the wrong way around\n }\n\n move(moveSource: Move | string): PieceSet {\n const transformation = this.kpuzzle.moveToTransformation(moveSource);\n const newPieceSet = new PieceAnnotation<boolean>(this.kpuzzle, false);\n for (const [orbitName, orbitDef] of Object.entries(\n this.kpuzzle.definition.orbits,\n )) {\n for (let i = 0; i < orbitDef.numPieces; i++) {\n if (\n transformation.transformationData[orbitName].permutation[i] !== i ||\n transformation.transformationData[orbitName].orientation[i] !== 0\n ) {\n newPieceSet.stickerings.get(orbitName)![i] = true;\n }\n }\n }\n return newPieceSet;\n }\n\n moves(moveSources: (Move | string)[]): PieceSet[] {\n return moveSources.map((moveSource) => this.move(moveSource));\n }\n\n // orbits(orbitNames: string[]): PieceSet {\n // const pieceSet = new PieceAnnotation<boolean>(this.def, false);\n // for (const orbitName of orbitNames) {\n // pieceSet.stickerings.get(orbitName)!.fill(true);\n // }\n // return pieceSet;\n // }\n\n // trueCounts(pieceSet: PieceSet): Record<string, number> {\n // const counts: Record<string, number> = {};\n // for (const [orbitName, orbitDef] of Object.entries(this.def.orbits)) {\n // let count = 0;\n // for (let i = 0; i < orbitDef.numPieces; i++) {\n // if (pieceSet.stickerings.get(orbitName)![i]) {\n // count++;\n // }\n // }\n // counts[orbitName] = count;\n // }\n // return counts;\n // }\n}\n", "import type { TwistyPlayer } from \"../../twisty\";\nimport {\n PieceStickering,\n PuzzleStickering,\n StickeringManager,\n} from \"./appearance\";\n\ntype Stickerer = (\n puzzleStickering: PuzzleStickering,\n m: StickeringManager,\n) => void;\n\nlet globalCustomStickerer: Stickerer = () => {};\n\nfunction setGlobalCustomStickerer(stickerer: Stickerer): void {\n (async () => {\n globalCustomStickerer = stickerer;\n\n const players: TwistyPlayer[] = Array.from(\n document.body.querySelectorAll(\"twisty-player\"),\n );\n console.log(`Setting the custom stickering for ${players.length} players!`);\n const successPromises = [];\n for (const player of players) {\n successPromises.push(\n (async () => {\n const stickering =\n await player.experimentalModel.stickeringProp.get();\n player.experimentalStickering =\n stickering === \"experimental-global-custom-1\"\n ? \"experimental-global-custom-2\"\n : \"experimental-global-custom-1\";\n })(),\n );\n }\n await Promise.all(successPromises);\n console.log(\"Success!\");\n })();\n}\n\nexport function useGlobalCustomStickerer(\n puzzleStickering: PuzzleStickering,\n m: StickeringManager,\n): void {\n globalCustomStickerer(puzzleStickering, m);\n}\n\nif (\n globalThis.location &&\n new URL(location.href).searchParams.get(\"global-custom-stickerer\") === \"true\"\n) {\n (window as any).setGlobalCustomStickerer = setGlobalCustomStickerer;\n (window as any).PieceStickering = PieceStickering;\n console.log(\n \"Global custom stickerer enabled! (using: global-custom-stickerer=true)\",\n );\n console.log(\n \"Look here for inspiration:\",\n \"https://github.com/cubing/cubing.js/blob/81b5cab3e27d8defb39dd1e0a10bc9e8ba894d26/src/cubing/puzzles/stickerings/cube-stickerings.ts#L67\",\n );\n}\n", "import type { ExperimentalStickering } from \"../../twisty\";\nimport type { PuzzleLoader } from \"../PuzzleLoader\";\nimport {\n PuzzleAppearance,\n PuzzleStickering,\n StickeringManager,\n PieceSet,\n PieceStickering,\n} from \"./appearance\";\nimport { useGlobalCustomStickerer } from \"./global-custom-stickering-hack\";\n\n// TODO: cache calculations?\nexport async function cubeAppearance(\n puzzleLoader: PuzzleLoader,\n stickering: ExperimentalStickering,\n): Promise<PuzzleAppearance> {\n const kpuzzle = await puzzleLoader.kpuzzle();\n const puzzleStickering = new PuzzleStickering(kpuzzle);\n const m = new StickeringManager(kpuzzle);\n\n const LL = (): PieceSet => m.move(\"U\");\n const orUD = (): PieceSet => m.or(m.moves([\"U\", \"D\"]));\n const E = (): PieceSet => m.not(orUD());\n const orLR = (): PieceSet => m.or(m.moves([\"L\", \"R\"]));\n const M = (): PieceSet => m.not(orLR());\n const orFB = (): PieceSet => m.or(m.moves([\"F\", \"B\"]));\n const S = (): PieceSet => m.not(orFB());\n\n const F2L = (): PieceSet => m.not(LL());\n\n const centerU = (): PieceSet => m.and([LL(), M(), S()]);\n\n const edgeFR = (): PieceSet =>\n m.and([m.and(m.moves([\"F\", \"R\"])), m.not(orUD())]);\n const cornerDFR = (): PieceSet => m.and(m.moves([\"D\", \"R\", \"F\"]));\n const slotFR = (): PieceSet => m.or([cornerDFR(), edgeFR()]);\n\n const CENTERS = (): PieceSet =>\n m.or([m.and([M(), E()]), m.and([M(), S()]), m.and([E(), S()])]);\n const EDGES = (): PieceSet =>\n m.or([\n m.and([M(), orUD(), orFB()]),\n m.and([E(), orLR(), orFB()]),\n m.and([S(), orUD(), orLR()]),\n ]);\n const CORNERS = (): PieceSet => m.not(m.or([CENTERS(), EDGES()]));\n const L6E = (): PieceSet => m.or([M(), m.and([LL(), EDGES()])]);\n\n function dimF2L(): void {\n puzzleStickering.set(F2L(), PieceStickering.Dim);\n }\n\n function setPLL(): void {\n puzzleStickering.set(LL(), PieceStickering.PermuteNonPrimary);\n puzzleStickering.set(centerU(), PieceStickering.Dim); // TODO: why is this needed?\n }\n\n function setOLL(): void {\n puzzleStickering.set(LL(), PieceStickering.IgnoreNonPrimary);\n puzzleStickering.set(centerU(), PieceStickering.Regular); // TODO: why is this needed?\n }\n\n function dimOLL(): void {\n puzzleStickering.set(LL(), PieceStickering.Ignoriented);\n puzzleStickering.set(centerU(), PieceStickering.Dim); // TODO: why is this needed?\n }\n\n switch (stickering) {\n case \"full\":\n break;\n case \"PLL\":\n dimF2L();\n setPLL();\n break;\n case \"CLS\":\n dimF2L();\n puzzleStickering.set(\n m.and(m.moves([\"D\", \"R\", \"F\"])),\n PieceStickering.Regular,\n );\n puzzleStickering.set(LL(), PieceStickering.Ignoriented);\n puzzleStickering.set(\n m.and([LL(), CORNERS()]),\n PieceStickering.IgnoreNonPrimary,\n );\n break;\n case \"OLL\":\n dimF2L();\n setOLL();\n break;\n case \"COLL\":\n dimF2L();\n setPLL();\n puzzleStickering.set(m.and([LL(), CORNERS()]), PieceStickering.Regular);\n break;\n case \"OCLL\":\n dimF2L();\n dimOLL();\n puzzleStickering.set(\n m.and([LL(), CORNERS()]),\n PieceStickering.IgnoreNonPrimary,\n );\n break;\n case \"CLL\":\n dimF2L();\n puzzleStickering.set(\n m.not(m.and([CORNERS(), LL()])),\n PieceStickering.Dim,\n );\n break;\n case \"ELL\":\n dimF2L();\n puzzleStickering.set(LL(), PieceStickering.Dim);\n puzzleStickering.set(m.and([LL(), EDGES()]), PieceStickering.Regular);\n break;\n case \"ELS\":\n dimF2L();\n setOLL();\n puzzleStickering.set(m.and([LL(), CORNERS()]), PieceStickering.Ignored);\n puzzleStickering.set(edgeFR(), PieceStickering.Regular);\n puzzleStickering.set(cornerDFR(), PieceStickering.Ignored);\n break;\n case \"LL\":\n dimF2L();\n break;\n case \"F2L\":\n puzzleStickering.set(LL(), PieceStickering.Ignored);\n break;\n case \"ZBLL\":\n dimF2L();\n puzzleStickering.set(LL(), PieceStickering.PermuteNonPrimary);\n puzzleStickering.set(centerU(), PieceStickering.Dim); // why is this needed?\n puzzleStickering.set(m.and([LL(), CORNERS()]), PieceStickering.Regular);\n break;\n case \"ZBLS\":\n dimF2L();\n puzzleStickering.set(slotFR(), PieceStickering.Regular);\n setOLL();\n puzzleStickering.set(m.and([LL(), CORNERS()]), PieceStickering.Ignored);\n break;\n case \"WVLS\":\n // fallthrough\n case \"VLS\":\n dimF2L();\n puzzleStickering.set(slotFR(), PieceStickering.Regular);\n setOLL();\n break;\n case \"LS\":\n dimF2L();\n puzzleStickering.set(slotFR(), PieceStickering.Regular);\n puzzleStickering.set(LL(), PieceStickering.Ignored);\n puzzleStickering.set(centerU(), PieceStickering.Dim);\n break;\n case \"EO\":\n puzzleStickering.set(CORNERS(), PieceStickering.Ignored);\n puzzleStickering.set(\n EDGES(),\n PieceStickering.OrientationWithoutPermutation,\n );\n break;\n case \"EOline\":\n puzzleStickering.set(CORNERS(), PieceStickering.Ignored);\n puzzleStickering.set(\n EDGES(),\n PieceStickering.OrientationWithoutPermutation,\n );\n puzzleStickering.set(m.and(m.moves([\"D\", \"M\"])), PieceStickering.Regular);\n break;\n case \"EOcross\":\n puzzleStickering.set(\n EDGES(),\n PieceStickering.OrientationWithoutPermutation,\n );\n puzzleStickering.set(m.move(\"D\"), PieceStickering.Regular);\n puzzleStickering.set(CORNERS(), PieceStickering.Ignored);\n break;\n case \"CMLL\":\n puzzleStickering.set(F2L(), PieceStickering.Dim);\n puzzleStickering.set(L6E(), PieceStickering.Ignored);\n puzzleStickering.set(m.and([LL(), CORNERS()]), PieceStickering.Regular);\n break;\n case \"L6E\":\n puzzleStickering.set(m.not(L6E()), PieceStickering.Dim);\n break;\n case \"L6EO\":\n puzzleStickering.set(m.not(L6E()), PieceStickering.Dim);\n puzzleStickering.set(\n L6E(),\n PieceStickering.OrientationWithoutPermutation,\n );\n puzzleStickering.set(\n m.and([CENTERS(), orUD()]),\n PieceStickering.OrientationStickers,\n ); // TODO: why is this needed?\n break;\n case \"Daisy\":\n puzzleStickering.set(m.all(), PieceStickering.Ignored);\n puzzleStickering.set(CENTERS(), PieceStickering.Dim);\n puzzleStickering.set(\n m.and([m.move(\"D\"), CENTERS()]),\n PieceStickering.Regular,\n );\n puzzleStickering.set(\n m.and([m.move(\"U\"), EDGES()]),\n PieceStickering.IgnoreNonPrimary,\n );\n break;\n case \"Cross\":\n puzzleStickering.set(m.all(), PieceStickering.Ignored);\n puzzleStickering.set(CENTERS(), PieceStickering.Dim);\n puzzleStickering.set(\n m.and([m.move(\"D\"), CENTERS()]),\n PieceStickering.Regular,\n );\n puzzleStickering.set(\n m.and([m.move(\"D\"), EDGES()]),\n PieceStickering.Regular,\n );\n break;\n case \"2x2x2\":\n puzzleStickering.set(\n m.or(m.moves([\"U\", \"F\", \"R\"])),\n PieceStickering.Ignored,\n );\n puzzleStickering.set(\n m.and([m.or(m.moves([\"U\", \"F\", \"R\"])), CENTERS()]),\n PieceStickering.Dim,\n );\n break;\n case \"2x2x3\":\n puzzleStickering.set(m.all(), PieceStickering.Dim);\n puzzleStickering.set(\n m.or(m.moves([\"U\", \"F\", \"R\"])),\n PieceStickering.Ignored,\n );\n puzzleStickering.set(\n m.and([m.or(m.moves([\"U\", \"F\", \"R\"])), CENTERS()]),\n PieceStickering.Dim,\n );\n puzzleStickering.set(\n m.and([m.move(\"F\"), m.not(m.or(m.moves([\"U\", \"R\"])))]),\n PieceStickering.Regular,\n );\n break;\n case \"Void Cube\":\n puzzleStickering.set(CENTERS(), PieceStickering.Invisible);\n break;\n case \"picture\":\n // fallthrough\n case \"invisible\":\n puzzleStickering.set(m.all(), PieceStickering.Invisible);\n break;\n case \"centers-only\":\n puzzleStickering.set(m.not(CENTERS()), PieceStickering.Ignored);\n break;\n case \"experimental-global-custom-1\":\n // fallthrough\n case \"experimental-global-custom-2\":\n useGlobalCustomStickerer(puzzleStickering, m);\n break;\n default:\n console.warn(\n `Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`,\n );\n puzzleStickering.set(m.and(m.moves([])), PieceStickering.Dim);\n }\n return puzzleStickering.toAppearance();\n}\n\nexport async function cubeStickerings(): Promise<ExperimentalStickering[]> {\n return [\n \"full\",\n \"PLL\",\n \"CLS\",\n \"OLL\",\n \"COLL\",\n \"OCLL\",\n \"ELL\",\n \"ELS\",\n \"LL\",\n \"F2L\",\n \"ZBLL\",\n \"ZBLS\",\n \"WVLS\",\n \"VLS\",\n \"LS\",\n \"EO\",\n \"EOline\",\n \"EOcross\",\n \"CMLL\",\n \"L6E\",\n \"L6EO\",\n \"Daisy\",\n \"Cross\",\n \"2x2x2\",\n \"2x2x3\",\n \"Void Cube\",\n \"picture\",\n \"invisible\",\n \"centers-only\",\n \"experimental-global-custom-1\",\n \"experimental-global-custom-2\",\n ];\n}\n", "import type { KPuzzle } from \"../../kpuzzle\";\n\n// TODO\nexport function lazyKPuzzle(\n getKPuzzle: () => Promise<KPuzzle>,\n): () => Promise<KPuzzle> {\n let cachedKPuzzlePromise: Promise<KPuzzle> | null = null;\n return (): Promise<KPuzzle> => {\n return (cachedKPuzzlePromise ??= getKPuzzle());\n };\n}\n", "import { KPuzzle, KPuzzleDefinition } from \"../../kpuzzle\";\nimport type { PuzzleGeometry } from \"../../puzzle-geometry\";\nimport type { PuzzleLoader } from \"../PuzzleLoader\";\nimport {\n cubeAppearance,\n cubeStickerings,\n} from \"../stickerings/cube-stickerings\";\nimport { lazyKPuzzle } from \"./lazy-cached-kpuzzle\";\n\n// TODO: modify this to handle TwistyPlayer options\nexport async function asyncGetPuzzleGeometry(\n puzzleName: string,\n): Promise<PuzzleGeometry> {\n const puzzleGeometry = await import(\"../../puzzle-geometry\");\n return puzzleGeometry.getPuzzleGeometryByName(puzzleName, {\n allMoves: true,\n orientCenters: true,\n addRotations: true,\n });\n}\n\n// TODO: can we cache the puzzleGeometry to avoid duplicate calls, without\n// wasting memory? Maybe just save the latest one for successive calls about the\n// same puzzle?\nexport async function asyncGetKPuzzle(puzzleName: string): Promise<KPuzzle> {\n const pg = await asyncGetPuzzleGeometry(puzzleName);\n const kpuzzleDefinition: KPuzzleDefinition = pg.getKPuzzleDefinition(true);\n kpuzzleDefinition.name = puzzleName;\n const puzzleGeometry = await import(\"../../puzzle-geometry\");\n const pgNotation = new puzzleGeometry.ExperimentalPGNotation(\n pg,\n pg.getOrbitsDef(true),\n );\n return new KPuzzle(kpuzzleDefinition, {\n experimentalPGNotation: pgNotation,\n });\n}\n\nexport function asyncLazyKPuzzleGetter(\n puzzleName: string,\n): () => Promise<KPuzzle> {\n return lazyKPuzzle(() => asyncGetKPuzzle(puzzleName));\n}\n\nexport function genericPGPuzzleLoader(\n id: string,\n fullName: string,\n info?: {\n inventedBy?: string[];\n inventionYear?: number;\n },\n): PuzzleLoader {\n const puzzleLoader: PuzzleLoader = {\n id: id,\n fullName: fullName,\n kpuzzle: asyncLazyKPuzzleGetter(id),\n svg: async () => {\n const pg = await asyncGetPuzzleGeometry(id);\n return pg.generatesvg();\n },\n pg: async () => {\n return asyncGetPuzzleGeometry(id);\n },\n };\n if (info?.inventedBy) {\n puzzleLoader.inventedBy = info.inventedBy;\n }\n if (info?.inventionYear) {\n puzzleLoader.inventionYear = info.inventionYear;\n }\n return puzzleLoader;\n}\n\nexport function cubePGPuzzleLoader(\n id: string,\n fullName: string,\n info?: {\n inventedBy?: string[];\n inventionYear?: number;\n },\n): PuzzleLoader {\n const puzzleLoader: PuzzleLoader = genericPGPuzzleLoader(id, fullName, info);\n puzzleLoader.appearance = cubeAppearance.bind(cubeAppearance, puzzleLoader);\n puzzleLoader.stickerings = cubeStickerings;\n return puzzleLoader;\n}\n", "import { KPuzzle } from \"../../../kpuzzle\";\nimport type { ExperimentalStickering } from \"../../../twisty\";\nimport { asyncGetPuzzleGeometry } from \"../../async/async-pg3d\";\nimport { lazyKPuzzle } from \"../../async/lazy-cached-kpuzzle\";\nimport type { PuzzleLoader } from \"../../PuzzleLoader\";\nimport type { PuzzleAppearance } from \"../../stickerings/appearance\";\nimport {\n cubeAppearance,\n cubeStickerings,\n} from \"../../stickerings/cube-stickerings\";\n\nexport const cube2x2x2: PuzzleLoader = {\n id: \"2x2x2\",\n fullName: \"2\u00D72\u00D72 Cube\",\n kpuzzle: lazyKPuzzle(\n async () =>\n new KPuzzle(\n (await import(\"./2x2x2.kpuzzle.json\")).cube2x2x2KPuzzleDefinition,\n ),\n ),\n svg: async () => {\n return (await import(\"./2x2x2.kpuzzle.svg\")).default;\n },\n pg: async () => {\n return asyncGetPuzzleGeometry(\"2x2x2\");\n },\n appearance: (stickering: ExperimentalStickering): Promise<PuzzleAppearance> =>\n cubeAppearance(cube2x2x2, stickering),\n stickerings: cubeStickerings,\n};\n", "// Include 3x3x3 in the main bundle for better performance.\nimport { experimental3x3x3KPuzzle } from \"../../../kpuzzle\";\nimport type { ExperimentalStickering } from \"../../../twisty\";\nimport { asyncGetPuzzleGeometry } from \"../../async/async-pg3d\";\nimport type { PuzzleLoader } from \"../../PuzzleLoader\";\nimport type { PuzzleAppearance } from \"../../stickerings/appearance\";\nimport {\n cubeAppearance,\n cubeStickerings,\n} from \"../../stickerings/cube-stickerings\";\n\nexport const cube3x3x3: PuzzleLoader = {\n id: \"3x3x3\",\n fullName: \"3\u00D73\u00D73 Cube\",\n inventedBy: [\"Ern\u0151 Rubik\"],\n inventionYear: 1974, // https://en.wikipedia.org/wiki/Rubik%27s_Cube#Conception_and_development\n kpuzzle: async () => {\n return experimental3x3x3KPuzzle;\n },\n svg: async () => {\n return (await import(\"./3x3x3.kpuzzle.svg\")).default;\n },\n llSVG: async () => {\n return (await import(\"./3x3x3-ll.kpuzzle.svg\")).default;\n },\n pg: async () => {\n return asyncGetPuzzleGeometry(\"3x3x3\");\n },\n appearance: (stickering: ExperimentalStickering): Promise<PuzzleAppearance> =>\n cubeAppearance(cube3x3x3, stickering),\n stickerings: cubeStickerings,\n};\n", "import { KPuzzle } from \"../../../kpuzzle\";\nimport { lazyKPuzzle } from \"../../async/lazy-cached-kpuzzle\";\nimport type { PuzzleLoader } from \"../../PuzzleLoader\";\n\nexport const clock: PuzzleLoader = {\n id: \"clock\",\n fullName: \"Clock\",\n inventedBy: [\"Christopher C. Wiggs\", \"Christopher J. Taylor\"],\n inventionYear: 1988, // Patent application year: https://www.jaapsch.net/puzzles/patents/us4869506.pdf\n kpuzzle: lazyKPuzzle(\n async () =>\n new KPuzzle(\n (await import(\"./clock.kpuzzle.json\")).clockKPuzzleDefinition,\n ),\n ),\n svg: async () => {\n return (await import(\"./clock.kpuzzle.svg\")).default;\n },\n};\n", "import type { ExperimentalStickering } from \"../../twisty\";\nimport type { PuzzleLoader } from \"../PuzzleLoader\";\nimport {\n PuzzleAppearance,\n PuzzleStickering,\n StickeringManager,\n PieceSet,\n PieceStickering,\n} from \"./appearance\";\n\nexport async function ftoStickering(\n puzzleLoader: PuzzleLoader,\n stickering: ExperimentalStickering,\n): Promise<PuzzleAppearance> {\n const kpuzzle = await puzzleLoader.kpuzzle();\n const puzzleStickering = new PuzzleStickering(kpuzzle);\n const m = new StickeringManager(kpuzzle);\n\n const experimentalFTO_FC = (): PieceSet =>\n m.and([m.move(\"U\"), m.not(m.or(m.moves([\"F\", \"BL\", \"BR\"])))]);\n const experimentalFTO_F2T = (): PieceSet =>\n m.and([m.move(\"U\"), m.not(m.move(\"F\"))]);\n const experimentalFTO_SC = (): PieceSet =>\n m.or([\n experimentalFTO_F2T(),\n m.and([m.move(\"F\"), m.not(m.or(m.moves([\"U\", \"BL\", \"BR\"])))]),\n ]);\n const experimentalFTO_L2C = (): PieceSet =>\n m.not(\n m.or([\n m.and([m.move(\"U\"), m.move(\"F\")]),\n m.and([m.move(\"F\"), m.move(\"BL\")]),\n m.and([m.move(\"F\"), m.move(\"BR\")]),\n m.and([m.move(\"BL\"), m.move(\"BR\")]),\n ]),\n );\n const experimentalFTO_LBT = (): PieceSet =>\n m.not(\n m.or([\n m.and([m.move(\"F\"), m.move(\"BL\")]),\n m.and([m.move(\"F\"), m.move(\"BR\")]),\n m.and([m.move(\"BL\"), m.move(\"BR\")]),\n ]),\n );\n\n switch (stickering) {\n case \"full\":\n break;\n case \"experimental-fto-fc\":\n puzzleStickering.set(\n m.not(experimentalFTO_FC()),\n PieceStickering.Ignored,\n );\n break;\n case \"experimental-fto-f2t\":\n puzzleStickering.set(\n m.not(experimentalFTO_F2T()),\n PieceStickering.Ignored,\n );\n puzzleStickering.set(experimentalFTO_FC(), PieceStickering.Dim);\n break;\n case \"experimental-fto-sc\":\n puzzleStickering.set(\n m.not(experimentalFTO_SC()),\n PieceStickering.Ignored,\n );\n puzzleStickering.set(experimentalFTO_F2T(), PieceStickering.Dim);\n break;\n case \"experimental-fto-l2c\":\n puzzleStickering.set(\n m.not(experimentalFTO_L2C()),\n PieceStickering.Ignored,\n );\n puzzleStickering.set(experimentalFTO_SC(), PieceStickering.Dim);\n break;\n case \"experimental-fto-lbt\":\n puzzleStickering.set(\n m.not(experimentalFTO_LBT()),\n PieceStickering.Ignored,\n );\n puzzleStickering.set(experimentalFTO_L2C(), PieceStickering.Dim);\n break;\n case \"experimental-fto-l3t\":\n puzzleStickering.set(experimentalFTO_LBT(), PieceStickering.Dim);\n break;\n default:\n console.warn(\n `Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`,\n );\n puzzleStickering.set(m.and(m.moves([])), PieceStickering.Dim);\n }\n return puzzleStickering.toAppearance();\n}\n\nexport async function ftoStickerings(): Promise<ExperimentalStickering[]> {\n return [\n \"full\",\n \"experimental-fto-fc\",\n \"experimental-fto-f2t\",\n \"experimental-fto-sc\",\n \"experimental-fto-l2c\",\n \"experimental-fto-lbt\",\n \"experimental-fto-l3t\",\n ];\n}\n", "import type { PuzzleLoader } from \"../..\";\nimport type { ExperimentalStickering } from \"../../../twisty\";\nimport {\n asyncGetPuzzleGeometry,\n asyncLazyKPuzzleGetter,\n} from \"../../async/async-pg3d\";\nimport type { PuzzleAppearance } from \"../../stickerings/appearance\";\nimport {\n ftoStickering,\n ftoStickerings,\n} from \"../../stickerings/fto-stickerings\";\n\nexport const fto: PuzzleLoader = {\n id: \"fto\",\n fullName: \"Face-Turning Octahedron\",\n inventedBy: [\"Karl Rohrbach\", \"David Pitcher\"], // http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1663\n inventionYear: 1983, // http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1663\n kpuzzle: asyncLazyKPuzzleGetter(\"FTO\"),\n svg: async () => {\n const pg = await asyncGetPuzzleGeometry(\"FTO\");\n return pg.generatesvg();\n },\n pg: async () => {\n return asyncGetPuzzleGeometry(\"FTO\");\n },\n appearance: (stickering: ExperimentalStickering): Promise<PuzzleAppearance> =>\n ftoStickering(fto, stickering),\n stickerings: ftoStickerings,\n};\n", "import type { ExperimentalStickering } from \"../../twisty\";\nimport type { PuzzleLoader } from \"../PuzzleLoader\";\nimport type { PuzzleAppearance } from \"./appearance\";\nimport { cubeAppearance } from \"./cube-stickerings\";\n\n// TODO: cache calculations?\nexport async function megaminxAppearance(\n puzzleLoader: PuzzleLoader,\n stickering: ExperimentalStickering,\n): Promise<PuzzleAppearance> {\n switch (stickering) {\n case \"full\":\n case \"F2L\":\n case \"LL\":\n return cubeAppearance(puzzleLoader, stickering);\n default:\n console.warn(\n `Unsupported stickering for ${puzzleLoader.id}: ${stickering}. Setting all pieces to dim.`,\n );\n }\n return cubeAppearance(puzzleLoader, \"full\");\n}\n\nexport async function megaminxStickerings(): Promise<ExperimentalStickering[]> {\n return [\"full\", \"F2L\", \"LL\"];\n}\n", "import type { ExperimentalStickering } from \"../../../twisty\";\nimport { genericPGPuzzleLoader } from \"../../async/async-pg3d\";\nimport type { PuzzleAppearance } from \"../../stickerings/appearance\";\nimport {\n megaminxAppearance,\n megaminxStickerings,\n} from \"../../stickerings/megaminx-stickerings\";\n\nconst megaminx = genericPGPuzzleLoader(\"megaminx\", \"Megaminx\", {\n // Too many simultaneous inventors to name.\n inventionYear: 1981, // Earliest date from https://www.jaapsch.net/puzzles/megaminx.htm\n});\n\n// TODO: loading the stickering code async.\nmegaminx.appearance = (\n stickering: ExperimentalStickering,\n): Promise<PuzzleAppearance> => megaminxAppearance(megaminx, stickering);\nmegaminx.stickerings = megaminxStickerings;\n\nexport { megaminx };\n", "import {\n asyncGetPuzzleGeometry,\n asyncLazyKPuzzleGetter,\n} from \"../../async/async-pg3d\";\nimport type { PuzzleLoader } from \"../../PuzzleLoader\";\n\nexport const pyraminx: PuzzleLoader = {\n id: \"pyraminx\",\n fullName: \"Pyraminx\",\n inventedBy: [\"Uwe Meffert\"],\n inventionYear: 1970, // https://en.wikipedia.org/wiki/Pyraminx#Description\n kpuzzle: asyncLazyKPuzzleGetter(\"pyraminx\"),\n svg: async () => {\n return (await import(\"./pyraminx.kpuzzle.svg\")).default;\n },\n pg: async () => {\n return asyncGetPuzzleGeometry(\"pyraminx\");\n },\n};\n", "import { KPuzzle } from \"../../../kpuzzle\";\nimport { lazyKPuzzle } from \"../../async/lazy-cached-kpuzzle\";\nimport type { PuzzleLoader } from \"../../PuzzleLoader\";\n\nexport const square1: PuzzleLoader = {\n id: \"square1\",\n fullName: \"Square-1\",\n inventedBy: [\"Karel Hr\u0161el\", \"Vojtech Kopsk\u00FD\"],\n inventionYear: 1990, // Czech patent application year: http://spisy.upv.cz/Patents/FullDocuments/277/277266.pdf\n kpuzzle: lazyKPuzzle(\n async () =>\n new KPuzzle(\n (\n await import(\"./sq1-hyperorbit.kpuzzle.json\")\n ).sq1HyperOrbitKPuzzleDefinition,\n ),\n ),\n svg: async () => {\n return (await import(\"./sq1-hyperorbit.kpuzzle.svg\")).default;\n },\n};\n", "export { customPGPuzzleLoader as experimentalCustomPGPuzzleLoader } from \"./customPGPuzzleLoader\";\nexport { experimental3x3x3KPuzzle } from \"../kpuzzle\";\n\nexport { cubeAppearance as experimentalCubeAppearance } from \"./stickerings/cube-stickerings\";\n\nimport type { PuzzleID } from \"../twisty\";\nimport { cubePGPuzzleLoader, genericPGPuzzleLoader } from \"./async/async-pg3d\";\nimport { cube2x2x2 } from \"./implementations/2x2x2\";\nimport { cube3x3x3 } from \"./implementations/3x3x3\";\nimport { clock } from \"./implementations/clock\";\nimport { fto } from \"./implementations/fto\";\nimport { megaminx } from \"./implementations/megaminx\";\nimport { pyraminx } from \"./implementations/pyraminx\";\nimport { square1 } from \"./implementations/square1\";\nimport type { PuzzleLoader } from \"./PuzzleLoader\";\n\nexport type { PuzzleLoader };\n\nexport const puzzles: Record<string, PuzzleLoader> = {\n /******** Start of WCA Puzzles *******/\n \"3x3x3\": cube3x3x3,\n \"2x2x2\": cube2x2x2,\n \"4x4x4\": cubePGPuzzleLoader(\"4x4x4\", \"4\u00D74\u00D74 Cube\"),\n \"5x5x5\": cubePGPuzzleLoader(\"5x5x5\", \"5\u00D75\u00D75 Cube\"),\n \"6x6x6\": cubePGPuzzleLoader(\"6x6x6\", \"6\u00D76\u00D76 Cube\"),\n \"7x7x7\": cubePGPuzzleLoader(\"7x7x7\", \"7\u00D77\u00D77 Cube\"),\n \"40x40x40\": cubePGPuzzleLoader(\"40x40x40\", \"40\u00D740\u00D740 Cube\"),\n // 3x3x3 Blindfolded\n // 3x3x3 Fewest Moves\n // 3x3x3 One-Handed\n clock,\n \"megaminx\": megaminx,\n pyraminx,\n \"skewb\": genericPGPuzzleLoader(\"skewb\", \"Skewb\", {\n inventedBy: [\"Tony Durham\"], // https://www.jaapsch.net/puzzles/skewb.htm\n // inventionYear: 1982, // 1982 is actually the year of Hofstadter's column.\n }),\n square1,\n // 4x4x4 Blindfolded\n // 5x5x5 Blindfolded\n /******** End of WCA puzzles ********/\n \"fto\": fto,\n \"gigaminx\": genericPGPuzzleLoader(\"gigaminx\", \"Gigaminx\", {\n inventedBy: [\"Tyler Fox\"],\n inventionYear: 2006, // Earliest date from https://www.twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1475\n }),\n \"master_tetraminx\": genericPGPuzzleLoader(\n \"master tetraminx\",\n \"Master Tetraminx\",\n {\n inventedBy: [\"Katsuhiko Okamoto\"], // Using master pyraminx: https://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1352\n inventionYear: 2002, // Using master pyraminx: https://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1352\n },\n ),\n};\n\nexport { cube2x2x2, cube3x3x3 };\n\nexport { getFaceletAppearance as experimentalGetFaceletAppearance } from \"./stickerings/appearance\";\nexport type {\n FaceletMeshAppearance as ExperimentalFaceletMeshAppearance,\n PuzzleAppearance as ExperimentalPuzzleAppearance,\n} from \"./stickerings/appearance\";\n\ninterface WCAEventInfo {\n puzzleID: PuzzleID;\n eventName: string;\n}\n\nconst wcaEvents: Record<string, WCAEventInfo> = {\n \"333\": { puzzleID: \"3x3x3\", eventName: \"3x3x3 Cube\" },\n \"222\": { puzzleID: \"2x2x2\", eventName: \"2x2x2 Cube\" },\n \"444\": { puzzleID: \"4x4x4\", eventName: \"4x4x4 Cube\" },\n \"555\": { puzzleID: \"5x5x5\", eventName: \"5x5x5 Cube\" },\n \"666\": { puzzleID: \"6x6x6\", eventName: \"6x6x6 Cube\" },\n \"777\": { puzzleID: \"7x7x7\", eventName: \"7x7x7 Cube\" },\n \"333bf\": { puzzleID: \"3x3x3\", eventName: \"3x3x3 Blindfolded\" },\n \"333fm\": { puzzleID: \"3x3x3\", eventName: \"3x3x3 Fewest Moves\" },\n \"333oh\": { puzzleID: \"3x3x3\", eventName: \"3x3x3 One-Handed\" },\n \"clock\": { puzzleID: \"clock\", eventName: \"Clock\" },\n \"minx\": { puzzleID: \"megaminx\", eventName: \"Megaminx\" },\n \"pyram\": { puzzleID: \"pyraminx\", eventName: \"Pyraminx\" },\n \"skewb\": { puzzleID: \"skewb\", eventName: \"Skewb\" },\n \"sq1\": { puzzleID: \"square1\", eventName: \"Square-1\" },\n \"444bf\": { puzzleID: \"4x4x4\", eventName: \"4x4x4 Blindfolded\" },\n \"555bf\": { puzzleID: \"5x5x5\", eventName: \"5x5x5 Blindfolded\" },\n \"333mb\": { puzzleID: \"3x3x3\", eventName: \" 3x3x3 Multi-Blind\" },\n};\n\nexport function wcaEventInfo(event: string): WCAEventInfo | null {\n return wcaEvents[event] ?? null;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSGS
3
- } from "./chunk-XVZOMB6J.js";
3
+ } from "./chunk-27KJGD3S.js";
4
4
  import {
5
5
  puzzles
6
- } from "./chunk-DK6PXBB2.js";
6
+ } from "./chunk-2IHGN4YF.js";
7
7
 
8
8
  // src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts
9
9
  var cachedData = null;
@@ -16,7 +16,7 @@ async function sgsDataPyraminxFixedOrientation() {
16
16
  };
17
17
  }
18
18
  async function uncachedSGSDataPyraminx() {
19
- return parseSGS(await puzzles.pyraminx.def(), `SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3
19
+ return parseSGS(await puzzles.pyraminx.kpuzzle(), `SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3
20
20
 
21
21
  Alg B
22
22
  Alg B'
@@ -100,4 +100,4 @@ export {
100
100
  sgsDataPyraminx,
101
101
  sgsDataPyraminxFixedOrientation
102
102
  };
103
- //# sourceMappingURL=chunk-Z6X7HTPP.js.map
103
+ //# sourceMappingURL=chunk-5HKJRHTE.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cubing/search/inside/solve/puzzles/pyraminx.sgs.json.ts"],
4
- "sourcesContent": ["import { puzzles } from \"../../../../puzzles\";\nimport { parseSGS, SGSCachedData } from \"../parseSGS\";\n\nlet cachedData: Promise<SGSCachedData> | null = null;\nexport async function sgsDataPyraminx() {\n return (cachedData ??= uncachedSGSDataPyraminx());\n}\n\nexport async function sgsDataPyraminxFixedOrientation(): Promise<SGSCachedData> {\n return {\n ordering: (await sgsDataPyraminx()).ordering.slice(2),\n };\n}\n\n// TODO: Reduce info.\nasync function uncachedSGSDataPyraminx(): Promise<SGSCachedData> {\n return parseSGS(\n await puzzles.pyraminx.def(),\n `SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3\n\nAlg B\nAlg B'\nAlg y\nAlg B y\nAlg B' y\nAlg y'\nAlg B y'\nAlg B' y'\nAlg BR'\nAlg B BR'\nAlg B' BR'\n\nAlg L\nAlg L'\nAlg L F\nAlg L' F\nAlg F\nAlg L F'\nAlg L' F'\nAlg F'\n\nAlg L B' U L' B\nAlg L U L'\nAlg L U' L'\nAlg L U L' U'\nAlg B' U B\nAlg B' U' B\nAlg B' U' B U\nAlg L U' L' R\nAlg L U' L' R'\nAlg L' R' L\nAlg L' R' L R\n\nAlg R\nAlg R'\n\nAlg R' U R\nAlg R' U' R\nAlg R' U R U'\nAlg B U B'\nAlg B U' B'\nAlg R B' R' B\nAlg L R L' R U' R\nAlg R L R' L'\nAlg L' R' U R L\n\nAlg U\nAlg U'\n\nAlg R U R' U'\nAlg U R U' R'\nAlg L' U' L U\nAlg U' L' U L\nAlg U L R' L' R U'\nAlg U' R' L R L' U\nAlg L' U' L U' R U' R'\n\nAlg R U' R' U\nAlg L' U L U'\nAlg U' R U R'\nAlg U L' U' L\nAlg L R' L' R L' U L U'\n\nAlg L' U L U' L R' L' R\n\nAlg b\nAlg b'\n\nAlg l\nAlg l'\n\nAlg r\nAlg r'\n\nAlg u\nAlg u'`,\n );\n}\n"],
5
- "mappings": ";;;;;;;;AAGA,IAAI,aAA4C;AAChD,iCAAwC;AACtC,SAAQ,4BAAe;AAAA;AAGzB,iDAAgF;AAC9E,SAAO;AAAA,IACL,UAAW,OAAM,mBAAmB,SAAS,MAAM;AAAA;AAAA;AAKvD,yCAAiE;AAC/D,SAAO,SACL,MAAM,QAAQ,SAAS,OACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "sourcesContent": ["import { puzzles } from \"../../../../puzzles\";\nimport { parseSGS, SGSCachedData } from \"../parseSGS\";\n\nlet cachedData: Promise<SGSCachedData> | null = null;\nexport async function sgsDataPyraminx() {\n return (cachedData ??= uncachedSGSDataPyraminx());\n}\n\nexport async function sgsDataPyraminxFixedOrientation(): Promise<SGSCachedData> {\n return {\n ordering: (await sgsDataPyraminx()).ordering.slice(2),\n };\n}\n\n// TODO: Reduce info.\nasync function uncachedSGSDataPyraminx(): Promise<SGSCachedData> {\n return parseSGS(\n await puzzles.pyraminx.kpuzzle(),\n `SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3\n\nAlg B\nAlg B'\nAlg y\nAlg B y\nAlg B' y\nAlg y'\nAlg B y'\nAlg B' y'\nAlg BR'\nAlg B BR'\nAlg B' BR'\n\nAlg L\nAlg L'\nAlg L F\nAlg L' F\nAlg F\nAlg L F'\nAlg L' F'\nAlg F'\n\nAlg L B' U L' B\nAlg L U L'\nAlg L U' L'\nAlg L U L' U'\nAlg B' U B\nAlg B' U' B\nAlg B' U' B U\nAlg L U' L' R\nAlg L U' L' R'\nAlg L' R' L\nAlg L' R' L R\n\nAlg R\nAlg R'\n\nAlg R' U R\nAlg R' U' R\nAlg R' U R U'\nAlg B U B'\nAlg B U' B'\nAlg R B' R' B\nAlg L R L' R U' R\nAlg R L R' L'\nAlg L' R' U R L\n\nAlg U\nAlg U'\n\nAlg R U R' U'\nAlg U R U' R'\nAlg L' U' L U\nAlg U' L' U L\nAlg U L R' L' R U'\nAlg U' R' L R L' U\nAlg L' U' L U' R U' R'\n\nAlg R U' R' U\nAlg L' U L U'\nAlg U' R U R'\nAlg U L' U' L\nAlg L R' L' R L' U L U'\n\nAlg L' U L U' L R' L' R\n\nAlg b\nAlg b'\n\nAlg l\nAlg l'\n\nAlg r\nAlg r'\n\nAlg u\nAlg u'`,\n );\n}\n"],
5
+ "mappings": ";;;;;;;;AAGA,IAAI,aAA4C;AAChD,iCAAwC;AACtC,SAAQ,4BAAe;AAAA;AAGzB,iDAAgF;AAC9E,SAAO;AAAA,IACL,UAAW,OAAM,mBAAmB,SAAS,MAAM;AAAA;AAAA;AAKvD,yCAAiE;AAC/D,SAAO,SACL,MAAM,QAAQ,SAAS,WACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -3,11 +3,10 @@ import {
3
3
  } from "./chunk-37EHU3GZ.js";
4
4
  import {
5
5
  puzzles
6
- } from "./chunk-DK6PXBB2.js";
6
+ } from "./chunk-2IHGN4YF.js";
7
7
  import {
8
- KPuzzle,
9
- areOrbitTransformationsEquivalent
10
- } from "./chunk-X6JHXPDX.js";
8
+ KState
9
+ } from "./chunk-Z36TNZT2.js";
11
10
  import {
12
11
  Alg,
13
12
  AlgBuilder,
@@ -104,15 +103,15 @@ function rotateLeft(s, i) {
104
103
  function toReid333Struct(state) {
105
104
  const output = [[], []];
106
105
  for (let i = 0; i < 6; i++) {
107
- if (state["CENTERS"].permutation[i] !== i) {
106
+ if (state.stateData["CENTERS"].pieces[i] !== i) {
108
107
  throw new Error("non-oriented puzzles are not supported");
109
108
  }
110
109
  }
111
110
  for (let i = 0; i < 12; i++) {
112
- output[0].push(rotateLeft(reidEdgeOrder[state["EDGES"].permutation[i]], state["EDGES"].orientation[i]));
111
+ output[0].push(rotateLeft(reidEdgeOrder[state.stateData["EDGES"].pieces[i]], state.stateData["EDGES"].orientation[i]));
113
112
  }
114
113
  for (let i = 0; i < 8; i++) {
115
- output[1].push(rotateLeft(reidCornerOrder[state["CORNERS"].permutation[i]], state["CORNERS"].orientation[i]));
114
+ output[1].push(rotateLeft(reidCornerOrder[state.stateData["CORNERS"].pieces[i]], state.stateData["CORNERS"].orientation[i]));
116
115
  }
117
116
  output.push(centerOrder);
118
117
  return output;
@@ -123,26 +122,33 @@ function toMin2PhaseState(state) {
123
122
  }
124
123
 
125
124
  // src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts
126
- function isEquivalentTranformationIgnoringCENTERS(def, t1, t2) {
127
- for (const orbitName in def.orbits) {
128
- if (!areOrbitTransformationsEquivalent(def, orbitName, t1, t2, {
129
- ignoreOrientation: orbitName === "CENTERS"
130
- })) {
131
- return false;
125
+ function isEquivalentTranformationIgnoringCENTERS(t1, t2) {
126
+ const t1NoCenterOri = new KState(t1.kpuzzle, {
127
+ EDGES: t1.stateData.EDGES,
128
+ CORNERS: t1.stateData.CORNERS,
129
+ CENTERS: {
130
+ pieces: t1.stateData.CENTERS.pieces,
131
+ orientation: new Array(6).fill(0)
132
132
  }
133
- }
134
- return true;
133
+ }).experimentalToTransformation();
134
+ const t2NoCenterOri = new KState(t2.kpuzzle, {
135
+ EDGES: t2.stateData.EDGES,
136
+ CORNERS: t2.stateData.CORNERS,
137
+ CENTERS: {
138
+ pieces: t2.stateData.CENTERS.pieces,
139
+ orientation: new Array(6).fill(0)
140
+ }
141
+ }).experimentalToTransformation();
142
+ return t1NoCenterOri.isIdentical(t2NoCenterOri);
135
143
  }
136
- function passesFilter(def, state) {
137
- const kpuzzle = new KPuzzle(def);
138
- if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {
144
+ function passesFilter(kpuzzle, state) {
145
+ if (isEquivalentTranformationIgnoringCENTERS(kpuzzle.startState(), state)) {
139
146
  return false;
140
147
  }
141
148
  for (const face of "ULFRBD") {
142
149
  for (let amount = 1; amount < 4; amount++) {
143
- kpuzzle.reset();
144
- kpuzzle.applyMove(new Move(face, amount));
145
- if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {
150
+ const transformation = kpuzzle.moveToTransformation(new Move(face, amount)).toKState();
151
+ if (isEquivalentTranformationIgnoringCENTERS(transformation, state)) {
146
152
  return false;
147
153
  }
148
154
  }
@@ -444,15 +450,15 @@ var sgs3x3x3 = [
444
450
 
445
451
  // src/cubing/search/inside/solve/puzzles/3x3x3/index.ts
446
452
  async function random333State() {
447
- const def = await puzzles["3x3x3"].def();
448
- const kpuzzle = new KPuzzle(def);
453
+ const kpuzzle = await puzzles["3x3x3"].kpuzzle();
454
+ let state = kpuzzle.startState();
449
455
  for (const piece of sgs3x3x3) {
450
- kpuzzle.applyAlg(Alg.fromString((await randomChoiceFactory())(piece)));
456
+ state = state.applyAlg(Alg.fromString((await randomChoiceFactory())(piece)));
451
457
  }
452
- if (!passesFilter(def, kpuzzle.state)) {
458
+ if (!passesFilter(kpuzzle, state)) {
453
459
  return random333State();
454
460
  }
455
- return kpuzzle.state;
461
+ return state;
456
462
  }
457
463
  var cachedImport = null;
458
464
  function dynamicMin2phaseGWT() {
@@ -496,4 +502,4 @@ export {
496
502
  random333OrientedScramble,
497
503
  random333FewestMovesScramble
498
504
  };
499
- //# sourceMappingURL=chunk-FK2SCC3Z.js.map
505
+ //# sourceMappingURL=chunk-NMODRU23.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/search/inside/inside-worker.ts", "../../src/cubing/search/inside/solve/addOrientationSuffix.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/index.ts"],
4
+ "sourcesContent": ["let isInsideWorker = false;\n\nexport function setIsInsideWorker(inside: boolean) {\n isInsideWorker = inside;\n}\n\nexport function mustBeInsideWorker(): void {\n if (!isInsideWorker) {\n throw new Error(\n \"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\",\n );\n }\n}\n", "import { Alg, AlgBuilder, Move } from \"../../../alg\";\nimport { randomChoiceFactory } from \"../../../vendor/random-uint-below\";\n\nexport async function addOrientationSuffix(\n alg: Alg,\n suffixSpec: (null | string)[][],\n): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n algBuilder.experimentalPushAlg(alg);\n for (const suffix of suffixSpec) {\n const choice = ((await randomChoiceFactory()) as any)(suffix);\n if (choice !== null) {\n algBuilder.push(Move.fromString(choice));\n }\n }\n return algBuilder.toAlg();\n}\n", "/*\n\nFace order:\n\n U\nLFRB\n D\n\n | 0| 1| 2|\n | 3| 4| 5|\n | 6| 7| 8|\n| 9|10|11|18|19|20|27|28|29|36|37|38|\n|12|13|14|21|22|23|30|31|32|39|40|41|\n|15|16|17|24|25|26|33|34|35|42|43|44|\n |45|46|47|\n |48|49|50|\n |51|52|53|\n*/\n\nimport type { KState } from \"../../../../../kpuzzle/KState\";\n\nconst reidEdgeOrder = \"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \");\nconst reidCornerOrder = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\nconst centerOrder = \"U L F R B D\".split(\" \");\n\n// const stickers = [reidEdgeOrder, reidCornerOrder, centerOrder];\n\n// /*\n// |1 20|0 20|1 10|\n// |0 30|2 00|0 10|\n// |1 30|0 00|1 00|\n// |1 22|0 31|1 31|1 32|0 01|1 01|1 02|0 11|1 11|1 12|0 21|1 21|\n// |0111|2 10|0 91|0 90|2 20|0 80|0 81|2 30|0101|0100|2 40|0110|\n// |1 61|0 71|1 52|1 51|0 41|1 42|1 41|0 51|1 72|1 71|0 61|1 62|\n// |1 50|0 40|1 40|\n// |0 70|2 50|0 50|\n// |1 60|0 60|1 70|\n// */\n\nconst map: [number, number, number][] = [\n [1, 2, 0],\n [0, 2, 0],\n [1, 1, 0],\n [0, 3, 0],\n [2, 0, 0],\n [0, 1, 0],\n [1, 3, 0],\n [0, 0, 0],\n [1, 0, 0],\n [1, 0, 2],\n [0, 1, 1],\n [1, 1, 1],\n [0, 8, 1],\n [2, 3, 0],\n [0, 10, 1],\n [1, 4, 1],\n [0, 5, 1],\n [1, 7, 2],\n [1, 3, 2],\n [0, 0, 1],\n [1, 0, 1],\n [0, 9, 0],\n [2, 2, 0],\n [0, 8, 0],\n [1, 5, 1],\n [0, 4, 1],\n [1, 4, 2],\n [1, 5, 0],\n [0, 4, 0],\n [1, 4, 0],\n [0, 7, 0],\n [2, 5, 0],\n [0, 5, 0],\n [1, 6, 0],\n [0, 6, 0],\n [1, 7, 0],\n [1, 2, 2],\n [0, 3, 1],\n [1, 3, 1],\n [0, 11, 1],\n [2, 1, 0],\n [0, 9, 1],\n [1, 6, 1],\n [0, 7, 1],\n [1, 5, 2],\n [1, 1, 2],\n [0, 2, 1],\n [1, 2, 1],\n [0, 10, 0],\n [2, 4, 0],\n [0, 11, 0],\n [1, 7, 1],\n [0, 6, 1],\n [1, 6, 2],\n];\n\nfunction rotateLeft(s: string, i: number): string {\n return s.slice(i) + s.slice(0, i);\n}\n\nfunction toReid333Struct(state: KState): string[][] {\n const output: string[][] = [[], []];\n for (let i = 0; i < 6; i++) {\n if (state.stateData[\"CENTERS\"].pieces[i] !== i) {\n throw new Error(\"non-oriented puzzles are not supported\");\n }\n }\n for (let i = 0; i < 12; i++) {\n output[0].push(\n rotateLeft(\n reidEdgeOrder[state.stateData[\"EDGES\"].pieces[i]],\n state.stateData[\"EDGES\"].orientation[i],\n ),\n );\n }\n for (let i = 0; i < 8; i++) {\n output[1].push(\n rotateLeft(\n reidCornerOrder[state.stateData[\"CORNERS\"].pieces[i]],\n state.stateData[\"CORNERS\"].orientation[i],\n ),\n );\n }\n output.push(centerOrder);\n return output;\n}\n\n// function toReid333String(state: Transformation): string {\n// return toReid333Struct(state)\n// .map((l) => l.join(\" \"))\n// .join(\" \");\n// }\n\nexport function toMin2PhaseState(state: KState): string {\n const reid = toReid333Struct(state);\n return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join(\"\");\n}\n", "import { Move } from \"../../../../../alg\";\nimport type { KPuzzle } from \"../../../../../kpuzzle\";\nimport { KState } from \"../../../../../kpuzzle\";\n\nexport function isEquivalentTranformationIgnoringCENTERS(\n t1: KState,\n t2: KState,\n): boolean {\n const t1NoCenterOri = new KState(t1.kpuzzle, {\n EDGES: t1.stateData.EDGES,\n CORNERS: t1.stateData.CORNERS,\n CENTERS: {\n pieces: t1.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n const t2NoCenterOri = new KState(t2.kpuzzle, {\n EDGES: t2.stateData.EDGES,\n CORNERS: t2.stateData.CORNERS,\n CENTERS: {\n pieces: t2.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n return t1NoCenterOri.isIdentical(t2NoCenterOri);\n}\n\nexport function passesFilter(kpuzzle: KPuzzle, state: KState): boolean {\n if (isEquivalentTranformationIgnoringCENTERS(kpuzzle.startState(), state)) {\n return false;\n }\n\n for (const face of \"ULFRBD\") {\n for (let amount = 1; amount < 4; amount++) {\n const transformation = kpuzzle\n .moveToTransformation(new Move(face, amount))\n .toKState();\n if (isEquivalentTranformationIgnoringCENTERS(transformation, state)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n// TODO: implement tests\n// {\n// const def = await puzzles[\"3x3x3\"].def();\n// const kpuzzle = new KPuzzle(def);\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"R\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"D\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.reset();\n// kpuzzle.applyAlg(parse(\"(R' U' R U')5\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// }\n", "// TODO: Verify\nexport const sgs3x3x3: string[][] = [\n [\n \"R U'\",\n \"R2 B\", //\n \"D2 B2\",\n \"D' L B'\", //\n \"R' U'\",\n \"B\", //\n \"D B2\",\n \"R' B\", //\n \"L' U\",\n \"L2 B'\", //\n \"B2\",\n \"D L B'\", //\n \"L U\",\n \"B'\", //\n \"U'\",\n \"R B\", //\n \"D' B2\",\n \"L B'\", //\n \"U2\",\n \"U L' B'\", //\n \"\",\n \"U' L' B'\", //\n \"U\",\n \"L' B'\",\n ],\n [\n \"F2 L2\",\n \"F' L'\",\n \"R' F L2\", //\n \"D' L2\",\n \"F L2\",\n \"F2 L'\", //\n \"R' F' L'\",\n \"R2 F L2\",\n \"R2 F2 L'\", //\n \"L2\",\n \"F L'\",\n \"D' L\", //\n \"D2 L2\",\n \"R2 F' L'\",\n \"D L\", //\n \"\",\n \"L2 F L'\",\n \"L F' L2\", //\n \"L F L'\",\n \"F' L2\",\n \"L'\", //\n \"D L2\",\n \"D F L'\",\n \"L\",\n ],\n [\n \"R B U2 B'\",\n \"R2 B U' B'\", //\n \"F2 B U B'\",\n \"F B2 L' B2\", //\n \"B2 L B2\",\n \"B U' B'\", //\n \"R2 B U2 B'\",\n \"R' B U' B'\", //\n \"B2 L' B2\",\n \"F B U B'\", //\n \"B2 U' B2\",\n \"B' L B\", //\n \"L F' B D' B'\",\n \"B' U' B2 D B'\", //\n \"B U2 B'\",\n \"R B U' B'\", //\n \"B2 L2 B2\",\n \"D' B' L B\", //\n \"B U B'\",\n \"F' B2 L' B2\", //\n \"\",\n \"B2 L' B' U' B'\",\n ],\n [\n \"U F2 L2 U'\",\n \"F' U L' U'\", //\n \"F2 U L' U'\",\n \"U F L2 U'\", //\n \"U2 B2 U2\",\n \"R' U' B U\", //\n \"D2 U L U'\",\n \"D U2 B' U2\", //\n \"U L2 U'\",\n \"F U L' U'\", //\n \"D U L U'\",\n \"U2 B' U2\", //\n \"\",\n \"U2 B' U' L' U'\", //\n \"U2 L' U2\",\n \"U' B U\", //\n \"U L U'\",\n \"D' U2 B' U2\", //\n \"U L' U'\",\n \"U2 B U2\",\n ],\n [\n \"R' D' F2\",\n \"F'\", //\n \"F2\",\n \"D R F'\", //\n \"R D' F2\",\n \"R2 F'\", //\n \"D' F2\",\n \"R F'\", //\n \"F2 R' D' F2\",\n \"F\", //\n \"D2 F2\",\n \"D' R F'\", //\n \"R2 D' F2\",\n \"R' F'\", //\n \"D F2\",\n \"D2 R F'\", //\n \"\",\n \"F R' D' F2\",\n ],\n [\n \"R' D2 F' D F\",\n \"R F2 R2 F2\",\n \"R2 F' D2 F\", //\n \"F' R2 D2 F\",\n \"L D' L'\",\n \"D F' D2 F\", //\n \"F2 R2 F2\",\n \"R F' D2 F\",\n \"F' R2 D' F\", //\n \"F' R' D2 F\",\n \"F2 R' F2\",\n \"L D L'\", //\n \"F' R D' F\",\n \"F2 R F2\",\n \"F' D2 F\", //\n \"\",\n \"L D2 R D' L'\",\n \"F' D2 F' R F2\", //\n \"D2 R2 F2 R2 F2\",\n \"D F' D' F\",\n \"F' D F\",\n ],\n [\n \"U F2 U'\",\n \"R U F' U'\", //\n \"D R U F2 U'\",\n \"U F U'\", //\n \"R2 U F2 U'\",\n \"R' U F' U'\", //\n \"R U F2 U'\",\n \"R2 U F' U'\", //\n \"\",\n \"U L D L' F U'\", //\n \"F2 D' R D F2\",\n \"D2 U F U'\", //\n \"R' U F2 U'\",\n \"U F' U'\", //\n \"F2 D2 R D2 F2\",\n \"D U F U'\",\n ],\n [\n \"R2\",\n \"R' B' D B\", //\n \"D R'\",\n \"F' R2 F\", //\n \"\",\n \"R B' D B\", //\n \"R'\",\n \"B' D B\", //\n \"D' R'\",\n \"D2 F' R2 F\", //\n \"R\",\n \"R2 B' D B\", //\n \"D2 R'\",\n \"B' D' B\",\n ],\n [\n \"R2 D' R2\",\n \"F' R' F R\",\n \"R D' R2 D R'\", //\n \"D2 R2 D2 R2\",\n \"R' D' F' R F\",\n \"U F D F' U'\", //\n \"\",\n \"R2 D2 B R' B' R'\",\n \"R' F D' F2 R F\", //\n \"R2 D R2\",\n \"F2 U F U' F\",\n \"R' D F' R F\", //\n \"D R2 D2 R2\",\n \"U F D' F' U'\",\n \"D R' D2 F' R F\", //\n \"R2 D2 R2\",\n \"U F D2 F' U'\",\n \"R' D2 F' R F\",\n ],\n [\n \"B R B'\",\n \"F D F' B R2 B'\", //\n \"D B R2 B'\",\n \"D2 B R' B'\", //\n \"B R2 B'\",\n \"D B R' B'\", //\n \"D' B R2 B'\",\n \"B R' B'\", //\n \"\",\n \"B R2 B' D B R' B'\", //\n \"D2 B R2 B'\",\n \"D' B R' B'\",\n ],\n [\n \"\",\n \"R' D R F D2 F'\", //\n \"R' D R\",\n \"D F D' F'\", //\n \"R F' R' F\",\n \"F D' F'\", //\n \"R' D' R\",\n \"F D2 F'\", //\n \"R' D2 R\",\n \"F D F'\",\n ],\n [\n \"\",\n \"F2 D2 R F' R' D2 F' D2 F'\",\n \"F2 D2 F' D' F D' F' D2 F'\", //\n \"F2 D F2 D F2 D2 F2\",\n \"D2 F L D2 L' D2 F'\",\n \"D F D2 L D2 L' F'\", //\n \"R' D B' D2 B D' R\",\n \"R' D2 B' D2 B R\",\n \"F D2 F' D F D F'\", //\n \"F D' L D2 L' D F'\",\n \"B D' F D B' D' F'\",\n \"F D2 L D2 L' F'\", //\n \"F D' L D L' D F'\",\n \"F L D2 L' D2 F'\",\n \"R' B' D2 B D2 R\",\n ],\n [\n \"D'\",\n \"F L D L' D' F'\", //\n \"D2\",\n \"L B D B' D' L'\", //\n \"D\",\n \"B' L' D' L D B\", //\n \"\",\n \"D F L D L' D' F'\",\n ],\n [\n \"F' D2 F D F' D F\",\n \"F' D' R' D R F\", //\n \"F' R' D' R D F\",\n \"B D R D' R' B'\", //\n \"\",\n \"D B' D' L' D L B\",\n ],\n [\n \"D F D F' D F D2 F'\",\n \"F' U2 B' R' B U2 F' L F' L' F'\", //\n \"\",\n \"D2 L D L2 F L F2 D F\",\n ],\n [\n \"L B' L' F L B L' F'\",\n \"F2 U F' D2 F U' F' D2 F'\",\n \"D' F' D B D' F D B'\", //\n \"F L2 F R2 F' L2 F R2 F2\",\n \"D B D' F' D B' D' F\",\n \"R F L F' R' F L' F'\", //\n \"\",\n \"D2 B L' U2 L B' D2 B L' U2 L B'\",\n \"D2 F R' U2 R F' D2 F R' U2 R F'\", //\n \"R F L' F' R' F L F'\",\n \"D F D' B' D F' D' B\",\n \"L2 F2 L' B2 L F2 L' B2 L'\",\n ],\n [\n \"L B R' B' L' B R B'\",\n \"R' B R F' R' B' R F\",\n \"L D2 L U L' D2 L U' L2\", //\n \"\",\n \"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\n \"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\", //\n \"L B L' F L B' L' F'\",\n \"F' D2 F' U' F D2 F' U F2\",\n \"D' B' D F D' B D F'\",\n ],\n [\"\", \"D2 F' L U2 L' F D2 F' L U2 L' F\", \"D2 B' R U2 R' B D2 B' R U2 R' B\"],\n];\n", "import { Alg, AlgBuilder } from \"../../../../../alg\";\nimport type { KState } from \"../../../../../kpuzzle/KState\";\nimport { puzzles } from \"../../../../../puzzles\";\nimport { randomChoiceFactory } from \"../../../../../vendor/random-uint-below\";\nimport { mustBeInsideWorker } from \"../../../inside-worker\";\nimport { addOrientationSuffix } from \"../../addOrientationSuffix\";\nimport { toMin2PhaseState } from \"./convert\";\nimport { passesFilter } from \"./filter\";\nimport { sgs3x3x3 } from \"./legacy-sgs\";\n\nexport async function random333State(): Promise<KState> {\n const kpuzzle = await puzzles[\"3x3x3\"].kpuzzle();\n let state = kpuzzle.startState();\n for (const piece of sgs3x3x3) {\n state = state.applyAlg(\n Alg.fromString(((await randomChoiceFactory()) as any)(piece)),\n );\n }\n if (!passesFilter(kpuzzle, state)) {\n return random333State();\n }\n return state;\n}\n\nlet cachedImport: Promise<\n typeof import(\"../../../../../vendor/min2phase/gwt\")\n> | null = null;\nfunction dynamicMin2phaseGWT(): Promise<\n typeof import(\"../../../../../vendor/min2phase/gwt\")\n> {\n return (cachedImport ??= import(\"../../../../../vendor/min2phase/gwt\"));\n}\n\nexport async function solve333(s: KState): Promise<Alg> {\n mustBeInsideWorker();\n return Alg.fromString(\n (await dynamicMin2phaseGWT()).solveState(toMin2PhaseState(s)),\n );\n}\n\nexport async function random333Scramble(): Promise<Alg> {\n return solve333(await random333State());\n}\n\nexport async function initialize333(): Promise<void> {\n (await dynamicMin2phaseGWT()).initialize();\n}\n\nconst randomSuffixes = [\n [null, \"Rw\", \"Rw2\", \"Rw'\", \"Fw\", \"Fw'\"],\n [null, \"Dw\", \"Dw2\", \"Dw'\"],\n];\n\nexport async function random333OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random333Scramble(), randomSuffixes);\n}\n\nconst extraBit = new Alg(\"R' U' F\");\nexport async function random333FewestMovesScramble(): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n const unorientedScramble = await random333Scramble();\n algBuilder.experimentalPushAlg(extraBit);\n // TODO:Avoid cancellable moves.\n algBuilder.experimentalPushAlg(unorientedScramble);\n algBuilder.experimentalPushAlg(extraBit);\n return algBuilder.toAlg();\n}\n"],
5
+ "mappings": "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;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,CAAC,IAAI,mCAAmC;AAAA;;;ACvR1C,gCAAwD;AACtD,QAAM,UAAU,MAAM,QAAQ,SAAS;AACvC,MAAI,QAAQ,QAAQ;AACpB,aAAW,SAAS,UAAU;AAC5B,YAAQ,MAAM,SACZ,IAAI,WAAa,OAAM,uBAA+B;AAAA;AAG1D,MAAI,CAAC,aAAa,SAAS,QAAQ;AACjC,WAAO;AAAA;AAET,SAAO;AAAA;AAGT,IAAI,eAEO;AACX,+BAEE;AACA,SAAQ,gCAAiB,OAAO;AAAA;AAGlC,wBAA+B,GAAyB;AACtD;AACA,SAAO,IAAI,WACR,OAAM,uBAAuB,WAAW,iBAAiB;AAAA;AAI9D,mCAAwD;AACtD,SAAO,SAAS,MAAM;AAAA;AAGxB,+BAAqD;AACnD,EAAC,OAAM,uBAAuB;AAAA;AAGhC,IAAM,iBAAiB;AAAA,EACrB,CAAC,MAAM,MAAM,OAAO,OAAO,MAAM;AAAA,EACjC,CAAC,MAAM,MAAM,OAAO;AAAA;AAGtB,2CAAgE;AAC9D,SAAO,qBAAqB,MAAM,qBAAqB;AAAA;AAGzD,IAAM,WAAW,IAAI,IAAI;AACzB,8CAAmE;AACjE,QAAM,aAAa,IAAI;AACvB,QAAM,qBAAqB,MAAM;AACjC,aAAW,oBAAoB;AAE/B,aAAW,oBAAoB;AAC/B,aAAW,oBAAoB;AAC/B,SAAO,WAAW;AAAA;",
6
+ "names": []
7
+ }