cubing 0.21.0-pre8 → 0.21.2

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 (311) hide show
  1. package/{src/cubing/search/inside/solve → dist}/.DS_Store +0 -0
  2. package/dist/bin/puzzle-geometry-bin.js +1 -1
  3. package/dist/bin/puzzle-geometry-bin.js.map +2 -2
  4. package/dist/bundle-global/cubing.bundle-global.js +876 -797
  5. package/dist/esm/{3d-TYWC5MQY.js → 3d-B25DP5PE.js} +3 -3
  6. package/dist/esm/{3d-TYWC5MQY.js.map → 3d-B25DP5PE.js.map} +0 -0
  7. package/dist/esm/bluetooth/index.js +1 -1
  8. package/dist/esm/bluetooth/index.js.map +1 -1
  9. package/dist/esm/{chunk-6BXLPCNQ.js → chunk-APIIMJG6.js} +98 -95
  10. package/dist/esm/chunk-APIIMJG6.js.map +7 -0
  11. package/dist/esm/{chunk-HUPF5GPN.js → chunk-CSVAFZSB.js} +3 -3
  12. package/dist/esm/{chunk-HUPF5GPN.js.map → chunk-CSVAFZSB.js.map} +0 -0
  13. package/dist/esm/{chunk-L6K5FKPV.js → chunk-MUQMBH2S.js} +48 -26
  14. package/dist/esm/{chunk-L6K5FKPV.js.map → chunk-MUQMBH2S.js.map} +2 -2
  15. package/dist/esm/puzzle-geometry/index.js +1 -1
  16. package/dist/esm/puzzle-geometry/index.js.map +2 -2
  17. package/dist/esm/puzzles/index.js +5 -5
  18. package/dist/esm/scramble/index.js +2 -2
  19. package/dist/esm/search/index.js +2 -2
  20. package/dist/esm/twisty/index.js +313 -78
  21. package/dist/esm/twisty/index.js.map +3 -3
  22. package/dist/esm/{worker-inside-generated-string-DOHINKQX.js → worker-inside-generated-string-KDZOUGJF.js} +20 -20
  23. package/dist/esm/worker-inside-generated-string-KDZOUGJF.js.map +7 -0
  24. package/{src/cubing/search/inside/solve/vendor/cstimer → dist/types}/.DS_Store +0 -0
  25. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +1 -1
  26. package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +1 -1
  27. package/dist/types/cubing.bundle-global.d.ts +1 -24
  28. package/dist/types/cubing.bundle-global.d.ts.map +1 -1
  29. package/dist/types/puzzles/implementations/fto/index.d.ts +2 -2
  30. package/dist/types/puzzles/implementations/fto/index.d.ts.map +1 -1
  31. package/dist/types/puzzles/index.d.ts +5 -1
  32. package/dist/types/puzzles/index.d.ts.map +1 -1
  33. package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +1 -1
  34. package/dist/types/search/inside/api.d.ts.map +1 -1
  35. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  36. package/dist/types/search/worker-inside-generated-string.d.ts.map +1 -1
  37. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +4 -1
  38. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +1 -1
  39. package/dist/types/twisty/index.d.ts +3 -2
  40. package/dist/types/twisty/index.d.ts.map +1 -1
  41. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +41 -37
  42. package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +1 -1
  43. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +11 -0
  44. package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +1 -0
  45. package/dist/types/twisty/model/{TwistyProp.d.ts → props/TwistyProp.d.ts} +3 -1
  46. package/dist/types/twisty/model/props/TwistyProp.d.ts.map +1 -0
  47. package/dist/types/twisty/model/{TwistyProp.spec.d.ts → props/TwistyProp.spec.d.ts} +0 -0
  48. package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +1 -0
  49. package/dist/types/twisty/model/{TwistyPropDebugger.d.ts → props/TwistyPropDebugger.d.ts} +2 -2
  50. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +1 -0
  51. package/dist/types/twisty/model/{depth-0 → props/general}/URLProp.d.ts +0 -0
  52. package/dist/types/twisty/model/props/general/URLProp.d.ts.map +1 -0
  53. package/dist/types/twisty/model/{depth-0 → props/puzzle/display}/HintFaceletProp.d.ts +2 -2
  54. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +1 -0
  55. package/dist/types/twisty/model/{depth-1 → props/puzzle/display}/SpriteProp.d.ts +1 -1
  56. package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +1 -0
  57. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +6 -0
  58. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +1 -0
  59. package/dist/types/twisty/model/{depth-0 → props/puzzle/state}/AlgProp.d.ts +2 -2
  60. package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +1 -0
  61. package/dist/types/twisty/model/{depth-4 → props/puzzle/state}/AlgTransformationProp.d.ts +4 -4
  62. package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +1 -0
  63. package/dist/types/twisty/model/{depth-6 → props/puzzle/state}/AnchoredStartProp.d.ts +4 -4
  64. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +1 -0
  65. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts +11 -0
  66. package/dist/types/twisty/model/props/puzzle/state/CatchUpMoveProp.d.ts.map +1 -0
  67. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts +14 -0
  68. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +1 -0
  69. package/dist/types/twisty/model/{depth-9 → props/puzzle/state}/CurrentLeavesSimplified.d.ts +3 -3
  70. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +1 -0
  71. package/dist/types/twisty/model/{depth-10 → props/puzzle/state}/CurrentTransformationProp.d.ts +4 -4
  72. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +1 -0
  73. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +17 -0
  74. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +1 -0
  75. package/dist/types/twisty/model/{depth-0 → props/puzzle/state}/IndexerConstructorRequestProp.d.ts +1 -1
  76. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +1 -0
  77. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +15 -0
  78. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +1 -0
  79. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +12 -0
  80. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +1 -0
  81. package/dist/types/twisty/model/{depth-3 → props/puzzle/state}/PuzzleAlgProp.d.ts +3 -3
  82. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +1 -0
  83. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +6 -0
  84. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +1 -0
  85. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +11 -0
  86. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +1 -0
  87. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +6 -0
  88. package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +1 -0
  89. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +11 -0
  90. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +1 -0
  91. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +6 -0
  92. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +1 -0
  93. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +13 -0
  94. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +1 -0
  95. package/dist/types/twisty/model/{depth-8 → props/timeline}/CoarseTimelineInfoProp.d.ts +3 -3
  96. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +1 -0
  97. package/dist/types/twisty/model/{depth-7 → props/timeline}/DetailedTimelineInfoProp.d.ts +4 -4
  98. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +1 -0
  99. package/dist/types/twisty/model/{depth-0 → props/timeline}/PlayingInfoProp.d.ts +1 -1
  100. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +1 -0
  101. package/dist/types/twisty/model/{depth-0 → props/timeline}/TempoScaleProp.d.ts +0 -0
  102. package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +1 -0
  103. package/dist/types/twisty/model/{depth-0 → props/timeline}/TimestampRequestProp.d.ts +1 -1
  104. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +1 -0
  105. package/dist/types/twisty/model/{depth-0 → props/viewer}/BackViewProp.d.ts +1 -1
  106. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +1 -0
  107. package/dist/types/twisty/model/{depth-0 → props/viewer}/BackgroundProp.d.ts +1 -1
  108. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +1 -0
  109. package/dist/types/twisty/model/{depth-9 → props/viewer}/ButtonAppearanceProp.d.ts +3 -3
  110. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +1 -0
  111. package/dist/types/twisty/model/{depth-0 → props/viewer}/ControlPanelProp.d.ts +1 -1
  112. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +1 -0
  113. package/dist/types/twisty/model/{depth-0 → props/viewer}/LatitudeLimit.d.ts +0 -0
  114. package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +1 -0
  115. package/dist/types/twisty/model/{depth-4 → props/viewer}/OrbitCoordinatesProp.d.ts +3 -3
  116. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +1 -0
  117. package/dist/types/twisty/model/{depth-0 → props/viewer}/OrbitCoordinatesRequestProp.d.ts +0 -0
  118. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +1 -0
  119. package/dist/types/twisty/model/{depth-6 → props/viewer}/TimeRangeProp.d.ts +2 -2
  120. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +1 -0
  121. package/dist/types/twisty/model/{depth-0 → props/viewer}/ViewerLinkProp.d.ts +1 -1
  122. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +1 -0
  123. package/dist/types/twisty/model/{depth-0 → props/viewer}/VisualizationProp.d.ts +1 -1
  124. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +1 -0
  125. package/dist/types/twisty/model/{depth-3 → props/viewer}/VisualizationStrategyProp.d.ts +2 -2
  126. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +1 -0
  127. package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts.map +1 -1
  128. package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts.map +1 -1
  129. package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts +2 -1
  130. package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts.map +1 -1
  131. package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts +0 -1
  132. package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts.map +1 -1
  133. package/dist/types/twisty/views/3D/RendererPool.d.ts +4 -0
  134. package/dist/types/twisty/views/3D/RendererPool.d.ts.map +1 -0
  135. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +1 -1
  136. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +1 -1
  137. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +2 -1
  138. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +1 -1
  139. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +5 -3
  140. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +1 -1
  141. package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts +1 -1
  142. package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts.map +1 -1
  143. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +1 -1
  144. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +2 -2
  145. package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +1 -1
  146. package/dist/types/twisty/views/TwistyPlayer.d.ts +12 -7
  147. package/dist/types/twisty/views/TwistyPlayer.d.ts.map +1 -1
  148. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +8 -8
  149. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +1 -1
  150. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +1 -1
  151. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +1 -1
  152. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +1 -1
  153. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +1 -1
  154. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +33 -0
  155. package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +1 -0
  156. package/docs/.DS_Store +0 -0
  157. package/docs/cubing/.DS_Store +0 -0
  158. package/docs/cubing/scramble/index.html +35 -19
  159. package/package.json +5 -5
  160. package/src/cubing/.DS_Store +0 -0
  161. package/src/cubing/bluetooth/connect/index.ts +1 -1
  162. package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +1 -1
  163. package/src/cubing/cubing.bundle-global.ts +5 -1
  164. package/src/cubing/puzzle-geometry/PermOriSet.ts +1 -1
  165. package/src/cubing/puzzles/PuzzleLoader.ts +1 -1
  166. package/src/cubing/puzzles/implementations/fto/index.ts +19 -11
  167. package/src/cubing/puzzles/index.ts +25 -18
  168. package/src/cubing/puzzles/stickerings/fto-stickerings.ts +9 -0
  169. package/src/cubing/search/inside/api.spec.ts +1 -0
  170. package/src/cubing/search/inside/api.ts +1 -0
  171. package/src/cubing/search/worker-inside-generated-string.js +1 -1
  172. package/src/cubing/twisty/.DS_Store +0 -0
  173. package/src/cubing/twisty/controllers/TwistyAnimationController.ts +80 -3
  174. package/src/cubing/twisty/index.ts +2 -2
  175. package/src/cubing/twisty/model/TwistyPlayerModel.ts +52 -41
  176. package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +22 -0
  177. package/src/cubing/twisty/model/{TwistyProp.spec.ts → props/TwistyProp.spec.ts} +0 -0
  178. package/src/cubing/twisty/model/{TwistyProp.ts → props/TwistyProp.ts} +17 -9
  179. package/src/cubing/twisty/model/{TwistyPropDebugger.ts → props/TwistyPropDebugger.ts} +7 -7
  180. package/src/cubing/twisty/model/{depth-0 → props/general}/URLProp.ts +0 -0
  181. package/src/cubing/twisty/model/{depth-0 → props/puzzle/display}/HintFaceletProp.ts +2 -2
  182. package/src/cubing/twisty/model/{depth-1 → props/puzzle/display}/SpriteProp.ts +2 -2
  183. package/src/cubing/twisty/model/{depth-0 → props/puzzle/display}/StickeringProp.ts +2 -2
  184. package/src/cubing/twisty/model/{depth-0 → props/puzzle/state}/AlgProp.ts +3 -3
  185. package/src/cubing/twisty/model/{depth-4 → props/puzzle/state}/AlgTransformationProp.ts +6 -6
  186. package/src/cubing/twisty/model/{depth-6 → props/puzzle/state}/AnchoredStartProp.ts +4 -4
  187. package/src/cubing/twisty/model/props/puzzle/state/CatchUpMoveProp.ts +17 -0
  188. package/src/cubing/twisty/model/{depth-8 → props/puzzle/state}/CurrentLeavesProp.ts +27 -9
  189. package/src/cubing/twisty/model/{depth-9 → props/puzzle/state}/CurrentLeavesSimplified.ts +4 -4
  190. package/src/cubing/twisty/model/{depth-10 → props/puzzle/state}/CurrentTransformationProp.ts +5 -5
  191. package/src/cubing/twisty/model/{depth-4 → props/puzzle/state}/IndexerConstructorProp.ts +10 -10
  192. package/src/cubing/twisty/model/{depth-0 → props/puzzle/state}/IndexerConstructorRequestProp.ts +1 -1
  193. package/src/cubing/twisty/model/{depth-5 → props/puzzle/state}/IndexerProp.ts +6 -6
  194. package/src/cubing/twisty/model/{depth-11 → props/puzzle/state}/LegacyPositionProp.ts +4 -4
  195. package/src/cubing/twisty/model/{depth-3 → props/puzzle/state}/PuzzleAlgProp.ts +4 -4
  196. package/src/cubing/twisty/model/{depth-0 → props/puzzle/state}/SetupAnchorProp.ts +2 -2
  197. package/src/cubing/twisty/model/{depth-2 → props/puzzle/structure}/PuzzleDefProp.ts +3 -3
  198. package/src/cubing/twisty/model/{depth-0 → props/puzzle/structure}/PuzzleDescriptionProp.ts +6 -2
  199. package/src/cubing/twisty/model/{depth-2 → props/puzzle/structure}/PuzzleIDProp.ts +3 -3
  200. package/src/cubing/twisty/model/{depth-0 → props/puzzle/structure}/PuzzleIDRequestProp.ts +6 -2
  201. package/src/cubing/twisty/model/{depth-1 → props/puzzle/structure}/PuzzleLoaderProp.ts +11 -5
  202. package/src/cubing/twisty/model/{depth-8 → props/timeline}/CoarseTimelineInfoProp.ts +3 -3
  203. package/src/cubing/twisty/model/{depth-7 → props/timeline}/DetailedTimelineInfoProp.ts +4 -4
  204. package/src/cubing/twisty/model/{depth-0 → props/timeline}/PlayingInfoProp.ts +1 -1
  205. package/src/cubing/twisty/model/{depth-0 → props/timeline}/TempoScaleProp.ts +0 -0
  206. package/src/cubing/twisty/model/{depth-0 → props/timeline}/TimestampRequestProp.ts +1 -1
  207. package/src/cubing/twisty/model/{depth-0 → props/viewer}/BackViewProp.ts +1 -1
  208. package/src/cubing/twisty/model/{depth-0 → props/viewer}/BackgroundProp.ts +1 -1
  209. package/src/cubing/twisty/model/{depth-9 → props/viewer}/ButtonAppearanceProp.ts +4 -4
  210. package/src/cubing/twisty/model/{depth-0 → props/viewer}/ControlPanelProp.ts +1 -1
  211. package/src/cubing/twisty/model/{depth-0 → props/viewer}/LatitudeLimit.ts +0 -0
  212. package/src/cubing/twisty/model/{depth-4 → props/viewer}/OrbitCoordinatesProp.ts +3 -3
  213. package/src/cubing/twisty/model/{depth-0 → props/viewer}/OrbitCoordinatesRequestProp.ts +1 -1
  214. package/src/cubing/twisty/model/{depth-6 → props/viewer}/TimeRangeProp.ts +2 -2
  215. package/src/cubing/twisty/model/{depth-0 → props/viewer}/ViewerLinkProp.ts +1 -1
  216. package/src/cubing/twisty/model/{depth-0 → props/viewer}/VisualizationProp.ts +1 -1
  217. package/src/cubing/twisty/model/{depth-3 → props/viewer}/VisualizationStrategyProp.ts +2 -2
  218. package/src/cubing/twisty/old/animation/indexer/AlgIndexer.ts +1 -0
  219. package/src/cubing/twisty/old/dom/TwistyPlayer.css.ts +20 -0
  220. package/src/cubing/twisty/old/dom/TwistyPlayerConfig.ts +2 -1
  221. package/src/cubing/twisty/old/dom/viewers/Twisty3DCanvas.ts +3 -10
  222. package/src/cubing/twisty/{old → views}/.DS_Store +0 -0
  223. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +2 -2
  224. package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +1 -1
  225. package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +1 -1
  226. package/src/cubing/{search/inside → twisty/views/3D}/.DS_Store +0 -0
  227. package/src/cubing/twisty/views/3D/RendererPool.ts +53 -0
  228. package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +9 -8
  229. package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +7 -3
  230. package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +69 -33
  231. package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.spec.ts +7 -7
  232. package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.ts +1 -1
  233. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +6 -2
  234. package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +2 -2
  235. package/src/cubing/twisty/views/TwistyAlgViewer.ts +2 -2
  236. package/src/cubing/twisty/views/TwistyPlayer.ts +67 -11
  237. package/src/cubing/twisty/views/TwistyPlayerSettable.ts +8 -8
  238. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +1 -1
  239. package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +1 -1
  240. package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +179 -0
  241. package/dist/esm/chunk-6BXLPCNQ.js.map +0 -7
  242. package/dist/esm/worker-inside-generated-string-DOHINKQX.js.map +0 -7
  243. package/dist/types/twisty/model/TwistyProp.d.ts.map +0 -1
  244. package/dist/types/twisty/model/TwistyProp.spec.d.ts.map +0 -1
  245. package/dist/types/twisty/model/TwistyPropDebugger.d.ts.map +0 -1
  246. package/dist/types/twisty/model/depth-0/AlgProp.d.ts.map +0 -1
  247. package/dist/types/twisty/model/depth-0/BackViewProp.d.ts.map +0 -1
  248. package/dist/types/twisty/model/depth-0/BackgroundProp.d.ts.map +0 -1
  249. package/dist/types/twisty/model/depth-0/ControlPanelProp.d.ts.map +0 -1
  250. package/dist/types/twisty/model/depth-0/HintFaceletProp.d.ts.map +0 -1
  251. package/dist/types/twisty/model/depth-0/IndexerConstructorRequestProp.d.ts.map +0 -1
  252. package/dist/types/twisty/model/depth-0/LatitudeLimit.d.ts.map +0 -1
  253. package/dist/types/twisty/model/depth-0/OrbitCoordinatesRequestProp.d.ts.map +0 -1
  254. package/dist/types/twisty/model/depth-0/PlayingInfoProp.d.ts.map +0 -1
  255. package/dist/types/twisty/model/depth-0/PuzzleDescriptionProp.d.ts +0 -6
  256. package/dist/types/twisty/model/depth-0/PuzzleDescriptionProp.d.ts.map +0 -1
  257. package/dist/types/twisty/model/depth-0/PuzzleIDRequestProp.d.ts +0 -6
  258. package/dist/types/twisty/model/depth-0/PuzzleIDRequestProp.d.ts.map +0 -1
  259. package/dist/types/twisty/model/depth-0/SetupAnchorProp.d.ts +0 -6
  260. package/dist/types/twisty/model/depth-0/SetupAnchorProp.d.ts.map +0 -1
  261. package/dist/types/twisty/model/depth-0/StickeringProp.d.ts +0 -6
  262. package/dist/types/twisty/model/depth-0/StickeringProp.d.ts.map +0 -1
  263. package/dist/types/twisty/model/depth-0/TempoScaleProp.d.ts.map +0 -1
  264. package/dist/types/twisty/model/depth-0/TimestampRequestProp.d.ts.map +0 -1
  265. package/dist/types/twisty/model/depth-0/URLProp.d.ts.map +0 -1
  266. package/dist/types/twisty/model/depth-0/ViewerLinkProp.d.ts.map +0 -1
  267. package/dist/types/twisty/model/depth-0/VisualizationProp.d.ts.map +0 -1
  268. package/dist/types/twisty/model/depth-1/PuzzleLoaderProp.d.ts +0 -13
  269. package/dist/types/twisty/model/depth-1/PuzzleLoaderProp.d.ts.map +0 -1
  270. package/dist/types/twisty/model/depth-1/SpriteProp.d.ts.map +0 -1
  271. package/dist/types/twisty/model/depth-10/CurrentTransformationProp.d.ts.map +0 -1
  272. package/dist/types/twisty/model/depth-11/LegacyPositionProp.d.ts +0 -12
  273. package/dist/types/twisty/model/depth-11/LegacyPositionProp.d.ts.map +0 -1
  274. package/dist/types/twisty/model/depth-2/PuzzleDefProp.d.ts +0 -11
  275. package/dist/types/twisty/model/depth-2/PuzzleDefProp.d.ts.map +0 -1
  276. package/dist/types/twisty/model/depth-2/PuzzleIDProp.d.ts +0 -11
  277. package/dist/types/twisty/model/depth-2/PuzzleIDProp.d.ts.map +0 -1
  278. package/dist/types/twisty/model/depth-3/PuzzleAlgProp.d.ts.map +0 -1
  279. package/dist/types/twisty/model/depth-3/VisualizationStrategyProp.d.ts.map +0 -1
  280. package/dist/types/twisty/model/depth-4/AlgTransformationProp.d.ts.map +0 -1
  281. package/dist/types/twisty/model/depth-4/IndexerConstructorProp.d.ts +0 -17
  282. package/dist/types/twisty/model/depth-4/IndexerConstructorProp.d.ts.map +0 -1
  283. package/dist/types/twisty/model/depth-4/OrbitCoordinatesProp.d.ts.map +0 -1
  284. package/dist/types/twisty/model/depth-5/IndexerProp.d.ts +0 -15
  285. package/dist/types/twisty/model/depth-5/IndexerProp.d.ts.map +0 -1
  286. package/dist/types/twisty/model/depth-6/AnchoredStartProp.d.ts.map +0 -1
  287. package/dist/types/twisty/model/depth-6/TimeRangeProp.d.ts.map +0 -1
  288. package/dist/types/twisty/model/depth-7/DetailedTimelineInfoProp.d.ts.map +0 -1
  289. package/dist/types/twisty/model/depth-8/CoarseTimelineInfoProp.d.ts.map +0 -1
  290. package/dist/types/twisty/model/depth-8/CurrentLeavesProp.d.ts +0 -12
  291. package/dist/types/twisty/model/depth-8/CurrentLeavesProp.d.ts.map +0 -1
  292. package/dist/types/twisty/model/depth-9/ButtonAppearanceProp.d.ts.map +0 -1
  293. package/dist/types/twisty/model/depth-9/CurrentLeavesSimplified.d.ts.map +0 -1
  294. package/dist/types/twisty/views/3D/puzzles/TwistyTestBox.d.ts +0 -9
  295. package/dist/types/twisty/views/3D/puzzles/TwistyTestBox.d.ts.map +0 -1
  296. package/dist/types/vendor/three/examples/jsm/libs/stats.module.d.ts +0 -21
  297. package/dist/types/vendor/three/examples/jsm/libs/stats.module.d.ts.map +0 -1
  298. package/src/cubing/alg/.DS_Store +0 -0
  299. package/src/cubing/bluetooth/.DS_Store +0 -0
  300. package/src/cubing/kpuzzle/.DS_Store +0 -0
  301. package/src/cubing/puzzles/.DS_Store +0 -0
  302. package/src/cubing/search/.DS_Store +0 -0
  303. package/src/cubing/search/inside/solve/vendor/.DS_Store +0 -0
  304. package/src/cubing/search/inside/solve/vendor/cstimer/src/.DS_Store +0 -0
  305. package/src/cubing/search/inside/solve/vendor/cstimer/src/js/.DS_Store +0 -0
  306. package/src/cubing/stream/.DS_Store +0 -0
  307. package/src/cubing/twisty/old/dom/.DS_Store +0 -0
  308. package/src/cubing/twisty/views/3D/puzzles/TwistyTestBox.ts +0 -22
  309. package/src/cubing/vendor/.DS_Store +0 -0
  310. package/src/cubing/vendor/three/examples/jsm/libs/stats.module.d.ts +0 -24
  311. package/src/cubing/vendor/three/examples/jsm/libs/stats.module.js +0 -179
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @author mrdoob / http://mrdoob.com/
3
+ * ESM conversion by Lucas Garron, 2021-12-21
4
+ */
5
+ export declare class Stats {
6
+ mode: number;
7
+ dom: HTMLDivElement;
8
+ constructor();
9
+ addPanel(panel: StatsPanel): StatsPanel;
10
+ showPanel(id: number): void;
11
+ beginTime: number;
12
+ prevTime: number;
13
+ frames: number;
14
+ fpsPanel: StatsPanel;
15
+ msPanel: StatsPanel;
16
+ memPanel: StatsPanel | null;
17
+ REVISION: number;
18
+ begin(): void;
19
+ end(): number;
20
+ update(): void;
21
+ }
22
+ export declare class StatsPanel {
23
+ private name;
24
+ private fg;
25
+ private bg;
26
+ min: number;
27
+ max: number;
28
+ dom: HTMLCanvasElement;
29
+ context: CanvasRenderingContext2D;
30
+ constructor(name: string, fg: string, bg: string);
31
+ update(value: number, maxValue: number): void;
32
+ }
33
+ //# sourceMappingURL=stats.modified.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.modified.module.d.ts","sourceRoot":"","sources":["../../../../../../../src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,qBAAa,KAAK;IAChB,IAAI,SAAK;IAET,GAAG,iBAAiC;;IAiBpC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;IAKvC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS3B,SAAS,SAA+B;IACxC,QAAQ,SAAkB;IAC1B,MAAM,SAAK;IAEX,QAAQ,aAAwD;IAChE,OAAO,aAAuD;IAC9D,QAAQ,oBAEC;IACT,QAAQ,SAAM;IAEd,KAAK;IAIL,GAAG;IAyBH,MAAM;CAGP;AAaD,qBAAa,UAAU;IAKT,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,EAAE;IAAU,OAAO,CAAC,EAAE;IAJhE,GAAG,SAAY;IACf,GAAG,SAAK;IACR,GAAG,oBAAoC;IACvC,OAAO,2BAA8B;gBACjB,IAAI,EAAE,MAAM,EAAU,EAAE,EAAE,MAAM,EAAU,EAAE,EAAE,MAAM;IAoBxE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAiDvC"}
package/docs/.DS_Store CHANGED
Binary file
Binary file
@@ -17,17 +17,22 @@
17
17
  </div>
18
18
  <section class="no-header">
19
19
  <p>
20
- <code>cubing/scramble</code> is the part of <code>cubing.js</code> that lets you generate fair random-state scrambles.
20
+ <code>cubing/scramble</code> is the part of <code>cubing.js</code> that lets you generate fair random-state
21
+ scrambles.
21
22
  </p>
22
23
  </section>
23
24
 
24
25
  <section id="random-scramble">
25
26
  <h1><a href="#random-scramble">Random Scramble</a></h1>
26
- <p>Use <code>randomScrambleForEvent</code> to get a scramble. This returns a JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a> for an <a href="../alg/"><code>Alg</code></a>, which is easiest to use with <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function"><code>await</code></a>.</p>
27
+ <p>Use <code>randomScrambleForEvent</code> to get a scramble. This returns a JavaScript <a
28
+ href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>
29
+ for an <a href="../alg/"><code>Alg</code></a>, which is easiest to use with <a
30
+ href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function"><code>await</code></a>.
31
+ </p>
27
32
  <div class="code-demo">
28
33
  <div>
29
34
  <code class="sample">
30
- <span>import { randomScrambleForEvent } from &quot;cubing/alg&quot;<br>
35
+ <span>import { randomScrambleForEvent } from &quot;cubing/scramble&quot;;<br>
31
36
  <br>
32
37
  const scramble = await randomScrambleForEvent("333");
33
38
  console.log(scramble.toString());</span>
@@ -41,7 +46,7 @@ console.log(scramble.toString());</span>
41
46
  <div class="code-demo">
42
47
  <div>
43
48
  <code class="sample">
44
- <span>import { randomScrambleForEvent } from &quot;cubing/alg&quot;<br>
49
+ <span>import { randomScrambleForEvent } from &quot;cubing/scramble&quot;;<br>
45
50
  <br>
46
51
  (await randomScrambleForEvent("333")).log();<br>
47
52
  (await randomScrambleForEvent("333bf")).log();<br>
@@ -65,25 +70,36 @@ console.log(scramble.toString());</span>
65
70
  </code>
66
71
  </div>
67
72
  <p>Note that:
68
- <ul>
69
- <li>The <code>Alg</code> class supports all WCA notation. If you call <code>.toString()</code> on a scramble, you will get a string compatible with WCA notation for the event.</li>
70
- <li>The only current way to get scrambles is by WCA event code. Note that different events for the same puzzle may use different kinds of scrambles.</li>
71
- <li>All scrambles are random-state, as defined by <a href="https://www.worldcubeassociation.org/regulations/#4b3">WCA Regulation 4b3.</a>
72
- <ul>
73
- <li>This includes 4x4x4 events!</li>
74
- <li>Exception: scramble filtering is not implemented yet. It will be implemented in the future for full compatibility with the WCA Regulations.</li>
75
- </ul>
76
- </li>
77
- <li>Scrambles for 3x3x3 Fewest Moves include <code>R' U' F</code> at the beginning and end, matching TNoodle. However, these added moves can currently produce cancellations. This will be fixed in the future.</li>
78
- <li>2x2x2 scrambles may include &lt;D, B, L&gt; moves so that there is no fixed piece in the resulting scramble. This is compatible with the WCA Regulations, but be aware that it does not match TNoodle (which only uses &lt;U, F, R&gt; moves).</li>
79
- <li>Only use <code>cubing.js</code> to generate scrambles for unofficial software/competitions/events. Official WCA competitions must use the current version of <a href="https://www.worldcubeassociation.org/regulations/scrambles/">the official scramble program</a>.</li>
80
- </ul>
73
+ <ul>
74
+ <li>The <code>Alg</code> class supports all WCA notation. If you call <code>.toString()</code> on a scramble,
75
+ you will get a string compatible with WCA notation for the event.</li>
76
+ <li>The only current way to get scrambles is by WCA event code. Note that different events for the same puzzle
77
+ may use different kinds of scrambles.</li>
78
+ <li>All scrambles are random-state where required by <a
79
+ href="https://www.worldcubeassociation.org/regulations/#4b3">WCA Regulation 4b3 (i.e. all events except for
80
+ Megaminx and big cubes).</a>
81
+ <ul>
82
+ <li>This includes 4x4x4 events!</li>
83
+ <li>Exception: scramble filtering is not implemented yet. It will be implemented in the future for full
84
+ compatibility with the WCA Regulations.</li>
85
+ </ul>
86
+ </li>
87
+ <li>Scrambles for 3x3x3 Fewest Moves include <code>R' U' F</code> at the beginning and end, matching TNoodle.
88
+ However, these added moves can currently produce cancellations. This will be fixed in the future.</li>
89
+ <li>2x2x2 scrambles may include &lt;D, B, L&gt; moves so that there is no fixed piece in the resulting scramble.
90
+ This is compatible with the WCA Regulations, but be aware that it does not match TNoodle (which only uses
91
+ &lt;U, F, R&gt; moves).</li>
92
+ <li>Only use <code>cubing.js</code> to generate scrambles for unofficial software/competitions/events. Official
93
+ WCA competitions must use the current version of <a
94
+ href="https://www.worldcubeassociation.org/regulations/scrambles/">the official scramble program</a>.</li>
95
+ </ul>
81
96
  </p>
82
97
  </section>
83
98
 
84
99
  <section id="with-twisty-player">
85
100
  <h1><a href="#with-twisty-player">With <code>&lt;twisty-player&gt;</code></a></h1>
86
- <p>You can assign a scramble or a scramble Promise to <code>&lt;twisty-player&gt;</code>. Here is a simple way to display a scramble alg with an associated player:
101
+ <p>You can assign a scramble or a scramble <code>Promise</code> to <code>&lt;twisty-player&gt;</code>. Here is a
102
+ simple way to display a scramble alg with an associated player:
87
103
  <div class="code-demo">
88
104
  <div>
89
105
  <code class="sample">
@@ -106,7 +122,7 @@ console.log(scramble.toString());</span>
106
122
  <script type="module">
107
123
  import "https://cdn.cubing.net/js/cubing/twisty";
108
124
  import { randomScrambleForEvent } from "https://cdn.cubing.net/js/cubing/scramble";
109
-
125
+
110
126
  const scramblePromise = randomScrambleForEvent("333");
111
127
  document.querySelector("#main-player").alg = scramblePromise;
112
128
  </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cubing",
3
- "version": "0.21.0-pre8",
3
+ "version": "0.21.2",
4
4
  "description": "A collection of Javascript cubing libraries.",
5
5
  "author": "The js.cubing.net team",
6
6
  "type": "module",
@@ -8,10 +8,10 @@
8
8
  "license": "GPL-3.0-or-later",
9
9
  "repository": "github:cubing/cubing.js",
10
10
  "dependencies": {
11
- "@types/three": "^0.126.1",
12
- "@types/web-bluetooth": "0.0.4",
11
+ "@types/three": "^0.135.0",
12
+ "@types/web-bluetooth": "^0.0.12",
13
13
  "comlink": "^4.3.1",
14
- "three": "^0.126.1"
14
+ "three": "^0.135.0"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/eslint-parser": "^7.15.8",
@@ -66,7 +66,7 @@
66
66
  "test-import-restrictions": "node ./script/test/import-restrictions/main.js",
67
67
  "test-jest": "npx jest --collectCoverage",
68
68
  "test-tsc": "npm run build-types && npx tsc --build ./tsconfig.json",
69
- "format": "npx eslint --fix --ext=js,ts .; npx prettier --write src script",
69
+ "format": "npx eslint --fix --ext=js,ts src script; npx prettier --write src script",
70
70
  "setup": "npm install",
71
71
  "initial-setup-checked": "[ -d \"node_modules\" ] || npm run initial-setup",
72
72
  "initial-setup": "node ./script/initial-setup/main.js",
Binary file
@@ -13,7 +13,7 @@ function requestOptions<T>(
13
13
  optionalServices: [] as BluetoothServiceUUID[],
14
14
  }
15
15
  : {
16
- filters: [] as BluetoothRequestDeviceFilter[],
16
+ filters: [] as BluetoothLEScanFilter[],
17
17
  optionalServices: [] as BluetoothServiceUUID[],
18
18
  };
19
19
  for (const config of configs) {
@@ -36,7 +36,7 @@ export interface BluetoothConfig<T> {
36
36
  ) => Promise<T>;
37
37
  // TODO: Can we reuse `filters`?
38
38
  prefixes: string[]; // `[""]` for GiiKER
39
- filters: BluetoothRequestDeviceFilter[];
39
+ filters: BluetoothLEScanFilter[];
40
40
  optionalServices: BluetoothServiceUUID[];
41
41
  }
42
42
 
@@ -10,7 +10,7 @@ import * as stream from "./stream";
10
10
  import * as search from "./search";
11
11
  import * as twisty from "./twisty";
12
12
 
13
- export const cubing = {
13
+ const cubing = {
14
14
  alg,
15
15
  bluetooth,
16
16
  kpuzzle,
@@ -29,3 +29,7 @@ try {
29
29
  } catch (e) {
30
30
  console.log("Unable to set `cubing` on the global object.");
31
31
  }
32
+
33
+ if (globalThis.module?.exports) {
34
+ globalThis.module.exports = cubing;
35
+ }
@@ -69,7 +69,7 @@ export class PGOrbitsDef {
69
69
  result.push("");
70
70
  for (let i = 0; i < this.orbitnames.length; i++) {
71
71
  result.push(
72
- `"Set ${this.orbitnames[i]} ${this.orbitdefs[i].size} ${this.orbitdefs[i].mod}`,
72
+ `Set ${this.orbitnames[i]} ${this.orbitdefs[i].size} ${this.orbitdefs[i].mod}`,
73
73
  );
74
74
  }
75
75
  result.push("");
@@ -5,7 +5,7 @@ import type { PuzzleAppearance } from "./stickerings/appearance";
5
5
 
6
6
  export interface PuzzleLoader {
7
7
  id: string;
8
- // shortname?: string;
8
+ // shortName?: string;
9
9
  fullName: string;
10
10
  inventedBy?: string[];
11
11
  inventionYear?: number; // TODO: date?
@@ -1,20 +1,28 @@
1
+ import type { PuzzleLoader } from "../..";
1
2
  import type { ExperimentalStickering } from "../../../twisty";
2
- import { genericPGPuzzleLoader } from "../../async/async-pg3d";
3
+ import { asyncGetDef, asyncGetPuzzleGeometry } from "../../async/async-pg3d";
3
4
  import type { PuzzleAppearance } from "../../stickerings/appearance";
4
5
  import {
5
6
  ftoStickering,
6
7
  ftoStickerings,
7
8
  } from "../../stickerings/fto-stickerings";
8
9
 
9
- const fto = genericPGPuzzleLoader("FTO", "Face-Turning Octahedron", {
10
+ export const fto: PuzzleLoader = {
11
+ id: "fto",
12
+ fullName: "Face-Turning Octahedron",
10
13
  inventedBy: ["Karl Rohrbach", "David Pitcher"], // http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1663
11
14
  inventionYear: 1983, // http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=1663
12
- });
13
-
14
- // TODO: loading the stickering code async.
15
- fto.appearance = (
16
- stickering: ExperimentalStickering,
17
- ): Promise<PuzzleAppearance> => ftoStickering(fto, stickering);
18
- fto.stickerings = ftoStickerings;
19
-
20
- export { fto };
15
+ def: async () => {
16
+ return asyncGetDef("FTO");
17
+ },
18
+ svg: async () => {
19
+ const pg = await asyncGetPuzzleGeometry("FTO");
20
+ return pg.generatesvg();
21
+ },
22
+ pg: async () => {
23
+ return asyncGetPuzzleGeometry("FTO");
24
+ },
25
+ appearance: (stickering: ExperimentalStickering): Promise<PuzzleAppearance> =>
26
+ ftoStickering(fto, stickering),
27
+ stickerings: ftoStickerings,
28
+ };
@@ -62,24 +62,31 @@ export type {
62
62
  PuzzleAppearance as ExperimentalPuzzleAppearance,
63
63
  } from "./stickerings/appearance";
64
64
 
65
- const wcaEvents: Record<string, PuzzleID> = {
66
- "333": "3x3x3",
67
- "222": "2x2x2",
68
- "444": "4x4x4",
69
- "555": "5x5x5",
70
- "666": "6x6x6",
71
- "777": "7x7x7",
72
- "333bf": "3x3x3",
73
- "333fm": "3x3x3",
74
- "333oh": "3x3x3",
75
- "clock": "clock",
76
- "minx": "megaminx",
77
- "pyram": "pyraminx",
78
- "skewb": "skewb",
79
- "sq1": "square1",
80
- "444bf": "4x4x4",
81
- "555bf": "5x5x5",
65
+ interface WCAEventInfo {
66
+ puzzleID: PuzzleID;
67
+ eventName: string;
68
+ }
69
+
70
+ const wcaEvents: Record<string, WCAEventInfo> = {
71
+ "333": { puzzleID: "3x3x3", eventName: "3x3x3 Cube" },
72
+ "222": { puzzleID: "2x2x2", eventName: "2x2x2 Cube" },
73
+ "444": { puzzleID: "4x4x4", eventName: "4x4x4 Cube" },
74
+ "555": { puzzleID: "5x5x5", eventName: "5x5x5 Cube" },
75
+ "666": { puzzleID: "6x6x6", eventName: "6x6x6 Cube" },
76
+ "777": { puzzleID: "7x7x7", eventName: "7x7x7 Cube" },
77
+ "333bf": { puzzleID: "3x3x3", eventName: "3x3x3 Blindfolded" },
78
+ "333fm": { puzzleID: "3x3x3", eventName: "3x3x3 Fewest Moves" },
79
+ "333oh": { puzzleID: "3x3x3", eventName: "3x3x3 One-Handed" },
80
+ "clock": { puzzleID: "clock", eventName: "Clock" },
81
+ "minx": { puzzleID: "megaminx", eventName: "Megaminx" },
82
+ "pyram": { puzzleID: "pyraminx", eventName: "Pyraminx" },
83
+ "skewb": { puzzleID: "skewb", eventName: "Skewb" },
84
+ "sq1": { puzzleID: "square1", eventName: "Square-1" },
85
+ "444bf": { puzzleID: "4x4x4", eventName: "4x4x4 Blindfolded" },
86
+ "555bf": { puzzleID: "5x5x5", eventName: "5x5x5 Blindfolded" },
87
+ "333mb": { puzzleID: "3x3x3", eventName: " 3x3x3 Multi-Blind" },
82
88
  };
83
- export function puzzleIDForWCAEvent(event: string): PuzzleID | null {
89
+
90
+ export function wcaEventInfo(event: string): WCAEventInfo | null {
84
91
  return wcaEvents[event] ?? null;
85
92
  }
@@ -39,6 +39,7 @@ export async function ftoStickering(
39
39
  m.or([
40
40
  m.and([m.move("F"), m.move("BL")]),
41
41
  m.and([m.move("F"), m.move("BR")]),
42
+ m.and([m.move("BL"), m.move("BR")]),
42
43
  ]),
43
44
  );
44
45
 
@@ -56,24 +57,31 @@ export async function ftoStickering(
56
57
  m.not(experimentalFTO_F2T()),
57
58
  PieceStickering.Ignored,
58
59
  );
60
+ puzzleStickering.set(experimentalFTO_FC(), PieceStickering.Dim);
59
61
  break;
60
62
  case "experimental-fto-sc":
61
63
  puzzleStickering.set(
62
64
  m.not(experimentalFTO_SC()),
63
65
  PieceStickering.Ignored,
64
66
  );
67
+ puzzleStickering.set(experimentalFTO_F2T(), PieceStickering.Dim);
65
68
  break;
66
69
  case "experimental-fto-l2c":
67
70
  puzzleStickering.set(
68
71
  m.not(experimentalFTO_L2C()),
69
72
  PieceStickering.Ignored,
70
73
  );
74
+ puzzleStickering.set(experimentalFTO_SC(), PieceStickering.Dim);
71
75
  break;
72
76
  case "experimental-fto-lbt":
73
77
  puzzleStickering.set(
74
78
  m.not(experimentalFTO_LBT()),
75
79
  PieceStickering.Ignored,
76
80
  );
81
+ puzzleStickering.set(experimentalFTO_L2C(), PieceStickering.Dim);
82
+ break;
83
+ case "experimental-fto-l3t":
84
+ puzzleStickering.set(experimentalFTO_LBT(), PieceStickering.Dim);
77
85
  break;
78
86
  default:
79
87
  console.warn(
@@ -92,5 +100,6 @@ export async function ftoStickerings(): Promise<ExperimentalStickering[]> {
92
100
  "experimental-fto-sc",
93
101
  "experimental-fto-l2c",
94
102
  "experimental-fto-lbt",
103
+ "experimental-fto-l3t",
95
104
  ];
96
105
  }
@@ -17,6 +17,7 @@ const events = [
17
17
  "sq1",
18
18
  "444bf",
19
19
  "555bf",
20
+ "333mb",
20
21
  ];
21
22
 
22
23
  setDebugMeasurePerf(false);
@@ -90,6 +90,7 @@ export const insideAPI = {
90
90
  random333FewestMovesScramble,
91
91
  );
92
92
  case "333bf":
93
+ case "333mb":
93
94
  return measurePerf(
94
95
  "random333OrientedScramble",
95
96
  random333OrientedScramble,