scrabble-solver 2.16.7 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/.github/workflows/bunx.yml +13 -10
  2. package/.github/workflows/e2e.yml +7 -9
  3. package/.github/workflows/npx.yml +13 -10
  4. package/.nx/workspace-data/d/server-process.json +2 -2
  5. package/.nx/workspace-data/file-map.json +796 -816
  6. package/.nx/workspace-data/lockfile-dependencies.hash +1 -1
  7. package/.nx/workspace-data/lockfile-nodes.hash +1 -1
  8. package/.nx/workspace-data/nx_files.nxt +0 -0
  9. package/.nx/workspace-data/parsed-lock-file.dependencies.json +218 -1298
  10. package/.nx/workspace-data/parsed-lock-file.nodes.json +770 -2669
  11. package/.nx/workspace-data/project-graph.json +1083 -4104
  12. package/.nx/workspace-data/source-maps.json +128 -0
  13. package/.oxlintrc.json +13 -10
  14. package/CLAUDE.md +36 -28
  15. package/README.md +17 -1
  16. package/bun.lock +233 -528
  17. package/e2e/app.spec.ts +124 -0
  18. package/e2e/bugs/112-character-bonus.spec.ts +25 -0
  19. package/e2e/bugs/129-esc-sidebar.spec.ts +17 -0
  20. package/e2e/bugs/2-q-tile-in-english.spec.ts +19 -0
  21. package/e2e/bugs/3-x-tile-in-polish.spec.ts +19 -0
  22. package/e2e/bugs/30-click-inside-radio-icon.spec.ts +25 -0
  23. package/e2e/bugs/333-disabled-radio-cursor.spec.ts +18 -0
  24. package/e2e/bugs/342-results-sorting.spec.ts +30 -0
  25. package/e2e/bugs/352-dictionary-race-condition.spec.ts +27 -0
  26. package/e2e/bugs/363-dictionary-input-unique-words.spec.ts +27 -0
  27. package/e2e/bugs/380-transliteration-when-pasting.spec.ts +55 -0
  28. package/e2e/bugs/398-digraphs-in-created-words.spec.ts +23 -0
  29. package/e2e/bugs/401-board-state-on-game-change.spec.ts +24 -0
  30. package/e2e/features/198-highlight-unreachable-cells.spec.ts +85 -0
  31. package/e2e/features/91-hover-remaining-tile-highlights.spec.ts +76 -0
  32. package/e2e/features/hidden-coordinates-migration.spec.ts +27 -0
  33. package/e2e/features/solver-paths.spec.ts +45 -0
  34. package/e2e/lib/actions.ts +119 -0
  35. package/e2e/lib/selectors.ts +71 -0
  36. package/e2e/tsconfig.json +10 -0
  37. package/lerna.json +1 -1
  38. package/package.json +16 -18
  39. package/packages/configs/package.json +3 -3
  40. package/packages/constants/package.json +1 -1
  41. package/packages/dictionaries/README.md +1 -1
  42. package/packages/dictionaries/build/Dictionaries.d.ts +2 -2
  43. package/packages/dictionaries/build/Dictionaries.js +6 -6
  44. package/packages/dictionaries/build/lib/DiskCache.d.ts +11 -4
  45. package/packages/dictionaries/build/lib/DiskCache.js +27 -10
  46. package/packages/dictionaries/build/lib/LayeredCache.d.ts +4 -4
  47. package/packages/dictionaries/build/lib/LayeredCache.js +3 -3
  48. package/packages/dictionaries/build/lib/MemoryCache.d.ts +4 -4
  49. package/packages/dictionaries/build/lib/MemoryCache.js +2 -2
  50. package/packages/dictionaries/build/lib/createCacheTimestampComparator.d.ts +2 -2
  51. package/packages/dictionaries/build/lib/downloadDictionary.d.ts +2 -2
  52. package/packages/dictionaries/build/lib/downloadDictionary.js +4 -3
  53. package/packages/dictionaries/build/lib/getDictionaryFilepath.d.ts +3 -1
  54. package/packages/dictionaries/build/lib/getDictionaryFilepath.js +8 -3
  55. package/packages/dictionaries/package.json +7 -6
  56. package/packages/dictionaries/src/Dictionaries.ts +12 -12
  57. package/packages/dictionaries/src/lib/DiskCache.test.ts +85 -0
  58. package/packages/dictionaries/src/lib/DiskCache.ts +34 -14
  59. package/packages/dictionaries/src/lib/LayeredCache.ts +7 -7
  60. package/packages/dictionaries/src/lib/MemoryCache.ts +6 -6
  61. package/packages/dictionaries/src/lib/createCacheTimestampComparator.ts +2 -2
  62. package/packages/dictionaries/src/lib/downloadDictionary.ts +5 -4
  63. package/packages/dictionaries/src/lib/getDictionaryFilepath.ts +7 -2
  64. package/packages/gaddag/build/Gaddag.d.ts +39 -0
  65. package/packages/gaddag/build/Gaddag.js +128 -0
  66. package/packages/gaddag/build/buildGaddag.d.ts +10 -0
  67. package/packages/gaddag/build/buildGaddag.js +360 -0
  68. package/packages/gaddag/build/constants.d.ts +12 -0
  69. package/packages/gaddag/build/constants.js +15 -0
  70. package/packages/gaddag/build/index.d.ts +3 -0
  71. package/packages/gaddag/build/index.js +13 -0
  72. package/packages/logger/package.json +1 -1
  73. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  74. package/packages/scrabble-solver/.next/build-manifest.json +22 -20
  75. package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
  76. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  77. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  78. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  79. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  80. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  81. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  82. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  83. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  84. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  85. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  86. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -1
  87. package/packages/scrabble-solver/.next/dynamic-css-manifest.json +8 -1
  88. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -1
  89. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  90. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  91. package/packages/scrabble-solver/.next/react-loadable-manifest.json +176 -1
  92. package/packages/scrabble-solver/.next/required-server-files.js +3 -2
  93. package/packages/scrabble-solver/.next/required-server-files.json +3 -2
  94. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  95. package/packages/scrabble-solver/.next/server/chunks/30.js +1 -1
  96. package/packages/scrabble-solver/.next/server/chunks/309.js +1 -0
  97. package/packages/scrabble-solver/.next/server/chunks/316.js +1 -0
  98. package/packages/scrabble-solver/.next/server/chunks/344.js +1 -0
  99. package/packages/scrabble-solver/.next/server/chunks/371.js +1 -0
  100. package/packages/scrabble-solver/.next/server/chunks/392.js +1 -1
  101. package/packages/scrabble-solver/.next/server/chunks/465.js +1 -0
  102. package/packages/scrabble-solver/.next/server/chunks/546.js +1 -0
  103. package/packages/scrabble-solver/.next/server/chunks/623.js +1 -0
  104. package/packages/scrabble-solver/.next/server/chunks/624.js +1 -0
  105. package/packages/scrabble-solver/.next/server/chunks/641.js +1 -0
  106. package/packages/scrabble-solver/.next/server/chunks/671.js +1 -1
  107. package/packages/scrabble-solver/.next/server/chunks/692.js +1 -0
  108. package/packages/scrabble-solver/.next/server/chunks/705.js +1 -0
  109. package/packages/scrabble-solver/.next/server/chunks/712.js +1 -1
  110. package/packages/scrabble-solver/.next/server/chunks/846.js +1 -0
  111. package/packages/scrabble-solver/.next/server/chunks/853.js +15 -0
  112. package/packages/scrabble-solver/.next/server/chunks/886.js +1 -0
  113. package/packages/scrabble-solver/.next/server/chunks/916.js +1 -0
  114. package/packages/scrabble-solver/.next/server/chunks/953.js +1 -0
  115. package/packages/scrabble-solver/.next/server/chunks/961.js +1 -0
  116. package/packages/scrabble-solver/.next/server/chunks/968.js +1 -0
  117. package/packages/scrabble-solver/.next/server/dynamic-css-manifest.js +1 -1
  118. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  119. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -1
  120. package/packages/scrabble-solver/.next/server/pages/404.html +28 -1
  121. package/packages/scrabble-solver/.next/server/pages/500.html +28 -1
  122. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -1
  123. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  124. package/packages/scrabble-solver/.next/server/pages/_document.js +28 -1
  125. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  126. package/packages/scrabble-solver/.next/server/pages/_error.js +28 -1
  127. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  128. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +1 -1
  129. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  130. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -1
  131. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  132. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
  133. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  134. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
  135. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  136. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  137. package/packages/scrabble-solver/.next/server/pages/index.html +28 -1
  138. package/packages/scrabble-solver/.next/server/pages/index.js +30 -1
  139. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  140. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  141. package/packages/scrabble-solver/.next/server/pages/not-found.html +28 -1
  142. package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +1 -1
  143. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
  144. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -1
  145. package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -1
  146. package/packages/scrabble-solver/.next/static/FL82obwzFHRzvV6z76I-U/_buildManifest.js +1 -0
  147. package/packages/scrabble-solver/.next/static/chunks/101-829ab8a8d310e7a0.js +3 -0
  148. package/packages/scrabble-solver/.next/static/chunks/106.e414e88694add27f.js +1 -0
  149. package/packages/scrabble-solver/.next/static/chunks/127.125d896a19061d71.js +1 -0
  150. package/packages/scrabble-solver/.next/static/chunks/18.8b91e137d239e15c.js +1 -0
  151. package/packages/scrabble-solver/.next/static/chunks/277.6785dfaf22fdb0b7.js +1 -0
  152. package/packages/scrabble-solver/.next/static/chunks/307.67f52f13e3d60d4e.js +1 -0
  153. package/packages/scrabble-solver/.next/static/chunks/341.79535ba85bf1986f.js +1 -0
  154. package/packages/scrabble-solver/.next/static/chunks/363.01eed3233f92b6a4.js +1 -0
  155. package/packages/scrabble-solver/.next/static/chunks/422.1559ae6756912ca5.js +1 -0
  156. package/packages/scrabble-solver/.next/static/chunks/541.dcd9e8b804f88da5.js +1 -0
  157. package/packages/scrabble-solver/.next/static/chunks/583.7a46807be14c377e.js +1 -0
  158. package/packages/scrabble-solver/.next/static/chunks/631.98d42abad0a60af6.js +1 -0
  159. package/packages/scrabble-solver/.next/static/chunks/663.d2c9ca36b26695b8.js +1 -0
  160. package/packages/scrabble-solver/.next/static/chunks/711.ba7b8f900dfd40d0.js +1 -0
  161. package/packages/scrabble-solver/.next/static/chunks/744.b06c9a3de4a1d877.js +1 -0
  162. package/packages/scrabble-solver/.next/static/chunks/820.97b82f751ca49579.js +1 -0
  163. package/packages/scrabble-solver/.next/static/chunks/865.a9b563a45848a83c.js +1 -0
  164. package/packages/scrabble-solver/.next/static/chunks/912.ff8037ba9d4db5c8.js +1 -0
  165. package/packages/scrabble-solver/.next/static/chunks/939.19b33a3d3c351d73.js +1 -0
  166. package/packages/scrabble-solver/.next/static/chunks/990.61296e5870b91f11.js +1 -0
  167. package/packages/scrabble-solver/.next/static/chunks/framework-626cbd48ac5aca57.js +1 -0
  168. package/packages/scrabble-solver/.next/static/chunks/main-b92e08f3fc96dd8d.js +5 -0
  169. package/packages/scrabble-solver/.next/static/chunks/pages/_app-ba5d628e81a15461.js +1 -0
  170. package/packages/scrabble-solver/.next/static/chunks/pages/{_error-afeda7c5231b6c3c.js → _error-f0290a98eb3ed0ec.js} +1 -1
  171. package/packages/scrabble-solver/.next/static/chunks/pages/index-5f9fa6ac3cd3d97b.js +1 -0
  172. package/packages/scrabble-solver/.next/static/chunks/pages/not-found-23d61fd3ed791cad.js +1 -0
  173. package/packages/scrabble-solver/.next/static/chunks/webpack-e34c3ae12275e978.js +1 -0
  174. package/packages/scrabble-solver/.next/static/css/2d03f0da2c678dfc.css +1 -0
  175. package/packages/scrabble-solver/.next/static/css/7b6724d2df70f48f.css +1 -0
  176. package/packages/scrabble-solver/.next/static/css/abc2425d3ba607bc.css +1 -0
  177. package/packages/scrabble-solver/.next/static/css/b736be3bd02b5d99.css +1 -0
  178. package/packages/scrabble-solver/.next/static/css/b74cd7de82dabcdd.css +1 -0
  179. package/packages/scrabble-solver/.next/static/css/c403ce739a9c0d83.css +1 -0
  180. package/packages/scrabble-solver/.next/static/css/ca311e6c030663d4.css +1 -0
  181. package/packages/scrabble-solver/.next/static/css/dee878eb64099d92.css +1 -0
  182. package/packages/scrabble-solver/.next/static/css/fbfdce70731d0d2b.css +1 -0
  183. package/packages/scrabble-solver/.next/trace +21 -21
  184. package/packages/scrabble-solver/.next/trace-build +1 -1
  185. package/packages/scrabble-solver/empty-module.js +2 -0
  186. package/packages/scrabble-solver/next.config.js +13 -8
  187. package/packages/scrabble-solver/package.json +34 -15
  188. package/packages/scrabble-solver/public/llms.txt +11 -0
  189. package/packages/scrabble-solver/public/robots.txt +4 -0
  190. package/packages/scrabble-solver/public/service-worker.js +2 -2
  191. package/packages/scrabble-solver/scripts/generate-scss-types.ts +112 -0
  192. package/packages/scrabble-solver/src/@types/scss.d.ts +6 -9
  193. package/packages/scrabble-solver/src/@types/svg.d.ts +1 -1
  194. package/packages/scrabble-solver/src/components/Alert/Alert.module.scss.d.ts +13 -0
  195. package/packages/scrabble-solver/src/components/Alert/Alert.tsx +4 -1
  196. package/packages/scrabble-solver/src/components/Badge/Badge.module.scss.d.ts +6 -0
  197. package/packages/scrabble-solver/src/components/Board/Board.module.scss +10 -0
  198. package/packages/scrabble-solver/src/components/Board/Board.module.scss.d.ts +17 -0
  199. package/packages/scrabble-solver/src/components/Board/Board.tsx +14 -26
  200. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +54 -49
  201. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss +18 -18
  202. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss.d.ts +7 -0
  203. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +6 -3
  204. package/packages/scrabble-solver/src/components/Board/components/Actions/lib.ts +3 -1
  205. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss.d.ts +13 -0
  206. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +32 -34
  207. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.module.scss.d.ts +10 -0
  208. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.tsx +1 -1
  209. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.module.scss.d.ts +8 -0
  210. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +2 -2
  211. package/packages/scrabble-solver/src/components/Board/getBoardBackground.ts +175 -0
  212. package/packages/scrabble-solver/src/components/Board/hooks/index.ts +0 -1
  213. package/packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts +10 -20
  214. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingActions.ts +3 -6
  215. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +23 -9
  216. package/packages/scrabble-solver/src/components/Board/selectors.ts +1 -1
  217. package/packages/scrabble-solver/src/components/Button/Button.module.scss.d.ts +12 -0
  218. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +8 -22
  219. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss.d.ts +14 -0
  220. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +1 -10
  221. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss.d.ts +7 -0
  222. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx +1 -1
  223. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss.d.ts +7 -0
  224. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx +1 -1
  225. package/packages/scrabble-solver/src/components/IconButton/IconButton.module.scss.d.ts +8 -0
  226. package/packages/scrabble-solver/src/components/Key/Key.module.scss.d.ts +6 -0
  227. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.module.scss.d.ts +11 -0
  228. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.tsx +4 -1
  229. package/packages/scrabble-solver/src/components/Keys/index.tsx +1 -1
  230. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss.d.ts +9 -0
  231. package/packages/scrabble-solver/src/components/Loading/Loading.tsx +1 -1
  232. package/packages/scrabble-solver/src/components/Logo/Logo.tsx +4 -9
  233. package/packages/scrabble-solver/src/components/Logo/LogoBlueprint.tsx +1 -0
  234. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss.d.ts +15 -0
  235. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +16 -3
  236. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.module.scss.d.ts +7 -0
  237. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss +20 -0
  238. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss.d.ts +13 -0
  239. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx +29 -45
  240. package/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss.d.ts +9 -0
  241. package/packages/scrabble-solver/src/components/NotFound/NotFound.tsx +1 -1
  242. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss.d.ts +11 -0
  243. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx +0 -1
  244. package/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx +3 -4
  245. package/packages/scrabble-solver/src/components/PlainTiles/lib.ts +4 -19
  246. package/packages/scrabble-solver/src/components/PlainTiles/types.ts +0 -1
  247. package/packages/scrabble-solver/src/components/Progress/Progress.module.scss +7 -0
  248. package/packages/scrabble-solver/src/components/Progress/Progress.module.scss.d.ts +6 -0
  249. package/packages/scrabble-solver/src/components/Progress/Progress.tsx +2 -11
  250. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss +3 -0
  251. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss.d.ts +10 -0
  252. package/packages/scrabble-solver/src/components/Rack/Rack.tsx +8 -11
  253. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss +2 -0
  254. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss.d.ts +7 -0
  255. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx +1 -13
  256. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/lib.ts +1 -1
  257. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss.d.ts +6 -0
  258. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx +5 -4
  259. package/packages/scrabble-solver/src/components/Rack/selectors.ts +1 -1
  260. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss.d.ts +12 -0
  261. package/packages/scrabble-solver/src/components/Results/Cell.tsx +3 -12
  262. package/packages/scrabble-solver/src/components/Results/Header.tsx +9 -18
  263. package/packages/scrabble-solver/src/components/Results/HeaderButton.tsx +4 -5
  264. package/packages/scrabble-solver/src/components/Results/Result.tsx +4 -15
  265. package/packages/scrabble-solver/src/components/Results/Results.module.scss +4 -7
  266. package/packages/scrabble-solver/src/components/Results/Results.module.scss.d.ts +27 -0
  267. package/packages/scrabble-solver/src/components/Results/Results.tsx +14 -5
  268. package/packages/scrabble-solver/src/components/Results/SolveButton.tsx +1 -1
  269. package/packages/scrabble-solver/src/components/Results/types.ts +3 -3
  270. package/packages/scrabble-solver/src/components/ResultsInput/ResultsInput.module.scss.d.ts +7 -0
  271. package/packages/scrabble-solver/src/components/ResultsInput/ResultsInput.tsx +1 -1
  272. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss +6 -5
  273. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss.d.ts +20 -0
  274. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +23 -24
  275. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss.d.ts +7 -0
  276. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.tsx +1 -1
  277. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss.d.ts +18 -0
  278. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +3 -1
  279. package/packages/scrabble-solver/src/components/Spinner/Spinner.module.scss.d.ts +10 -0
  280. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +3 -0
  281. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss.d.ts +19 -0
  282. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +5 -14
  283. package/packages/scrabble-solver/src/components/Tile/TilePure.tsx +2 -12
  284. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss.d.ts +7 -0
  285. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.tsx +14 -3
  286. package/packages/scrabble-solver/src/components/Tooltip/useTooltip.ts +2 -1
  287. package/packages/scrabble-solver/src/hooks/useColumns.ts +4 -7
  288. package/packages/scrabble-solver/src/hooks/useDeferredRender.ts +20 -0
  289. package/packages/scrabble-solver/src/hooks/useDirection.ts +4 -3
  290. package/packages/scrabble-solver/src/hooks/useLanguage.ts +2 -2
  291. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +32 -8
  292. package/packages/scrabble-solver/src/hooks/useMedia.ts +26 -26
  293. package/packages/scrabble-solver/src/i18n/constants.ts +2 -15
  294. package/packages/scrabble-solver/src/i18n/i18n.ts +18 -17
  295. package/packages/scrabble-solver/src/i18n/languages/english.json +0 -1
  296. package/packages/scrabble-solver/src/i18n/languages/french.json +0 -1
  297. package/packages/scrabble-solver/src/i18n/languages/german.json +0 -1
  298. package/packages/scrabble-solver/src/i18n/languages/persian.json +0 -1
  299. package/packages/scrabble-solver/src/i18n/languages/polish.json +0 -1
  300. package/packages/scrabble-solver/src/i18n/languages/romanian.json +0 -1
  301. package/packages/scrabble-solver/src/i18n/languages/spanish.json +0 -1
  302. package/packages/scrabble-solver/src/i18n/languages/turkish.json +0 -1
  303. package/packages/scrabble-solver/src/i18n/localeIcons.ts +24 -0
  304. package/packages/scrabble-solver/src/lib/localeTransliterate.test.ts +5 -0
  305. package/packages/scrabble-solver/src/lib/localeTransliterate.ts +26 -6
  306. package/packages/scrabble-solver/src/lib/waitForIdleOrFirstIntent.ts +33 -0
  307. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.module.scss.d.ts +8 -0
  308. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.tsx +3 -1
  309. package/packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx +3 -1
  310. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss.d.ts +11 -0
  311. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +5 -0
  312. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss.d.ts +10 -0
  313. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +16 -5
  314. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss +4 -1
  315. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss.d.ts +9 -0
  316. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +4 -6
  317. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss +1 -0
  318. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss.d.ts +12 -0
  319. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.tsx +5 -12
  320. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss.d.ts +8 -0
  321. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.tsx +8 -4
  322. package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +2 -2
  323. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss.d.ts +7 -0
  324. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +1 -1
  325. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss.d.ts +7 -0
  326. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +1 -1
  327. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.module.scss.d.ts +7 -0
  328. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.tsx +1 -1
  329. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.module.scss.d.ts +7 -0
  330. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +1 -1
  331. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss.d.ts +8 -0
  332. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +24 -21
  333. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.module.scss.d.ts +7 -0
  334. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.tsx +1 -1
  335. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss.d.ts +7 -0
  336. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +1 -5
  337. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.module.scss.d.ts +11 -0
  338. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.tsx +4 -2
  339. package/packages/scrabble-solver/src/modals/preload.ts +24 -0
  340. package/packages/scrabble-solver/src/pages/_app.tsx +5 -8
  341. package/packages/scrabble-solver/src/pages/_document.tsx +91 -5
  342. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +2 -2
  343. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts +80 -3
  344. package/packages/scrabble-solver/src/pages/api/solve.ts +3 -3
  345. package/packages/scrabble-solver/src/pages/api/verify.ts +12 -3
  346. package/packages/scrabble-solver/src/pages/index.module.scss +1 -0
  347. package/packages/scrabble-solver/src/pages/index.module.scss.d.ts +11 -0
  348. package/packages/scrabble-solver/src/pages/index.tsx +98 -38
  349. package/packages/scrabble-solver/src/pages/not-found.tsx +1 -1
  350. package/packages/scrabble-solver/src/parameters/index.ts +24 -93
  351. package/packages/scrabble-solver/src/sdk/solve.ts +13 -7
  352. package/packages/scrabble-solver/src/sdk/verify.ts +12 -6
  353. package/packages/scrabble-solver/src/service-worker/appShell.test.ts +86 -0
  354. package/packages/scrabble-solver/src/service-worker/appShell.ts +39 -0
  355. package/packages/scrabble-solver/src/service-worker/index.ts +4 -5
  356. package/packages/scrabble-solver/src/serviceWorkerManager.ts +5 -19
  357. package/packages/scrabble-solver/src/solver-worker/client.test.ts +151 -0
  358. package/packages/scrabble-solver/src/solver-worker/client.ts +106 -0
  359. package/packages/scrabble-solver/src/solver-worker/dictionaries/constants.ts +9 -0
  360. package/packages/scrabble-solver/src/solver-worker/dictionaries/getDictionary.ts +21 -0
  361. package/packages/scrabble-solver/src/solver-worker/dictionaries/index.ts +2 -0
  362. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.test.ts +199 -0
  363. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.ts +86 -0
  364. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidatedAt.ts +43 -0
  365. package/packages/scrabble-solver/src/solver-worker/getGaddag.test.ts +109 -0
  366. package/packages/scrabble-solver/src/solver-worker/getGaddag.ts +62 -0
  367. package/packages/scrabble-solver/src/solver-worker/index.ts +1 -0
  368. package/packages/scrabble-solver/src/solver-worker/index.worker.ts +124 -0
  369. package/packages/scrabble-solver/src/solver-worker/messages.ts +20 -0
  370. package/packages/scrabble-solver/src/state/actions.ts +1 -1
  371. package/packages/scrabble-solver/src/state/app/index.ts +4 -0
  372. package/packages/scrabble-solver/src/state/app/initialState.ts +6 -0
  373. package/packages/scrabble-solver/src/state/app/selectors.ts +5 -0
  374. package/packages/scrabble-solver/src/state/app/slice.ts +20 -0
  375. package/packages/scrabble-solver/src/state/app/types.ts +4 -0
  376. package/packages/scrabble-solver/src/state/board/initialState.ts +1 -2
  377. package/packages/scrabble-solver/src/state/i18n/index.ts +4 -0
  378. package/packages/scrabble-solver/src/state/i18n/initialState.ts +5 -0
  379. package/packages/scrabble-solver/src/state/i18n/selectors.ts +3 -0
  380. package/packages/scrabble-solver/src/state/i18n/slice.ts +16 -0
  381. package/packages/scrabble-solver/src/state/i18n/types.ts +7 -0
  382. package/packages/scrabble-solver/src/state/index.ts +3 -0
  383. package/packages/scrabble-solver/src/state/lib.ts +1 -1
  384. package/packages/scrabble-solver/src/state/localStorage.ts +86 -29
  385. package/packages/scrabble-solver/src/state/rack/initialState.ts +1 -2
  386. package/packages/scrabble-solver/src/state/rack/slice.ts +4 -1
  387. package/packages/scrabble-solver/src/state/results/lib.ts +5 -5
  388. package/packages/scrabble-solver/src/state/results/selectors.ts +1 -1
  389. package/packages/scrabble-solver/src/state/sagas.ts +139 -13
  390. package/packages/scrabble-solver/src/state/selectors.ts +1 -1
  391. package/packages/scrabble-solver/src/state/settings/initialState.ts +7 -10
  392. package/packages/scrabble-solver/src/state/settings/selectors.ts +7 -2
  393. package/packages/scrabble-solver/src/state/settings/slice.ts +5 -2
  394. package/packages/scrabble-solver/src/state/store.ts +4 -0
  395. package/packages/scrabble-solver/src/state/types.ts +4 -0
  396. package/packages/scrabble-solver/src/state/useTypedStore.ts +6 -0
  397. package/packages/scrabble-solver/src/styles/_tokens.scss +1 -0
  398. package/packages/scrabble-solver/src/styles/global.scss +9 -0
  399. package/packages/scrabble-solver/src/styles/variables.module.scss +0 -21
  400. package/packages/scrabble-solver/src/styles/variables.module.scss.d.ts +27 -0
  401. package/packages/scrabble-solver/src/styles/variables.scss +46 -2
  402. package/packages/scrabble-solver/src/types/api.ts +1 -2
  403. package/packages/scrabble-solver/src/types/index.ts +1 -2
  404. package/packages/scrabble-solver/tsconfig.json +4 -0
  405. package/packages/scrabble-solver/tsconfig.tsbuildinfo +1 -1
  406. package/packages/solver/README.md +24 -0
  407. package/packages/solver/benchmarks/index.ts +15 -0
  408. package/packages/solver/benchmarks/lib.ts +31 -0
  409. package/packages/solver/benchmarks/renderChart.ts +165 -0
  410. package/packages/solver/benchmarks/results/chart.svg +65 -0
  411. package/packages/solver/benchmarks/runBenchmarks.ts +66 -0
  412. package/packages/solver/benchmarks/scenarios.ts +64 -0
  413. package/packages/solver/benchmarks/types.ts +16 -0
  414. package/packages/solver/benchmarks/updateReadme.ts +53 -0
  415. package/packages/solver/build/MoveGenerator.d.ts +116 -0
  416. package/packages/solver/build/MoveGenerator.js +686 -0
  417. package/packages/solver/build/index.d.ts +0 -13
  418. package/packages/solver/build/index.js +1 -27
  419. package/packages/solver/build/solve.d.ts +2 -2
  420. package/packages/solver/build/solve.js +3 -19
  421. package/packages/solver/package.json +7 -6
  422. package/packages/solver/src/MoveGenerator.test.ts +1009 -0
  423. package/packages/solver/src/MoveGenerator.ts +926 -0
  424. package/packages/solver/src/ReferenceSolver.ts +401 -0
  425. package/packages/solver/src/index.ts +0 -13
  426. package/packages/solver/src/solve.test.ts +21 -21
  427. package/packages/solver/src/solve.ts +4 -22
  428. package/packages/solver/tsconfig.json +1 -1
  429. package/packages/types/build/Cell.d.ts +1 -0
  430. package/packages/types/build/Cell.js +3 -0
  431. package/packages/types/build/Direction.d.ts +1 -0
  432. package/packages/types/build/Result.d.ts +3 -2
  433. package/packages/types/build/Result.js +11 -6
  434. package/packages/types/build/ResultJson.d.ts +5 -4
  435. package/packages/types/build/ShowCoordinates.d.ts +1 -2
  436. package/packages/types/build/TextDirection.d.ts +1 -0
  437. package/packages/types/build/index.d.ts +2 -6
  438. package/packages/types/build/index.js +1 -9
  439. package/packages/types/build/readResultCells.d.ts +5 -0
  440. package/packages/types/build/readResultCells.js +75 -0
  441. package/packages/types/package.json +4 -3
  442. package/packages/types/src/Cell.ts +4 -0
  443. package/packages/types/src/Direction.ts +1 -0
  444. package/packages/types/src/Result.ts +15 -6
  445. package/packages/types/src/ResultJson.ts +5 -5
  446. package/packages/types/src/ShowCoordinates.ts +1 -2
  447. package/packages/types/src/TextDirection.ts +1 -0
  448. package/packages/types/src/index.ts +2 -6
  449. package/packages/types/src/readResultCells.test.ts +140 -0
  450. package/packages/types/src/readResultCells.ts +90 -0
  451. package/packages/word-definitions/package.json +2 -2
  452. package/packages/word-lists/package.json +2 -2
  453. package/playwright-report/index.html +49 -0
  454. package/playwright.config.ts +30 -0
  455. package/screencast.gif +0 -0
  456. package/scripts/record-screencast.ts +347 -0
  457. package/test-results/.last-run.json +4 -0
  458. package/tsconfig.json +1 -1
  459. package/babel.config.js +0 -4
  460. package/cypress/e2e/app.spec.cy.ts +0 -123
  461. package/cypress/e2e/bugs/112-character-bonus.ts +0 -40
  462. package/cypress/e2e/bugs/129-esc-sidebar.ts +0 -23
  463. package/cypress/e2e/bugs/2-q-tile-in-english.ts +0 -33
  464. package/cypress/e2e/bugs/3-x-tile-in-polish.ts +0 -33
  465. package/cypress/e2e/bugs/30-click-inside-radio-icon.ts +0 -26
  466. package/cypress/e2e/bugs/333-disabled-radio-cursor.ts +0 -24
  467. package/cypress/e2e/bugs/342-results-sorting.ts +0 -48
  468. package/cypress/e2e/bugs/348-results-word-padding.ts +0 -74
  469. package/cypress/e2e/bugs/352-dictionary-race-condition.ts +0 -29
  470. package/cypress/e2e/bugs/363-dictionary-input-unique-words.ts +0 -41
  471. package/cypress/e2e/bugs/380-transliteration-when-pasting.ts +0 -75
  472. package/cypress/e2e/bugs/398-digraphs-in-created-words.ts +0 -38
  473. package/cypress/e2e/bugs/401-board-state-on-game-change.ts +0 -36
  474. package/cypress/e2e/bugs.spec.cy.ts +0 -13
  475. package/cypress/e2e/features/198-highlight-unreachable-cells.ts +0 -101
  476. package/cypress/e2e/features/91-hover-remaining-tile-highlights.ts +0 -90
  477. package/cypress/e2e/features.spec.cy.ts +0 -2
  478. package/cypress/support/commands.ts +0 -4
  479. package/cypress/support/e2e.ts +0 -1
  480. package/cypress/support/index.ts +0 -1
  481. package/cypress/support/lib/actions.ts +0 -85
  482. package/cypress/support/lib/selectors.ts +0 -70
  483. package/cypress/tsconfig.json +0 -10
  484. package/cypress.config.ts +0 -17
  485. package/packages/scrabble-solver/.next/server/chunks/318.js +0 -3
  486. package/packages/scrabble-solver/.next/server/chunks/791.js +0 -15
  487. package/packages/scrabble-solver/.next/static/chunks/framework-3cf15b8041c59dd3.js +0 -1
  488. package/packages/scrabble-solver/.next/static/chunks/main-852475ca502b4e49.js +0 -5
  489. package/packages/scrabble-solver/.next/static/chunks/pages/_app-a5bbe02710f13d05.js +0 -7
  490. package/packages/scrabble-solver/.next/static/chunks/pages/index-ec0f6aeeaf7be227.js +0 -1
  491. package/packages/scrabble-solver/.next/static/chunks/pages/not-found-9e076427bad69d90.js +0 -1
  492. package/packages/scrabble-solver/.next/static/chunks/webpack-1a7a166b34ed8d24.js +0 -1
  493. package/packages/scrabble-solver/.next/static/css/0af35adb4bab56f0.css +0 -2
  494. package/packages/scrabble-solver/.next/static/css/a78e04fe95452380.css +0 -1
  495. package/packages/scrabble-solver/.next/static/vYpMmuC_yEurZGcyGVnLf/_buildManifest.js +0 -1
  496. package/packages/scrabble-solver/src/app-layout/AppLayoutContext.tsx +0 -25
  497. package/packages/scrabble-solver/src/app-layout/index.ts +0 -1
  498. package/packages/scrabble-solver/src/app-layout/useAppLayoutValue.ts +0 -112
  499. package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +0 -279
  500. package/packages/scrabble-solver/src/components/index.ts +0 -26
  501. package/packages/scrabble-solver/src/hooks/index.ts +0 -12
  502. package/packages/scrabble-solver/src/hooks/useOnWindowResize.ts +0 -11
  503. package/packages/scrabble-solver/src/hooks/useViewportSize.ts +0 -17
  504. package/packages/scrabble-solver/src/i18n/index.ts +0 -2
  505. package/packages/scrabble-solver/src/icons/Flag.svg +0 -4
  506. package/packages/scrabble-solver/src/icons/Star.svg +0 -4
  507. package/packages/scrabble-solver/src/icons/index.ts +0 -49
  508. package/packages/scrabble-solver/src/lib/getTileSizes.ts +0 -13
  509. package/packages/scrabble-solver/src/lib/index.ts +0 -24
  510. package/packages/scrabble-solver/src/modals/index.ts +0 -7
  511. package/packages/scrabble-solver/src/sdk/getDictionary.ts +0 -9
  512. package/packages/scrabble-solver/src/service-worker/average.ts +0 -7
  513. package/packages/scrabble-solver/src/service-worker/dictionaries/constants.ts +0 -5
  514. package/packages/scrabble-solver/src/service-worker/dictionaries/getDictionary.ts +0 -20
  515. package/packages/scrabble-solver/src/service-worker/dictionaries/index.ts +0 -2
  516. package/packages/scrabble-solver/src/service-worker/dictionaries/revalidateDictionary.ts +0 -33
  517. package/packages/scrabble-solver/src/service-worker/getTrie.ts +0 -24
  518. package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +0 -91
  519. package/packages/scrabble-solver/src/service-worker/routeVerifyRequests.ts +0 -37
  520. package/packages/solver/build/areDigraphsValid.d.ts +0 -2
  521. package/packages/solver/build/areDigraphsValid.js +0 -17
  522. package/packages/solver/build/fillPattern.d.ts +0 -6
  523. package/packages/solver/build/fillPattern.js +0 -52
  524. package/packages/solver/build/generateEndIndices.d.ts +0 -2
  525. package/packages/solver/build/generateEndIndices.js +0 -17
  526. package/packages/solver/build/generateHorizontalPatterns.d.ts +0 -2
  527. package/packages/solver/build/generateHorizontalPatterns.js +0 -16
  528. package/packages/solver/build/generatePattern.d.ts +0 -7
  529. package/packages/solver/build/generatePattern.js +0 -20
  530. package/packages/solver/build/generatePatterns.d.ts +0 -2
  531. package/packages/solver/build/generatePatterns.js +0 -11
  532. package/packages/solver/build/generateStartIndices.d.ts +0 -2
  533. package/packages/solver/build/generateStartIndices.js +0 -16
  534. package/packages/solver/build/generateVectors.d.ts +0 -7
  535. package/packages/solver/build/generateVectors.js +0 -7
  536. package/packages/solver/build/generateVerticalPatterns.d.ts +0 -2
  537. package/packages/solver/build/generateVerticalPatterns.js +0 -16
  538. package/packages/solver/build/getCellsScore.d.ts +0 -2
  539. package/packages/solver/build/getCellsScore.js +0 -18
  540. package/packages/solver/build/getPatternHash.d.ts +0 -2
  541. package/packages/solver/build/getPatternHash.js +0 -14
  542. package/packages/solver/build/getPatternScore.d.ts +0 -2
  543. package/packages/solver/build/getPatternScore.js +0 -22
  544. package/packages/solver/build/getUniquePatterns.d.ts +0 -2
  545. package/packages/solver/build/getUniquePatterns.js +0 -17
  546. package/packages/solver/src/areDigraphsValid.ts +0 -18
  547. package/packages/solver/src/fillPattern.test.ts +0 -107
  548. package/packages/solver/src/fillPattern.ts +0 -68
  549. package/packages/solver/src/generateEndIndices.test.ts +0 -23
  550. package/packages/solver/src/generateEndIndices.ts +0 -19
  551. package/packages/solver/src/generateHorizontalPatterns.test.ts +0 -31
  552. package/packages/solver/src/generateHorizontalPatterns.ts +0 -15
  553. package/packages/solver/src/generatePattern.ts +0 -33
  554. package/packages/solver/src/generatePatterns.test.ts +0 -13
  555. package/packages/solver/src/generatePatterns.ts +0 -11
  556. package/packages/solver/src/generateStartIndices.test.ts +0 -19
  557. package/packages/solver/src/generateStartIndices.ts +0 -17
  558. package/packages/solver/src/generateVectors.test.ts +0 -12
  559. package/packages/solver/src/generateVectors.ts +0 -10
  560. package/packages/solver/src/generateVerticalPatterns.test.ts +0 -32
  561. package/packages/solver/src/generateVerticalPatterns.ts +0 -15
  562. package/packages/solver/src/getCellsScore.ts +0 -21
  563. package/packages/solver/src/getPatternHash.test.ts +0 -17
  564. package/packages/solver/src/getPatternHash.ts +0 -12
  565. package/packages/solver/src/getPatternScore.test.ts +0 -204
  566. package/packages/solver/src/getPatternScore.ts +0 -23
  567. package/packages/solver/src/getUniquePatterns.ts +0 -19
  568. package/packages/types/build/CollisionJson.d.ts +0 -2
  569. package/packages/types/build/FinalPattern.d.ts +0 -6
  570. package/packages/types/build/FinalPattern.js +0 -14
  571. package/packages/types/build/HorizontalPattern.d.ts +0 -5
  572. package/packages/types/build/HorizontalPattern.js +0 -34
  573. package/packages/types/build/Pattern.d.ts +0 -20
  574. package/packages/types/build/Pattern.js +0 -50
  575. package/packages/types/build/PatternJson.d.ts +0 -6
  576. package/packages/types/build/VerticalPattern.d.ts +0 -5
  577. package/packages/types/build/VerticalPattern.js +0 -34
  578. package/packages/types/src/CollisionJson.ts +0 -3
  579. package/packages/types/src/FinalPattern.ts +0 -14
  580. package/packages/types/src/HorizontalPattern.ts +0 -37
  581. package/packages/types/src/Pattern.ts +0 -71
  582. package/packages/types/src/PatternJson.ts +0 -7
  583. package/packages/types/src/VerticalPattern.ts +0 -37
  584. /package/{cypress/support → e2e}/lib/index.ts +0 -0
  585. /package/packages/scrabble-solver/.next/static/{vYpMmuC_yEurZGcyGVnLf → FL82obwzFHRzvV6z76I-U}/_ssgManifest.js +0 -0
  586. /package/packages/scrabble-solver/src/{service-worker → solver-worker}/dictionaries/expirationManager.ts +0 -0
  587. /package/packages/scrabble-solver/src/{service-worker → solver-worker}/dictionaries/getDictionaryUrl.ts +0 -0
  588. /package/packages/types/build/{CollisionJson.js → Direction.js} +0 -0
  589. /package/packages/types/build/{PatternJson.js → TextDirection.js} +0 -0
@@ -6,567 +6,215 @@
6
6
  "fileMap": {
7
7
  "nonProjectFiles": [
8
8
  {
9
- "file": ".github/workflows/deploy.yml",
10
- "hash": "11085092697452560447"
11
- },
12
- {
13
- "file": ".npmrc",
14
- "hash": "8550214904053156014"
15
- },
16
- {
17
- "file": "cypress/e2e/bugs/2-q-tile-in-english.ts",
18
- "hash": "624714559301130687"
19
- },
20
- {
21
- "file": "cypress/e2e/bugs/333-disabled-radio-cursor.ts",
22
- "hash": "7270913361717937665"
23
- },
24
- {
25
- "file": "cypress/e2e/bugs/363-dictionary-input-unique-words.ts",
26
- "hash": "3924403794097269420"
27
- },
28
- {
29
- "file": ".github/workflows/e2e.yml",
30
- "hash": "5572594769902659974"
31
- },
32
- {
33
- "file": ".oxfmtrc.json",
34
- "hash": "12617766590679978798"
35
- },
36
- {
37
- "file": "bunfig.toml",
38
- "hash": "16900079901051178068"
39
- },
40
- {
41
- "file": "cypress/e2e/bugs/342-results-sorting.ts",
42
- "hash": "4468745648155579488"
43
- },
44
- {
45
- "file": ".npmignore",
46
- "hash": "9160986732333189952"
9
+ "file": "bun.test.preload.ts",
10
+ "hash": "12359177232622253161"
47
11
  },
48
12
  {
49
- "file": "HISTORY.md",
50
- "hash": "11882088838610928434"
13
+ "file": ".gitattributes",
14
+ "hash": "8169140259024525487"
51
15
  },
52
16
  {
53
- "file": "cypress/tsconfig.json",
54
- "hash": "533346989645065478"
17
+ "file": "e2e/bugs/30-click-inside-radio-icon.spec.ts",
18
+ "hash": "7281927320715965013"
55
19
  },
56
20
  {
57
- "file": "screencast.gif",
58
- "hash": "8618312235898903127"
21
+ "file": "e2e/lib/actions.ts",
22
+ "hash": "12493047721446658614"
59
23
  },
60
24
  {
61
- "file": ".github/workflows/oxfmt.yml",
62
- "hash": "8910153274813196941"
25
+ "file": "e2e/bugs/3-x-tile-in-polish.spec.ts",
26
+ "hash": "4050675244690088022"
63
27
  },
64
28
  {
65
- "file": ".github/workflows/unit.yml",
66
- "hash": "6367944978607806241"
29
+ "file": "package.json",
30
+ "hash": "3787805369051690976"
67
31
  },
68
32
  {
69
- "file": "LICENSE",
70
- "hash": "2488235562441806084"
33
+ "file": "e2e/app.spec.ts",
34
+ "hash": "10108956123056993541"
71
35
  },
72
36
  {
73
- "file": "cypress/e2e/features.spec.cy.ts",
74
- "hash": "12464908545763341851"
37
+ "file": ".github/workflows/bunx.yml",
38
+ "hash": "16496206658100803274"
75
39
  },
76
40
  {
77
- "file": "cypress/e2e/features/198-highlight-unreachable-cells.ts",
78
- "hash": "3910280514843648957"
41
+ "file": "e2e/bugs/401-board-state-on-game-change.spec.ts",
42
+ "hash": "10130939760491578972"
79
43
  },
80
44
  {
81
- "file": "cypress/e2e/bugs/348-results-word-padding.ts",
82
- "hash": "6446018906872213060"
45
+ "file": "scripts/record-screencast.ts",
46
+ "hash": "16353608524314846588"
83
47
  },
84
48
  {
85
- "file": "bun.lock",
86
- "hash": "2438425387707078034"
49
+ "file": "README.md",
50
+ "hash": "14301388345140881801"
87
51
  },
88
52
  {
89
- "file": "cypress/support/lib/selectors.ts",
90
- "hash": "16904563828097658657"
53
+ "file": "e2e/bugs/398-digraphs-in-created-words.spec.ts",
54
+ "hash": "10119174242546755564"
91
55
  },
92
56
  {
93
- "file": "cypress/support/lib/index.ts",
94
- "hash": "14256056309923157734"
57
+ "file": "tsconfig.json",
58
+ "hash": "10516769175896352176"
95
59
  },
96
60
  {
97
61
  "file": ".github/workflows/build.yml",
98
62
  "hash": "17106141158538620602"
99
63
  },
100
64
  {
101
- "file": "lerna.json",
102
- "hash": "8797230981439621893"
103
- },
104
- {
105
- "file": "cypress/e2e/bugs/3-x-tile-in-polish.ts",
106
- "hash": "3146979637017447630"
107
- },
108
- {
109
- "file": "cypress/support/e2e.ts",
110
- "hash": "11404878494790355861"
111
- },
112
- {
113
- "file": "tsconfig.json",
114
- "hash": "4548757008684262551"
115
- },
116
- {
117
- "file": ".github/workflows/npx.yml",
118
- "hash": "7722372774632660367"
119
- },
120
- {
121
- "file": "cypress/e2e/bugs/401-board-state-on-game-change.ts",
122
- "hash": "4970188220651698542"
123
- },
124
- {
125
- "file": "cypress/e2e/bugs/398-digraphs-in-created-words.ts",
126
- "hash": "16274805538424356883"
127
- },
128
- {
129
- "file": "cypress/support/commands.ts",
130
- "hash": "576911436208964402"
131
- },
132
- {
133
- "file": "bin/scrabble-solver.js",
134
- "hash": "1416719023314596262"
135
- },
136
- {
137
- "file": "cypress/support/index.ts",
138
- "hash": "14428353282588746736"
139
- },
140
- {
141
- "file": "cypress/support/lib/actions.ts",
142
- "hash": "11334597434471156402"
65
+ "file": ".github/workflows/e2e.yml",
66
+ "hash": "756942984287424904"
143
67
  },
144
68
  {
145
- "file": ".oxlintrc.json",
146
- "hash": "2361713879153926627"
69
+ "file": "bun.lock",
70
+ "hash": "8743213012323088774"
147
71
  },
148
72
  {
149
- "file": ".gitignore",
150
- "hash": "4379749976030360626"
73
+ "file": "e2e/bugs/129-esc-sidebar.spec.ts",
74
+ "hash": "10037722022499569849"
151
75
  },
152
76
  {
153
- "file": "cypress/e2e/bugs.spec.cy.ts",
154
- "hash": "8192580895364771693"
77
+ "file": "e2e/features/hidden-coordinates-migration.spec.ts",
78
+ "hash": "8535626969697947307"
155
79
  },
156
80
  {
157
- "file": ".gitattributes",
158
- "hash": "8169140259024525487"
81
+ "file": "e2e/features/solver-paths.spec.ts",
82
+ "hash": "976212055167012214"
159
83
  },
160
84
  {
161
- "file": "CLAUDE.md",
162
- "hash": "2667753157403905597"
163
- },
164
- {
165
- "file": "bump-version.js",
166
- "hash": "3680747442718205672"
85
+ "file": "e2e/bugs/112-character-bonus.spec.ts",
86
+ "hash": "9328272452764966883"
167
87
  },
168
88
  {
169
89
  "file": "bun-test-globals.d.ts",
170
90
  "hash": "11720446903047261515"
171
91
  },
172
92
  {
173
- "file": "cypress/e2e/bugs/129-esc-sidebar.ts",
174
- "hash": "18135998467496795464"
175
- },
176
- {
177
- "file": "cypress/e2e/bugs/352-dictionary-race-condition.ts",
178
- "hash": "11375056568318556588"
179
- },
180
- {
181
- "file": "cypress/e2e/bugs/380-transliteration-when-pasting.ts",
182
- "hash": "5009553017294935822"
183
- },
184
- {
185
- "file": "bun.test.preload.ts",
186
- "hash": "12359177232622253161"
187
- },
188
- {
189
- "file": "cypress.config.ts",
190
- "hash": "18043300092575567764"
191
- },
192
- {
193
- "file": "cypress/e2e/app.spec.cy.ts",
194
- "hash": "17922500733620566139"
93
+ "file": ".github/workflows/unit.yml",
94
+ "hash": "6367944978607806241"
195
95
  },
196
96
  {
197
- "file": "cypress/e2e/bugs/30-click-inside-radio-icon.ts",
198
- "hash": "14735649149345694300"
97
+ "file": "CLAUDE.md",
98
+ "hash": "634660003225964188"
199
99
  },
200
100
  {
201
- "file": "nx.json",
202
- "hash": "12408965950466853583"
101
+ "file": "e2e/lib/selectors.ts",
102
+ "hash": "13623396079278254691"
203
103
  },
204
104
  {
205
- "file": ".github/workflows/bunx.yml",
206
- "hash": "16222118223491689725"
105
+ "file": ".npmignore",
106
+ "hash": "9160986732333189952"
207
107
  },
208
108
  {
209
- "file": ".github/workflows/oxlint.yml",
210
- "hash": "1395882258753359117"
109
+ "file": ".oxlintrc.json",
110
+ "hash": "7931377307846033965"
211
111
  },
212
112
  {
213
- "file": "cypress/e2e/features/91-hover-remaining-tile-highlights.ts",
214
- "hash": "11268643321198891941"
113
+ "file": "e2e/tsconfig.json",
114
+ "hash": "2230050970062101790"
215
115
  },
216
116
  {
217
- "file": "babel.config.js",
218
- "hash": "3648372393756188667"
117
+ "file": ".github/workflows/npx.yml",
118
+ "hash": "4240979117022341034"
219
119
  },
220
120
  {
221
- "file": "package.json",
222
- "hash": "7709803594038490062"
121
+ "file": ".github/workflows/oxfmt.yml",
122
+ "hash": "8910153274813196941"
223
123
  },
224
124
  {
225
- "file": "cypress/e2e/bugs/112-character-bonus.ts",
226
- "hash": "7144866814341355219"
125
+ "file": "e2e/bugs/380-transliteration-when-pasting.spec.ts",
126
+ "hash": "2954952014100260528"
227
127
  },
228
- {
229
- "file": "README.md",
230
- "hash": "4041455316740280977"
231
- }
232
- ],
233
- "projectFileMap": {
234
- "@scrabble-solver/constants": [
235
- {
236
- "file": "packages/constants/README.md",
237
- "hash": "15117377322618686888"
238
- },
239
- {
240
- "file": "packages/constants/package.json",
241
- "hash": "15351010835846751780"
242
- },
243
- {
244
- "file": "packages/constants/src/index.ts",
245
- "hash": "2132305088706286749"
246
- },
247
- {
248
- "file": "packages/constants/tsconfig.json",
249
- "hash": "14393573143758511966"
250
- }
251
- ],
252
- "@scrabble-solver/word-lists": [
253
- {
254
- "file": "packages/word-lists/README.md",
255
- "hash": "16055975283152607821"
256
- },
257
- {
258
- "file": "packages/word-lists/package.json",
259
- "hash": "4044476555951979710",
260
- "deps": [
261
- "npm:@types/follow-redirects@1.14.4",
262
- "npm:@types/unzipper@0.10.11",
263
- "@scrabble-solver/types",
264
- "npm:cheerio@1.2.0",
265
- "npm:follow-redirects@1.16.0",
266
- "npm:transliteration@2.6.1",
267
- "npm:unzipper@0.12.5"
268
- ]
269
- },
270
- {
271
- "file": "packages/word-lists/src/getWordList.ts",
272
- "hash": "10304524630809776049"
273
- },
274
- {
275
- "file": "packages/word-lists/src/index.ts",
276
- "hash": "8042340231609296722"
277
- },
278
- {
279
- "file": "packages/word-lists/src/languages/english.ts",
280
- "hash": "18236496125766674592"
281
- },
282
- {
283
- "file": "packages/word-lists/src/languages/french.ts",
284
- "hash": "999885887967626988"
285
- },
286
- {
287
- "file": "packages/word-lists/src/languages/german.ts",
288
- "hash": "7794882289943390115"
289
- },
290
- {
291
- "file": "packages/word-lists/src/languages/index.ts",
292
- "hash": "632033483089466746"
293
- },
294
- {
295
- "file": "packages/word-lists/src/languages/persian.ts",
296
- "hash": "3960698128232122588"
297
- },
298
- {
299
- "file": "packages/word-lists/src/languages/polish.ts",
300
- "hash": "3075535021753564703"
301
- },
302
- {
303
- "file": "packages/word-lists/src/languages/romanian.ts",
304
- "hash": "9300620863531476643"
305
- },
306
- {
307
- "file": "packages/word-lists/src/languages/spanish.ts",
308
- "hash": "4087018936035514"
309
- },
310
- {
311
- "file": "packages/word-lists/src/languages/turkish.ts",
312
- "hash": "16755045246219415596"
313
- },
314
- {
315
- "file": "packages/word-lists/src/lib/downloadFile.ts",
316
- "hash": "13607329874891283679"
317
- },
318
- {
319
- "file": "packages/word-lists/src/lib/downloadHtml.ts",
320
- "hash": "1310045368305737951"
321
- },
322
- {
323
- "file": "packages/word-lists/src/lib/extractWords.ts",
324
- "hash": "14559448128270437612"
325
- },
326
- {
327
- "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
328
- "hash": "9840318512275784332"
329
- },
330
- {
331
- "file": "packages/word-lists/src/lib/getHash.ts",
332
- "hash": "8975814297070890934"
333
- },
334
- {
335
- "file": "packages/word-lists/src/lib/getTempFilepath.ts",
336
- "hash": "17463482587297340183"
337
- },
338
- {
339
- "file": "packages/word-lists/src/lib/getTxtWordList.ts",
340
- "hash": "6788551474673366316"
341
- },
342
- {
343
- "file": "packages/word-lists/src/lib/index.ts",
344
- "hash": "3470132537045022332"
345
- },
346
- {
347
- "file": "packages/word-lists/src/lib/transliterateDiacritics.ts",
348
- "hash": "477062649907390802"
349
- },
350
- {
351
- "file": "packages/word-lists/src/lib/unique.ts",
352
- "hash": "4387364396041720073"
353
- },
354
- {
355
- "file": "packages/word-lists/src/lib/unzip.ts",
356
- "hash": "1152622296142869825"
357
- },
358
- {
359
- "file": "packages/word-lists/tsconfig.json",
360
- "hash": "14393573143758511966"
361
- }
362
- ],
363
- "@scrabble-solver/configs": [
364
- {
365
- "file": "packages/configs/README.md",
366
- "hash": "6408492212348349035"
367
- },
368
- {
369
- "file": "packages/configs/package.json",
370
- "hash": "3518390416496681847",
371
- "deps": [
372
- "@scrabble-solver/constants",
373
- "@scrabble-solver/types"
374
- ]
375
- },
376
- {
377
- "file": "packages/configs/src/games/crossplay.ts",
378
- "hash": "16021566614416518615"
379
- },
380
- {
381
- "file": "packages/configs/src/games/index.ts",
382
- "hash": "16580546551436334473"
383
- },
384
- {
385
- "file": "packages/configs/src/games/kelimelik.ts",
386
- "hash": "8950283052021127979"
387
- },
388
- {
389
- "file": "packages/configs/src/games/letterLeague.ts",
390
- "hash": "8462198127509215788"
391
- },
392
- {
393
- "file": "packages/configs/src/games/literaki.ts",
394
- "hash": "7033507003854208537"
395
- },
396
- {
397
- "file": "packages/configs/src/games/scrabble.ts",
398
- "hash": "18218540760290077603"
399
- },
400
- {
401
- "file": "packages/configs/src/games/scrabbleDuel.ts",
402
- "hash": "4836733622693563212"
403
- },
404
- {
405
- "file": "packages/configs/src/games/superScrabble.ts",
406
- "hash": "17447393258816850978"
407
- },
408
- {
409
- "file": "packages/configs/src/getConfig.ts",
410
- "hash": "2532535760263476394"
411
- },
412
- {
413
- "file": "packages/configs/src/hasConfig.ts",
414
- "hash": "3549979696544493656"
415
- },
416
- {
417
- "file": "packages/configs/src/index.ts",
418
- "hash": "12104092412421460190"
419
- },
420
- {
421
- "file": "packages/configs/src/languages/english.ts",
422
- "hash": "7535121473879804895"
423
- },
424
- {
425
- "file": "packages/configs/src/languages/french.ts",
426
- "hash": "12248709442008050794"
427
- },
428
- {
429
- "file": "packages/configs/src/languages/german.ts",
430
- "hash": "15430977815804666604"
431
- },
432
- {
433
- "file": "packages/configs/src/languages/index.ts",
434
- "hash": "6554636328320279077"
435
- },
436
- {
437
- "file": "packages/configs/src/languages/persian.ts",
438
- "hash": "1614638689491705120"
439
- },
440
- {
441
- "file": "packages/configs/src/languages/polish.ts",
442
- "hash": "17941542313550365356"
443
- },
444
- {
445
- "file": "packages/configs/src/languages/romanian.ts",
446
- "hash": "15366974472215186064"
447
- },
448
- {
449
- "file": "packages/configs/src/languages/spanish.ts",
450
- "hash": "289235670795048535"
451
- },
452
- {
453
- "file": "packages/configs/src/languages/turkish.ts",
454
- "hash": "10240746041524805456"
455
- },
456
- {
457
- "file": "packages/configs/tsconfig.json",
458
- "hash": "14393573143758511966"
459
- }
460
- ],
461
- "@scrabble-solver/dictionaries": [
462
- {
463
- "file": "packages/dictionaries/README.md",
464
- "hash": "4148063976304250953"
465
- },
466
- {
467
- "file": "packages/dictionaries/bin/remove-dictionaries.js",
468
- "hash": "2636661981756772217"
469
- },
470
- {
471
- "file": "packages/dictionaries/bin/update-dictionaries.js",
472
- "hash": "9641816824340442544"
473
- },
474
- {
475
- "file": "packages/dictionaries/package.json",
476
- "hash": "1538931695023816747",
477
- "deps": [
478
- "npm:@kamilmielnik/trie",
479
- "@scrabble-solver/logger",
480
- "@scrabble-solver/types",
481
- "@scrabble-solver/word-lists"
482
- ]
483
- },
484
- {
485
- "file": "packages/dictionaries/src/Dictionaries.ts",
486
- "hash": "4738381108479340912"
487
- },
488
- {
489
- "file": "packages/dictionaries/src/constants.ts",
490
- "hash": "12604354443457976176"
491
- },
492
- {
493
- "file": "packages/dictionaries/src/index.ts",
494
- "hash": "9758670209578578353"
495
- },
496
- {
497
- "file": "packages/dictionaries/src/lib/DiskCache.ts",
498
- "hash": "6591280341137675547"
499
- },
500
- {
501
- "file": "packages/dictionaries/src/lib/LayeredCache.ts",
502
- "hash": "648465204682435627"
503
- },
504
- {
505
- "file": "packages/dictionaries/src/lib/MemoryCache.ts",
506
- "hash": "4401577659353577236"
507
- },
508
- {
509
- "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
510
- "hash": "12638296627527121283"
511
- },
512
- {
513
- "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
514
- "hash": "4282064259827246408"
515
- },
516
- {
517
- "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
518
- "hash": "2012587757658985290"
519
- },
520
- {
521
- "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
522
- "hash": "396532623119550129"
523
- },
524
- {
525
- "file": "packages/dictionaries/src/lib/index.ts",
526
- "hash": "17115552863689850465"
527
- },
528
- {
529
- "file": "packages/dictionaries/src/types.ts",
530
- "hash": "3626796416522339270"
531
- },
532
- {
533
- "file": "packages/dictionaries/tsconfig.json",
534
- "hash": "14393573143758511966"
535
- }
536
- ],
537
- "@scrabble-solver/logger": [
538
- {
539
- "file": "packages/logger/README.md",
540
- "hash": "16076881737681040638"
541
- },
542
- {
543
- "file": "packages/logger/package.json",
544
- "hash": "17146039181218771025",
545
- "deps": [
546
- "npm:winston@3.19.0"
547
- ]
548
- },
549
- {
550
- "file": "packages/logger/scripts/stats.js",
551
- "hash": "14633712956610723631"
552
- },
553
- {
554
- "file": "packages/logger/src/constants.ts",
555
- "hash": "9027236667651974941"
556
- },
557
- {
558
- "file": "packages/logger/src/index.ts",
559
- "hash": "5834074882708409826"
560
- },
561
- {
562
- "file": "packages/logger/src/logger.ts",
563
- "hash": "3288628780241056943"
564
- },
565
- {
566
- "file": "packages/logger/tsconfig.json",
567
- "hash": "14393573143758511966"
568
- }
569
- ],
128
+ {
129
+ "file": "nx.json",
130
+ "hash": "12408965950466853583"
131
+ },
132
+ {
133
+ "file": "e2e/bugs/363-dictionary-input-unique-words.spec.ts",
134
+ "hash": "10136099788036984424"
135
+ },
136
+ {
137
+ "file": "screencast.gif",
138
+ "hash": "3645943448649053991"
139
+ },
140
+ {
141
+ "file": "bump-version.js",
142
+ "hash": "3680747442718205672"
143
+ },
144
+ {
145
+ "file": ".oxfmtrc.json",
146
+ "hash": "12617766590679978798"
147
+ },
148
+ {
149
+ "file": "e2e/features/91-hover-remaining-tile-highlights.spec.ts",
150
+ "hash": "18064247430900029657"
151
+ },
152
+ {
153
+ "file": ".gitignore",
154
+ "hash": "18203720615087927405"
155
+ },
156
+ {
157
+ "file": "e2e/lib/index.ts",
158
+ "hash": "14256056309923157734"
159
+ },
160
+ {
161
+ "file": "lerna.json",
162
+ "hash": "3513455871549830963"
163
+ },
164
+ {
165
+ "file": ".github/workflows/oxlint.yml",
166
+ "hash": "1395882258753359117"
167
+ },
168
+ {
169
+ "file": "e2e/bugs/2-q-tile-in-english.spec.ts",
170
+ "hash": "17366215059024965214"
171
+ },
172
+ {
173
+ "file": "e2e/bugs/342-results-sorting.spec.ts",
174
+ "hash": "5175622516060397429"
175
+ },
176
+ {
177
+ "file": "bunfig.toml",
178
+ "hash": "16900079901051178068"
179
+ },
180
+ {
181
+ "file": "e2e/bugs/352-dictionary-race-condition.spec.ts",
182
+ "hash": "16189750433969723201"
183
+ },
184
+ {
185
+ "file": "playwright.config.ts",
186
+ "hash": "14922681992318383863"
187
+ },
188
+ {
189
+ "file": "e2e/bugs/333-disabled-radio-cursor.spec.ts",
190
+ "hash": "17113448168267699041"
191
+ },
192
+ {
193
+ "file": "e2e/features/198-highlight-unreachable-cells.spec.ts",
194
+ "hash": "11074290547022718664"
195
+ },
196
+ {
197
+ "file": ".github/workflows/deploy.yml",
198
+ "hash": "11085092697452560447"
199
+ },
200
+ {
201
+ "file": ".npmrc",
202
+ "hash": "8550214904053156014"
203
+ },
204
+ {
205
+ "file": "HISTORY.md",
206
+ "hash": "11882088838610928434"
207
+ },
208
+ {
209
+ "file": "LICENSE",
210
+ "hash": "2488235562441806084"
211
+ },
212
+ {
213
+ "file": "bin/scrabble-solver.js",
214
+ "hash": "1416719023314596262"
215
+ }
216
+ ],
217
+ "projectFileMap": {
570
218
  "@scrabble-solver/types": [
571
219
  {
572
220
  "file": "packages/types/README.md",
@@ -574,7 +222,7 @@
574
222
  },
575
223
  {
576
224
  "file": "packages/types/package.json",
577
- "hash": "4457430896626039911",
225
+ "hash": "8119939288545306372",
578
226
  "deps": [
579
227
  "@scrabble-solver/constants"
580
228
  ]
@@ -605,7 +253,7 @@
605
253
  },
606
254
  {
607
255
  "file": "packages/types/src/Cell.ts",
608
- "hash": "15324633768199703641"
256
+ "hash": "8626587745419165844"
609
257
  },
610
258
  {
611
259
  "file": "packages/types/src/CellJson.ts",
@@ -619,10 +267,6 @@
619
267
  "file": "packages/types/src/Collision.ts",
620
268
  "hash": "11514928176519920102"
621
269
  },
622
- {
623
- "file": "packages/types/src/CollisionJson.ts",
624
- "hash": "10124636440332970683"
625
- },
626
270
  {
627
271
  "file": "packages/types/src/Config.ts",
628
272
  "hash": "2576430300055128471"
@@ -636,40 +280,32 @@
636
280
  "hash": "104582099610553637"
637
281
  },
638
282
  {
639
- "file": "packages/types/src/FinalPattern.ts",
640
- "hash": "1023305706567596583"
283
+ "file": "packages/types/src/Direction.ts",
284
+ "hash": "162328705187601124"
641
285
  },
642
286
  {
643
287
  "file": "packages/types/src/Game.ts",
644
288
  "hash": "2143294380435431595"
645
289
  },
646
- {
647
- "file": "packages/types/src/HorizontalPattern.ts",
648
- "hash": "8770107180821950564"
649
- },
650
290
  {
651
291
  "file": "packages/types/src/Locale.ts",
652
292
  "hash": "10520730147026209201"
653
293
  },
654
- {
655
- "file": "packages/types/src/Pattern.ts",
656
- "hash": "7953103789621981714"
657
- },
658
- {
659
- "file": "packages/types/src/PatternJson.ts",
660
- "hash": "3203339139986825408"
661
- },
662
294
  {
663
295
  "file": "packages/types/src/Result.ts",
664
- "hash": "13134367001270000857"
296
+ "hash": "7402719829978917720"
665
297
  },
666
298
  {
667
299
  "file": "packages/types/src/ResultJson.ts",
668
- "hash": "4442410132118853428"
300
+ "hash": "6777063720137099065"
669
301
  },
670
302
  {
671
303
  "file": "packages/types/src/ShowCoordinates.ts",
672
- "hash": "10701598730104256101"
304
+ "hash": "17680033096808781432"
305
+ },
306
+ {
307
+ "file": "packages/types/src/TextDirection.ts",
308
+ "hash": "3385420391327595232"
673
309
  },
674
310
  {
675
311
  "file": "packages/types/src/Tile.ts",
@@ -683,10 +319,6 @@
683
319
  "file": "packages/types/src/TileJson.ts",
684
320
  "hash": "623347356678060640"
685
321
  },
686
- {
687
- "file": "packages/types/src/VerticalPattern.ts",
688
- "hash": "12947577357125116848"
689
- },
690
322
  {
691
323
  "file": "packages/types/src/WordBonus.ts",
692
324
  "hash": "13727795112998703187"
@@ -701,7 +333,7 @@
701
333
  },
702
334
  {
703
335
  "file": "packages/types/src/index.ts",
704
- "hash": "18241305110412388686"
336
+ "hash": "17155185910719459596"
705
337
  },
706
338
  {
707
339
  "file": "packages/types/src/isError.ts",
@@ -711,11 +343,117 @@
711
343
  "file": "packages/types/src/isObject.ts",
712
344
  "hash": "12200389762297734518"
713
345
  },
346
+ {
347
+ "file": "packages/types/src/readResultCells.test.ts",
348
+ "hash": "3004785766895515629"
349
+ },
350
+ {
351
+ "file": "packages/types/src/readResultCells.ts",
352
+ "hash": "6916425408710276820"
353
+ },
714
354
  {
715
355
  "file": "packages/types/tsconfig.json",
716
356
  "hash": "14393573143758511966"
717
357
  }
718
358
  ],
359
+ "@scrabble-solver/configs": [
360
+ {
361
+ "file": "packages/configs/README.md",
362
+ "hash": "6408492212348349035"
363
+ },
364
+ {
365
+ "file": "packages/configs/package.json",
366
+ "hash": "17998479736639189353",
367
+ "deps": [
368
+ "@scrabble-solver/constants",
369
+ "@scrabble-solver/types"
370
+ ]
371
+ },
372
+ {
373
+ "file": "packages/configs/src/games/crossplay.ts",
374
+ "hash": "16021566614416518615"
375
+ },
376
+ {
377
+ "file": "packages/configs/src/games/index.ts",
378
+ "hash": "16580546551436334473"
379
+ },
380
+ {
381
+ "file": "packages/configs/src/games/kelimelik.ts",
382
+ "hash": "8950283052021127979"
383
+ },
384
+ {
385
+ "file": "packages/configs/src/games/letterLeague.ts",
386
+ "hash": "8462198127509215788"
387
+ },
388
+ {
389
+ "file": "packages/configs/src/games/literaki.ts",
390
+ "hash": "7033507003854208537"
391
+ },
392
+ {
393
+ "file": "packages/configs/src/games/scrabble.ts",
394
+ "hash": "18218540760290077603"
395
+ },
396
+ {
397
+ "file": "packages/configs/src/games/scrabbleDuel.ts",
398
+ "hash": "4836733622693563212"
399
+ },
400
+ {
401
+ "file": "packages/configs/src/games/superScrabble.ts",
402
+ "hash": "17447393258816850978"
403
+ },
404
+ {
405
+ "file": "packages/configs/src/getConfig.ts",
406
+ "hash": "2532535760263476394"
407
+ },
408
+ {
409
+ "file": "packages/configs/src/hasConfig.ts",
410
+ "hash": "3549979696544493656"
411
+ },
412
+ {
413
+ "file": "packages/configs/src/index.ts",
414
+ "hash": "12104092412421460190"
415
+ },
416
+ {
417
+ "file": "packages/configs/src/languages/english.ts",
418
+ "hash": "7535121473879804895"
419
+ },
420
+ {
421
+ "file": "packages/configs/src/languages/french.ts",
422
+ "hash": "12248709442008050794"
423
+ },
424
+ {
425
+ "file": "packages/configs/src/languages/german.ts",
426
+ "hash": "15430977815804666604"
427
+ },
428
+ {
429
+ "file": "packages/configs/src/languages/index.ts",
430
+ "hash": "6554636328320279077"
431
+ },
432
+ {
433
+ "file": "packages/configs/src/languages/persian.ts",
434
+ "hash": "1614638689491705120"
435
+ },
436
+ {
437
+ "file": "packages/configs/src/languages/polish.ts",
438
+ "hash": "17941542313550365356"
439
+ },
440
+ {
441
+ "file": "packages/configs/src/languages/romanian.ts",
442
+ "hash": "15366974472215186064"
443
+ },
444
+ {
445
+ "file": "packages/configs/src/languages/spanish.ts",
446
+ "hash": "289235670795048535"
447
+ },
448
+ {
449
+ "file": "packages/configs/src/languages/turkish.ts",
450
+ "hash": "10240746041524805456"
451
+ },
452
+ {
453
+ "file": "packages/configs/tsconfig.json",
454
+ "hash": "14393573143758511966"
455
+ }
456
+ ],
719
457
  "@scrabble-solver/scrabble-solver": [
720
458
  {
721
459
  "file": "packages/scrabble-solver/.env",
@@ -729,13 +467,17 @@
729
467
  "file": "packages/scrabble-solver/README.md",
730
468
  "hash": "5058221097543251161"
731
469
  },
470
+ {
471
+ "file": "packages/scrabble-solver/empty-module.js",
472
+ "hash": "13493692606023692693"
473
+ },
732
474
  {
733
475
  "file": "packages/scrabble-solver/next.config.js",
734
- "hash": "16301860230680148284"
476
+ "hash": "6931986176317684663"
735
477
  },
736
478
  {
737
479
  "file": "packages/scrabble-solver/package.json",
738
- "hash": "5712936609143642302",
480
+ "hash": "13564768084716020833",
739
481
  "deps": [
740
482
  "npm:@svgr/webpack@8.1.0",
741
483
  "npm:@types/react@19.2.18",
@@ -743,9 +485,10 @@
743
485
  "npm:@types/react-highlight-words@0.20.1",
744
486
  "npm:@types/react-modal@3.16.3",
745
487
  "npm:@types/react-portal@4.0.7",
488
+ "npm:postcss@8.5.26",
746
489
  "npm:sass@1.102.0",
747
490
  "npm:@floating-ui/react@0.27.20",
748
- "npm:@kamilmielnik/trie",
491
+ "npm:@kamilmielnik/gaddag@2.0.0",
749
492
  "npm:@reduxjs/toolkit@2.12.0",
750
493
  "@scrabble-solver/configs",
751
494
  "@scrabble-solver/constants",
@@ -758,7 +501,7 @@
758
501
  "npm:env-cmd@11.0.0",
759
502
  "npm:include-media@2.0.0",
760
503
  "npm:include-media-query-builder@1.1.0",
761
- "npm:next@16.3.0-preview.10",
504
+ "npm:next@16.3.1",
762
505
  "npm:normalize.css@8.0.1",
763
506
  "npm:react@19.2.8",
764
507
  "npm:react-cool-onclickoutside@1.7.0",
@@ -769,7 +512,6 @@
769
512
  "npm:react-window@2.3.0",
770
513
  "npm:redux-saga@1.5.1",
771
514
  "npm:store2@2.14.4",
772
- "npm:transliteration@2.6.1",
773
515
  "npm:use-debounce@10.1.1",
774
516
  "npm:workbox-expiration@7.4.1",
775
517
  "npm:workbox-precaching@7.4.1",
@@ -858,6 +600,10 @@
858
600
  "file": "packages/scrabble-solver/public/icons/mstile-70x70.png",
859
601
  "hash": "7186005883847724846"
860
602
  },
603
+ {
604
+ "file": "packages/scrabble-solver/public/llms.txt",
605
+ "hash": "3598727609347803342"
606
+ },
861
607
  {
862
608
  "file": "packages/scrabble-solver/public/logo.svg",
863
609
  "hash": "1286344112830940878"
@@ -866,17 +612,25 @@
866
612
  "file": "packages/scrabble-solver/public/og.png",
867
613
  "hash": "259771555953050094"
868
614
  },
615
+ {
616
+ "file": "packages/scrabble-solver/public/robots.txt",
617
+ "hash": "13464943920962187972"
618
+ },
869
619
  {
870
620
  "file": "packages/scrabble-solver/public/sitemap.xml",
871
621
  "hash": "3136821737221683946"
872
622
  },
623
+ {
624
+ "file": "packages/scrabble-solver/scripts/generate-scss-types.ts",
625
+ "hash": "13001520672053492595"
626
+ },
873
627
  {
874
628
  "file": "packages/scrabble-solver/src/@types/scss.d.ts",
875
- "hash": "17966339606674311068"
629
+ "hash": "16793466932352957514"
876
630
  },
877
631
  {
878
632
  "file": "packages/scrabble-solver/src/@types/svg.d.ts",
879
- "hash": "3211485889982384549"
633
+ "hash": "15823533101561394619"
880
634
  },
881
635
  {
882
636
  "file": "packages/scrabble-solver/src/api/getServerLoggingData.ts",
@@ -902,25 +656,13 @@
902
656
  "file": "packages/scrabble-solver/src/api/isRowValid.ts",
903
657
  "hash": "12553606709144929539"
904
658
  },
905
- {
906
- "file": "packages/scrabble-solver/src/app-layout/AppLayoutContext.tsx",
907
- "hash": "12908848157935976421"
908
- },
909
- {
910
- "file": "packages/scrabble-solver/src/app-layout/index.ts",
911
- "hash": "14767256002888557669"
912
- },
913
- {
914
- "file": "packages/scrabble-solver/src/app-layout/useAppLayoutValue.ts",
915
- "hash": "7278419823893927109"
916
- },
917
659
  {
918
660
  "file": "packages/scrabble-solver/src/components/Alert/Alert.module.scss",
919
661
  "hash": "3546260336538294049"
920
662
  },
921
663
  {
922
664
  "file": "packages/scrabble-solver/src/components/Alert/Alert.tsx",
923
- "hash": "14095697690756261394"
665
+ "hash": "11236321748115093130"
924
666
  },
925
667
  {
926
668
  "file": "packages/scrabble-solver/src/components/Alert/index.ts",
@@ -940,23 +682,23 @@
940
682
  },
941
683
  {
942
684
  "file": "packages/scrabble-solver/src/components/Board/Board.module.scss",
943
- "hash": "8924938414079946013"
685
+ "hash": "15703088031370049068"
944
686
  },
945
687
  {
946
688
  "file": "packages/scrabble-solver/src/components/Board/Board.tsx",
947
- "hash": "17117004330085940270"
689
+ "hash": "9508302800914824997"
948
690
  },
949
691
  {
950
692
  "file": "packages/scrabble-solver/src/components/Board/BoardPure.tsx",
951
- "hash": "11206087071926343546"
693
+ "hash": "11634282012742336183"
952
694
  },
953
695
  {
954
696
  "file": "packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss",
955
- "hash": "11424409974692986459"
697
+ "hash": "741695699315214182"
956
698
  },
957
699
  {
958
700
  "file": "packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx",
959
- "hash": "87215897234577756"
701
+ "hash": "9620806394028474536"
960
702
  },
961
703
  {
962
704
  "file": "packages/scrabble-solver/src/components/Board/components/Actions/index.ts",
@@ -964,7 +706,7 @@
964
706
  },
965
707
  {
966
708
  "file": "packages/scrabble-solver/src/components/Board/components/Actions/lib.ts",
967
- "hash": "11404776641440873691"
709
+ "hash": "10896757923771609544"
968
710
  },
969
711
  {
970
712
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss",
@@ -972,7 +714,7 @@
972
714
  },
973
715
  {
974
716
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx",
975
- "hash": "7527704143704525496"
717
+ "hash": "2383975917175866865"
976
718
  },
977
719
  {
978
720
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/index.ts",
@@ -984,7 +726,7 @@
984
726
  },
985
727
  {
986
728
  "file": "packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.tsx",
987
- "hash": "13834292547533649734"
729
+ "hash": "1646231563182175090"
988
730
  },
989
731
  {
990
732
  "file": "packages/scrabble-solver/src/components/Board/components/InputPrompt/index.ts",
@@ -996,7 +738,7 @@
996
738
  },
997
739
  {
998
740
  "file": "packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx",
999
- "hash": "12010426365734026401"
741
+ "hash": "2468228633827805322"
1000
742
  },
1001
743
  {
1002
744
  "file": "packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/index.ts",
@@ -1007,20 +749,20 @@
1007
749
  "hash": "18366983789673534331"
1008
750
  },
1009
751
  {
1010
- "file": "packages/scrabble-solver/src/components/Board/hooks/index.ts",
1011
- "hash": "10952437162762647753"
752
+ "file": "packages/scrabble-solver/src/components/Board/getBoardBackground.ts",
753
+ "hash": "6104852703012399629"
1012
754
  },
1013
755
  {
1014
- "file": "packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx",
1015
- "hash": "3119020765964364545"
756
+ "file": "packages/scrabble-solver/src/components/Board/hooks/index.ts",
757
+ "hash": "3423094842950084860"
1016
758
  },
1017
759
  {
1018
760
  "file": "packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts",
1019
- "hash": "2124645717515581938"
761
+ "hash": "17868040624936895527"
1020
762
  },
1021
763
  {
1022
764
  "file": "packages/scrabble-solver/src/components/Board/hooks/useFloatingActions.ts",
1023
- "hash": "14015489373187250150"
765
+ "hash": "7823401270706297982"
1024
766
  },
1025
767
  {
1026
768
  "file": "packages/scrabble-solver/src/components/Board/hooks/useFloatingFocus.ts",
@@ -1032,7 +774,7 @@
1032
774
  },
1033
775
  {
1034
776
  "file": "packages/scrabble-solver/src/components/Board/hooks/useGrid.ts",
1035
- "hash": "13490186602715248341"
777
+ "hash": "4355940752136021378"
1036
778
  },
1037
779
  {
1038
780
  "file": "packages/scrabble-solver/src/components/Board/index.ts",
@@ -1044,7 +786,7 @@
1044
786
  },
1045
787
  {
1046
788
  "file": "packages/scrabble-solver/src/components/Board/selectors.ts",
1047
- "hash": "11856342522171730730"
789
+ "hash": "9081946951067540126"
1048
790
  },
1049
791
  {
1050
792
  "file": "packages/scrabble-solver/src/components/Button/Button.module.scss",
@@ -1064,11 +806,11 @@
1064
806
  },
1065
807
  {
1066
808
  "file": "packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss",
1067
- "hash": "12512301526984530286"
809
+ "hash": "9012728431411556211"
1068
810
  },
1069
811
  {
1070
812
  "file": "packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx",
1071
- "hash": "10479944454962076860"
813
+ "hash": "5795536874399266246"
1072
814
  },
1073
815
  {
1074
816
  "file": "packages/scrabble-solver/src/components/Dictionary/index.ts",
@@ -1080,7 +822,7 @@
1080
822
  },
1081
823
  {
1082
824
  "file": "packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx",
1083
- "hash": "16918757185841312313"
825
+ "hash": "3302966372252943774"
1084
826
  },
1085
827
  {
1086
828
  "file": "packages/scrabble-solver/src/components/DictionaryInput/index.ts",
@@ -1092,7 +834,7 @@
1092
834
  },
1093
835
  {
1094
836
  "file": "packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx",
1095
- "hash": "18112113844849865593"
837
+ "hash": "15586698059185929378"
1096
838
  },
1097
839
  {
1098
840
  "file": "packages/scrabble-solver/src/components/EmptyState/index.ts",
@@ -1132,7 +874,7 @@
1132
874
  },
1133
875
  {
1134
876
  "file": "packages/scrabble-solver/src/components/Keys/Arrows/Arrows.tsx",
1135
- "hash": "12136990566819783042"
877
+ "hash": "1019458114110322414"
1136
878
  },
1137
879
  {
1138
880
  "file": "packages/scrabble-solver/src/components/Keys/Arrows/index.ts",
@@ -1140,7 +882,7 @@
1140
882
  },
1141
883
  {
1142
884
  "file": "packages/scrabble-solver/src/components/Keys/index.tsx",
1143
- "hash": "15777163840791798386"
885
+ "hash": "4161173809254114785"
1144
886
  },
1145
887
  {
1146
888
  "file": "packages/scrabble-solver/src/components/Loading/Loading.module.scss",
@@ -1148,7 +890,7 @@
1148
890
  },
1149
891
  {
1150
892
  "file": "packages/scrabble-solver/src/components/Loading/Loading.tsx",
1151
- "hash": "14163739262728442661"
893
+ "hash": "7888339775697826240"
1152
894
  },
1153
895
  {
1154
896
  "file": "packages/scrabble-solver/src/components/Loading/index.ts",
@@ -1156,11 +898,11 @@
1156
898
  },
1157
899
  {
1158
900
  "file": "packages/scrabble-solver/src/components/Logo/Logo.tsx",
1159
- "hash": "909261585280026268"
901
+ "hash": "12172876733631922457"
1160
902
  },
1161
903
  {
1162
904
  "file": "packages/scrabble-solver/src/components/Logo/LogoBlueprint.tsx",
1163
- "hash": "15950554039965414084"
905
+ "hash": "11971171570229102345"
1164
906
  },
1165
907
  {
1166
908
  "file": "packages/scrabble-solver/src/components/Logo/index.ts",
@@ -1172,7 +914,7 @@
1172
914
  },
1173
915
  {
1174
916
  "file": "packages/scrabble-solver/src/components/Modal/Modal.tsx",
1175
- "hash": "274759657727577907"
917
+ "hash": "191294477150826875"
1176
918
  },
1177
919
  {
1178
920
  "file": "packages/scrabble-solver/src/components/Modal/components/Section/Section.module.scss",
@@ -1196,11 +938,11 @@
1196
938
  },
1197
939
  {
1198
940
  "file": "packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss",
1199
- "hash": "15394306614056074519"
941
+ "hash": "8189717539900169330"
1200
942
  },
1201
943
  {
1202
944
  "file": "packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx",
1203
- "hash": "17388243664943893240"
945
+ "hash": "14285957622209302719"
1204
946
  },
1205
947
  {
1206
948
  "file": "packages/scrabble-solver/src/components/NavButtons/index.ts",
@@ -1216,7 +958,7 @@
1216
958
  },
1217
959
  {
1218
960
  "file": "packages/scrabble-solver/src/components/NotFound/NotFound.tsx",
1219
- "hash": "11392991258037744952"
961
+ "hash": "5201131259185804847"
1220
962
  },
1221
963
  {
1222
964
  "file": "packages/scrabble-solver/src/components/NotFound/index.ts",
@@ -1228,11 +970,11 @@
1228
970
  },
1229
971
  {
1230
972
  "file": "packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx",
1231
- "hash": "15385414731124422224"
973
+ "hash": "12875373436409474614"
1232
974
  },
1233
975
  {
1234
976
  "file": "packages/scrabble-solver/src/components/PlainTiles/Tile.tsx",
1235
- "hash": "6579501141160868310"
977
+ "hash": "6771672395608167395"
1236
978
  },
1237
979
  {
1238
980
  "file": "packages/scrabble-solver/src/components/PlainTiles/index.ts",
@@ -1240,19 +982,19 @@
1240
982
  },
1241
983
  {
1242
984
  "file": "packages/scrabble-solver/src/components/PlainTiles/lib.ts",
1243
- "hash": "15625490155509489000"
985
+ "hash": "1220202566035181680"
1244
986
  },
1245
987
  {
1246
988
  "file": "packages/scrabble-solver/src/components/PlainTiles/types.ts",
1247
- "hash": "6665293492759708792"
989
+ "hash": "11733456006264709737"
1248
990
  },
1249
991
  {
1250
992
  "file": "packages/scrabble-solver/src/components/Progress/Progress.module.scss",
1251
- "hash": "18178269979332161485"
993
+ "hash": "6580720978428793158"
1252
994
  },
1253
995
  {
1254
996
  "file": "packages/scrabble-solver/src/components/Progress/Progress.tsx",
1255
- "hash": "12434732841292423464"
997
+ "hash": "10553675753882347145"
1256
998
  },
1257
999
  {
1258
1000
  "file": "packages/scrabble-solver/src/components/Progress/index.ts",
@@ -1260,19 +1002,19 @@
1260
1002
  },
1261
1003
  {
1262
1004
  "file": "packages/scrabble-solver/src/components/Rack/Rack.module.scss",
1263
- "hash": "10543986874328794079"
1005
+ "hash": "17019189671092603028"
1264
1006
  },
1265
1007
  {
1266
1008
  "file": "packages/scrabble-solver/src/components/Rack/Rack.tsx",
1267
- "hash": "4422648868568720351"
1009
+ "hash": "17810012192145929424"
1268
1010
  },
1269
1011
  {
1270
1012
  "file": "packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss",
1271
- "hash": "7076778266937678398"
1013
+ "hash": "8313267461299829415"
1272
1014
  },
1273
1015
  {
1274
1016
  "file": "packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx",
1275
- "hash": "11844968211428183539"
1017
+ "hash": "14703412742905952888"
1276
1018
  },
1277
1019
  {
1278
1020
  "file": "packages/scrabble-solver/src/components/Rack/components/InputPrompt/index.ts",
@@ -1284,7 +1026,7 @@
1284
1026
  },
1285
1027
  {
1286
1028
  "file": "packages/scrabble-solver/src/components/Rack/components/InputPrompt/lib.ts",
1287
- "hash": "4523049450533722777"
1029
+ "hash": "175807152912622958"
1288
1030
  },
1289
1031
  {
1290
1032
  "file": "packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss",
@@ -1292,7 +1034,7 @@
1292
1034
  },
1293
1035
  {
1294
1036
  "file": "packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx",
1295
- "hash": "9223882543127617016"
1037
+ "hash": "1026422623366708832"
1296
1038
  },
1297
1039
  {
1298
1040
  "file": "packages/scrabble-solver/src/components/Rack/components/RackTile/index.ts",
@@ -1308,7 +1050,7 @@
1308
1050
  },
1309
1051
  {
1310
1052
  "file": "packages/scrabble-solver/src/components/Rack/selectors.ts",
1311
- "hash": "18040706060364848446"
1053
+ "hash": "7033288399639547696"
1312
1054
  },
1313
1055
  {
1314
1056
  "file": "packages/scrabble-solver/src/components/Radio/Radio.module.scss",
@@ -1324,31 +1066,31 @@
1324
1066
  },
1325
1067
  {
1326
1068
  "file": "packages/scrabble-solver/src/components/Results/Cell.tsx",
1327
- "hash": "11641263158698464307"
1069
+ "hash": "8441790142551010654"
1328
1070
  },
1329
1071
  {
1330
1072
  "file": "packages/scrabble-solver/src/components/Results/Header.tsx",
1331
- "hash": "9270406200231485486"
1073
+ "hash": "16350099015998995146"
1332
1074
  },
1333
1075
  {
1334
1076
  "file": "packages/scrabble-solver/src/components/Results/HeaderButton.tsx",
1335
- "hash": "6141192639606664206"
1077
+ "hash": "7517686699282198337"
1336
1078
  },
1337
1079
  {
1338
1080
  "file": "packages/scrabble-solver/src/components/Results/Result.tsx",
1339
- "hash": "12361052085443411660"
1081
+ "hash": "16301869113013605789"
1340
1082
  },
1341
1083
  {
1342
1084
  "file": "packages/scrabble-solver/src/components/Results/Results.module.scss",
1343
- "hash": "12185613404634964759"
1085
+ "hash": "8766934311518079609"
1344
1086
  },
1345
1087
  {
1346
1088
  "file": "packages/scrabble-solver/src/components/Results/Results.tsx",
1347
- "hash": "5049080623241129086"
1089
+ "hash": "12223787512904616446"
1348
1090
  },
1349
1091
  {
1350
1092
  "file": "packages/scrabble-solver/src/components/Results/SolveButton.tsx",
1351
- "hash": "11387088702552676568"
1093
+ "hash": "7569907981769735492"
1352
1094
  },
1353
1095
  {
1354
1096
  "file": "packages/scrabble-solver/src/components/Results/index.ts",
@@ -1356,7 +1098,7 @@
1356
1098
  },
1357
1099
  {
1358
1100
  "file": "packages/scrabble-solver/src/components/Results/types.ts",
1359
- "hash": "3970651511308331201"
1101
+ "hash": "15100132440144158398"
1360
1102
  },
1361
1103
  {
1362
1104
  "file": "packages/scrabble-solver/src/components/ResultsInput/ResultsInput.module.scss",
@@ -1364,7 +1106,7 @@
1364
1106
  },
1365
1107
  {
1366
1108
  "file": "packages/scrabble-solver/src/components/ResultsInput/ResultsInput.tsx",
1367
- "hash": "3294765104409780960"
1109
+ "hash": "149836153121964425"
1368
1110
  },
1369
1111
  {
1370
1112
  "file": "packages/scrabble-solver/src/components/ResultsInput/index.ts",
@@ -1380,11 +1122,11 @@
1380
1122
  },
1381
1123
  {
1382
1124
  "file": "packages/scrabble-solver/src/components/Solver/Solver.module.scss",
1383
- "hash": "4536068958075659644"
1125
+ "hash": "15306944177444535283"
1384
1126
  },
1385
1127
  {
1386
1128
  "file": "packages/scrabble-solver/src/components/Solver/Solver.tsx",
1387
- "hash": "2039814352197717985"
1129
+ "hash": "997642214249043602"
1388
1130
  },
1389
1131
  {
1390
1132
  "file": "packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss",
@@ -1392,7 +1134,7 @@
1392
1134
  },
1393
1135
  {
1394
1136
  "file": "packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.tsx",
1395
- "hash": "2216387082785848329"
1137
+ "hash": "13977585055837675956"
1396
1138
  },
1397
1139
  {
1398
1140
  "file": "packages/scrabble-solver/src/components/Solver/components/InsertButton/index.ts",
@@ -1404,7 +1146,7 @@
1404
1146
  },
1405
1147
  {
1406
1148
  "file": "packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx",
1407
- "hash": "10127194970395780000"
1149
+ "hash": "10113492095466606207"
1408
1150
  },
1409
1151
  {
1410
1152
  "file": "packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/index.ts",
@@ -1432,15 +1174,15 @@
1432
1174
  },
1433
1175
  {
1434
1176
  "file": "packages/scrabble-solver/src/components/Tile/Tile.module.scss",
1435
- "hash": "1236378381203062431"
1177
+ "hash": "3933923085643834763"
1436
1178
  },
1437
1179
  {
1438
1180
  "file": "packages/scrabble-solver/src/components/Tile/Tile.tsx",
1439
- "hash": "16279416750215331042"
1181
+ "hash": "15487235046064475348"
1440
1182
  },
1441
1183
  {
1442
1184
  "file": "packages/scrabble-solver/src/components/Tile/TilePure.tsx",
1443
- "hash": "1202008339380158963"
1185
+ "hash": "14645861206362668997"
1444
1186
  },
1445
1187
  {
1446
1188
  "file": "packages/scrabble-solver/src/components/Tile/index.ts",
@@ -1452,7 +1194,7 @@
1452
1194
  },
1453
1195
  {
1454
1196
  "file": "packages/scrabble-solver/src/components/Tooltip/Tooltip.tsx",
1455
- "hash": "8051672305374126766"
1197
+ "hash": "6507911195329100985"
1456
1198
  },
1457
1199
  {
1458
1200
  "file": "packages/scrabble-solver/src/components/Tooltip/TooltipContent.tsx",
@@ -1472,23 +1214,19 @@
1472
1214
  },
1473
1215
  {
1474
1216
  "file": "packages/scrabble-solver/src/components/Tooltip/useTooltip.ts",
1475
- "hash": "13769055576955839310"
1217
+ "hash": "12506639661712779514"
1476
1218
  },
1477
1219
  {
1478
- "file": "packages/scrabble-solver/src/components/index.ts",
1479
- "hash": "13290218494044316626"
1480
- },
1481
- {
1482
- "file": "packages/scrabble-solver/src/hooks/index.ts",
1483
- "hash": "5357688638961136254"
1220
+ "file": "packages/scrabble-solver/src/hooks/useColumns.ts",
1221
+ "hash": "12050928765447366765"
1484
1222
  },
1485
1223
  {
1486
- "file": "packages/scrabble-solver/src/hooks/useColumns.ts",
1487
- "hash": "12374545302216214229"
1224
+ "file": "packages/scrabble-solver/src/hooks/useDeferredRender.ts",
1225
+ "hash": "611970613665489270"
1488
1226
  },
1489
1227
  {
1490
1228
  "file": "packages/scrabble-solver/src/hooks/useDirection.ts",
1491
- "hash": "16342706381415218696"
1229
+ "hash": "14385050722697445429"
1492
1230
  },
1493
1231
  {
1494
1232
  "file": "packages/scrabble-solver/src/hooks/useEffectOnce.ts",
@@ -1500,7 +1238,7 @@
1500
1238
  },
1501
1239
  {
1502
1240
  "file": "packages/scrabble-solver/src/hooks/useLanguage.ts",
1503
- "hash": "3376305315468404143"
1241
+ "hash": "2335187227998956356"
1504
1242
  },
1505
1243
  {
1506
1244
  "file": "packages/scrabble-solver/src/hooks/useLatest.ts",
@@ -1508,11 +1246,11 @@
1508
1246
  },
1509
1247
  {
1510
1248
  "file": "packages/scrabble-solver/src/hooks/useLocalStorage.ts",
1511
- "hash": "16613413538219716570"
1249
+ "hash": "14415408854944768476"
1512
1250
  },
1513
1251
  {
1514
1252
  "file": "packages/scrabble-solver/src/hooks/useMedia.ts",
1515
- "hash": "6809971733018385339"
1253
+ "hash": "6144795170361293458"
1516
1254
  },
1517
1255
  {
1518
1256
  "file": "packages/scrabble-solver/src/hooks/useMediaQueries.ts",
@@ -1522,57 +1260,49 @@
1522
1260
  "file": "packages/scrabble-solver/src/hooks/useMediaQuery.ts",
1523
1261
  "hash": "2415588663680166561"
1524
1262
  },
1525
- {
1526
- "file": "packages/scrabble-solver/src/hooks/useOnWindowResize.ts",
1527
- "hash": "4023812120086476209"
1528
- },
1529
- {
1530
- "file": "packages/scrabble-solver/src/hooks/useViewportSize.ts",
1531
- "hash": "6452379002225538658"
1532
- },
1533
1263
  {
1534
1264
  "file": "packages/scrabble-solver/src/i18n/constants.ts",
1535
- "hash": "4352682165250972054"
1265
+ "hash": "8113676295829089314"
1536
1266
  },
1537
1267
  {
1538
1268
  "file": "packages/scrabble-solver/src/i18n/i18n.ts",
1539
- "hash": "9713929258489393420"
1540
- },
1541
- {
1542
- "file": "packages/scrabble-solver/src/i18n/index.ts",
1543
- "hash": "641974116488776100"
1269
+ "hash": "17625374049717604939"
1544
1270
  },
1545
1271
  {
1546
1272
  "file": "packages/scrabble-solver/src/i18n/languages/english.json",
1547
- "hash": "17828829688513802602"
1273
+ "hash": "16587914736075057912"
1548
1274
  },
1549
1275
  {
1550
1276
  "file": "packages/scrabble-solver/src/i18n/languages/french.json",
1551
- "hash": "119739653524972348"
1277
+ "hash": "3452871903010402865"
1552
1278
  },
1553
1279
  {
1554
1280
  "file": "packages/scrabble-solver/src/i18n/languages/german.json",
1555
- "hash": "3846741369006707962"
1281
+ "hash": "17420602425169855841"
1556
1282
  },
1557
1283
  {
1558
1284
  "file": "packages/scrabble-solver/src/i18n/languages/persian.json",
1559
- "hash": "11453921270359328706"
1285
+ "hash": "4223796776532781655"
1560
1286
  },
1561
1287
  {
1562
1288
  "file": "packages/scrabble-solver/src/i18n/languages/polish.json",
1563
- "hash": "18427509839876334524"
1289
+ "hash": "1313170891145026005"
1564
1290
  },
1565
1291
  {
1566
1292
  "file": "packages/scrabble-solver/src/i18n/languages/romanian.json",
1567
- "hash": "12854346655239388628"
1293
+ "hash": "180683996483422803"
1568
1294
  },
1569
1295
  {
1570
1296
  "file": "packages/scrabble-solver/src/i18n/languages/spanish.json",
1571
- "hash": "16253178652061706544"
1297
+ "hash": "15219900599904927789"
1572
1298
  },
1573
1299
  {
1574
1300
  "file": "packages/scrabble-solver/src/i18n/languages/turkish.json",
1575
- "hash": "15302152705988958636"
1301
+ "hash": "286092749505992313"
1302
+ },
1303
+ {
1304
+ "file": "packages/scrabble-solver/src/i18n/localeIcons.ts",
1305
+ "hash": "6887970746547683442"
1576
1306
  },
1577
1307
  {
1578
1308
  "file": "packages/scrabble-solver/src/icons/ArrowDown.svg",
@@ -1654,10 +1384,6 @@
1654
1384
  "file": "packages/scrabble-solver/src/icons/EyeFill.svg",
1655
1385
  "hash": "432300670143503487"
1656
1386
  },
1657
- {
1658
- "file": "packages/scrabble-solver/src/icons/Flag.svg",
1659
- "hash": "5538035650821707246"
1660
- },
1661
1387
  {
1662
1388
  "file": "packages/scrabble-solver/src/icons/FlagDe.svg",
1663
1389
  "hash": "15774219161764831729"
@@ -1762,18 +1488,10 @@
1762
1488
  "file": "packages/scrabble-solver/src/icons/Squares.svg",
1763
1489
  "hash": "5140992854891469068"
1764
1490
  },
1765
- {
1766
- "file": "packages/scrabble-solver/src/icons/Star.svg",
1767
- "hash": "6603638712222312810"
1768
- },
1769
1491
  {
1770
1492
  "file": "packages/scrabble-solver/src/icons/Words.svg",
1771
1493
  "hash": "5621691638238139481"
1772
1494
  },
1773
- {
1774
- "file": "packages/scrabble-solver/src/icons/index.ts",
1775
- "hash": "7419656675609945335"
1776
- },
1777
1495
  {
1778
1496
  "file": "packages/scrabble-solver/src/lib/arrayEquals.ts",
1779
1497
  "hash": "16413420407330321870"
@@ -1830,14 +1548,6 @@
1830
1548
  "file": "packages/scrabble-solver/src/lib/getCoordinate.ts",
1831
1549
  "hash": "5198353317059658441"
1832
1550
  },
1833
- {
1834
- "file": "packages/scrabble-solver/src/lib/getTileSizes.ts",
1835
- "hash": "4001686605122600301"
1836
- },
1837
- {
1838
- "file": "packages/scrabble-solver/src/lib/index.ts",
1839
- "hash": "3714768565564233641"
1840
- },
1841
1551
  {
1842
1552
  "file": "packages/scrabble-solver/src/lib/inverseDirection.ts",
1843
1553
  "hash": "15207901295778768470"
@@ -1860,11 +1570,11 @@
1860
1570
  },
1861
1571
  {
1862
1572
  "file": "packages/scrabble-solver/src/lib/localeTransliterate.test.ts",
1863
- "hash": "10917228813966634622"
1573
+ "hash": "15543035212113322103"
1864
1574
  },
1865
1575
  {
1866
1576
  "file": "packages/scrabble-solver/src/lib/localeTransliterate.ts",
1867
- "hash": "9951230762820301480"
1577
+ "hash": "125691036742308383"
1868
1578
  },
1869
1579
  {
1870
1580
  "file": "packages/scrabble-solver/src/lib/memoize.ts",
@@ -1886,6 +1596,10 @@
1886
1596
  "file": "packages/scrabble-solver/src/lib/unorderedArraysEqual.ts",
1887
1597
  "hash": "10108492274492482147"
1888
1598
  },
1599
+ {
1600
+ "file": "packages/scrabble-solver/src/lib/waitForIdleOrFirstIntent.ts",
1601
+ "hash": "4507360362679796705"
1602
+ },
1889
1603
  {
1890
1604
  "file": "packages/scrabble-solver/src/lib/zipCharactersAndTiles.ts",
1891
1605
  "hash": "7220863563196925413"
@@ -1896,7 +1610,7 @@
1896
1610
  },
1897
1611
  {
1898
1612
  "file": "packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.tsx",
1899
- "hash": "7585516541324567912"
1613
+ "hash": "4130505298112044990"
1900
1614
  },
1901
1615
  {
1902
1616
  "file": "packages/scrabble-solver/src/modals/DictionaryModal/index.ts",
@@ -1904,7 +1618,7 @@
1904
1618
  },
1905
1619
  {
1906
1620
  "file": "packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx",
1907
- "hash": "15428155482271400106"
1621
+ "hash": "15823933390263022420"
1908
1622
  },
1909
1623
  {
1910
1624
  "file": "packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss",
@@ -1928,11 +1642,11 @@
1928
1642
  },
1929
1643
  {
1930
1644
  "file": "packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss",
1931
- "hash": "7076770384212374486"
1645
+ "hash": "3344578095709671109"
1932
1646
  },
1933
1647
  {
1934
1648
  "file": "packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx",
1935
- "hash": "2766366505916601677"
1649
+ "hash": "9536858999709984230"
1936
1650
  },
1937
1651
  {
1938
1652
  "file": "packages/scrabble-solver/src/modals/MenuModal/index.ts",
@@ -1940,19 +1654,19 @@
1940
1654
  },
1941
1655
  {
1942
1656
  "file": "packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss",
1943
- "hash": "6736950431461354621"
1657
+ "hash": "6709225029544089793"
1944
1658
  },
1945
1659
  {
1946
1660
  "file": "packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.tsx",
1947
- "hash": "8622482229405363982"
1661
+ "hash": "55843815492035539"
1948
1662
  },
1949
1663
  {
1950
1664
  "file": "packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss",
1951
- "hash": "13045084209135796778"
1665
+ "hash": "15551131334281000557"
1952
1666
  },
1953
1667
  {
1954
1668
  "file": "packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.tsx",
1955
- "hash": "12852053454824882572"
1669
+ "hash": "16135571193834018494"
1956
1670
  },
1957
1671
  {
1958
1672
  "file": "packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/index.ts",
@@ -1980,7 +1694,7 @@
1980
1694
  },
1981
1695
  {
1982
1696
  "file": "packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.tsx",
1983
- "hash": "16393264294333680767"
1697
+ "hash": "10896334546340162001"
1984
1698
  },
1985
1699
  {
1986
1700
  "file": "packages/scrabble-solver/src/modals/ResultsModal/index.ts",
@@ -1988,7 +1702,7 @@
1988
1702
  },
1989
1703
  {
1990
1704
  "file": "packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx",
1991
- "hash": "8774690606573151860"
1705
+ "hash": "12027073741307505480"
1992
1706
  },
1993
1707
  {
1994
1708
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss",
@@ -1996,7 +1710,7 @@
1996
1710
  },
1997
1711
  {
1998
1712
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx",
1999
- "hash": "12861786194321651666"
1713
+ "hash": "15610111336271206968"
2000
1714
  },
2001
1715
  {
2002
1716
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/constants.ts",
@@ -2016,7 +1730,7 @@
2016
1730
  },
2017
1731
  {
2018
1732
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx",
2019
- "hash": "8782424068589069499"
1733
+ "hash": "7698015702604418717"
2020
1734
  },
2021
1735
  {
2022
1736
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/index.ts",
@@ -2032,7 +1746,7 @@
2032
1746
  },
2033
1747
  {
2034
1748
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.tsx",
2035
- "hash": "3094331197476858797"
1749
+ "hash": "5789079101691319611"
2036
1750
  },
2037
1751
  {
2038
1752
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/index.ts",
@@ -2044,7 +1758,7 @@
2044
1758
  },
2045
1759
  {
2046
1760
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx",
2047
- "hash": "13083562305623221104"
1761
+ "hash": "13981920841626427015"
2048
1762
  },
2049
1763
  {
2050
1764
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/index.ts",
@@ -2060,7 +1774,7 @@
2060
1774
  },
2061
1775
  {
2062
1776
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx",
2063
- "hash": "15066504451548977574"
1777
+ "hash": "4709227662024238374"
2064
1778
  },
2065
1779
  {
2066
1780
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/index.ts",
@@ -2072,7 +1786,7 @@
2072
1786
  },
2073
1787
  {
2074
1788
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.tsx",
2075
- "hash": "6730798929167629550"
1789
+ "hash": "2171530704920171241"
2076
1790
  },
2077
1791
  {
2078
1792
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/index.ts",
@@ -2088,7 +1802,7 @@
2088
1802
  },
2089
1803
  {
2090
1804
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx",
2091
- "hash": "7004470198699474702"
1805
+ "hash": "5901868131111641102"
2092
1806
  },
2093
1807
  {
2094
1808
  "file": "packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts",
@@ -2108,39 +1822,39 @@
2108
1822
  },
2109
1823
  {
2110
1824
  "file": "packages/scrabble-solver/src/modals/WordsModal/WordsModal.tsx",
2111
- "hash": "3409529912305695215"
1825
+ "hash": "13319223265709616128"
2112
1826
  },
2113
1827
  {
2114
1828
  "file": "packages/scrabble-solver/src/modals/WordsModal/index.ts",
2115
1829
  "hash": "12055252457260044707"
2116
1830
  },
2117
1831
  {
2118
- "file": "packages/scrabble-solver/src/modals/index.ts",
2119
- "hash": "16020264070088203616"
1832
+ "file": "packages/scrabble-solver/src/modals/preload.ts",
1833
+ "hash": "10118174107531967620"
2120
1834
  },
2121
1835
  {
2122
1836
  "file": "packages/scrabble-solver/src/pages/_app.tsx",
2123
- "hash": "3908088060527024905"
1837
+ "hash": "14102028183884231425"
2124
1838
  },
2125
1839
  {
2126
1840
  "file": "packages/scrabble-solver/src/pages/_document.tsx",
2127
- "hash": "9836921065957592870"
1841
+ "hash": "4089451279083438762"
2128
1842
  },
2129
1843
  {
2130
1844
  "file": "packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts",
2131
- "hash": "5569536114673644890"
1845
+ "hash": "9890897606093034143"
2132
1846
  },
2133
1847
  {
2134
1848
  "file": "packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts",
2135
- "hash": "9723620783685798058"
1849
+ "hash": "565360377616244471"
2136
1850
  },
2137
1851
  {
2138
1852
  "file": "packages/scrabble-solver/src/pages/api/solve.ts",
2139
- "hash": "10083202764750289231"
1853
+ "hash": "8137689477208410413"
2140
1854
  },
2141
1855
  {
2142
1856
  "file": "packages/scrabble-solver/src/pages/api/verify.ts",
2143
- "hash": "6948266974862633697"
1857
+ "hash": "6985898088476003232"
2144
1858
  },
2145
1859
  {
2146
1860
  "file": "packages/scrabble-solver/src/pages/api/visit.ts",
@@ -2148,19 +1862,19 @@
2148
1862
  },
2149
1863
  {
2150
1864
  "file": "packages/scrabble-solver/src/pages/index.module.scss",
2151
- "hash": "929127135951115578"
1865
+ "hash": "5653213242305371334"
2152
1866
  },
2153
1867
  {
2154
1868
  "file": "packages/scrabble-solver/src/pages/index.tsx",
2155
- "hash": "1753457159514760478"
1869
+ "hash": "6132565460911494364"
2156
1870
  },
2157
1871
  {
2158
1872
  "file": "packages/scrabble-solver/src/pages/not-found.tsx",
2159
- "hash": "7275993792442934702"
1873
+ "hash": "15080704419232331602"
2160
1874
  },
2161
1875
  {
2162
1876
  "file": "packages/scrabble-solver/src/parameters/index.ts",
2163
- "hash": "8002943839802256381"
1877
+ "hash": "12535813068486131217"
2164
1878
  },
2165
1879
  {
2166
1880
  "file": "packages/scrabble-solver/src/sdk/fetch.ts",
@@ -2171,80 +1885,124 @@
2171
1885
  "hash": "3728389316952567306"
2172
1886
  },
2173
1887
  {
2174
- "file": "packages/scrabble-solver/src/sdk/findWordDefinitions.ts",
2175
- "hash": "16537000265833978232"
1888
+ "file": "packages/scrabble-solver/src/sdk/findWordDefinitions.ts",
1889
+ "hash": "16537000265833978232"
1890
+ },
1891
+ {
1892
+ "file": "packages/scrabble-solver/src/sdk/index.ts",
1893
+ "hash": "3651665009336295035"
1894
+ },
1895
+ {
1896
+ "file": "packages/scrabble-solver/src/sdk/solve.ts",
1897
+ "hash": "14093469962660680952"
1898
+ },
1899
+ {
1900
+ "file": "packages/scrabble-solver/src/sdk/verify.ts",
1901
+ "hash": "13074514926412552211"
1902
+ },
1903
+ {
1904
+ "file": "packages/scrabble-solver/src/sdk/visit.ts",
1905
+ "hash": "11075775441144503022"
1906
+ },
1907
+ {
1908
+ "file": "packages/scrabble-solver/src/service-worker/appShell.test.ts",
1909
+ "hash": "10558418464279822567"
1910
+ },
1911
+ {
1912
+ "file": "packages/scrabble-solver/src/service-worker/appShell.ts",
1913
+ "hash": "1408263262440769531"
1914
+ },
1915
+ {
1916
+ "file": "packages/scrabble-solver/src/service-worker/index.ts",
1917
+ "hash": "3369355815619459731"
1918
+ },
1919
+ {
1920
+ "file": "packages/scrabble-solver/src/serviceWorkerManager.ts",
1921
+ "hash": "12874818931711496771"
1922
+ },
1923
+ {
1924
+ "file": "packages/scrabble-solver/src/solver-worker/client.test.ts",
1925
+ "hash": "16882586320834609607"
1926
+ },
1927
+ {
1928
+ "file": "packages/scrabble-solver/src/solver-worker/client.ts",
1929
+ "hash": "15269805909295258294"
1930
+ },
1931
+ {
1932
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/constants.ts",
1933
+ "hash": "1189785756385212102"
2176
1934
  },
2177
1935
  {
2178
- "file": "packages/scrabble-solver/src/sdk/getDictionary.ts",
2179
- "hash": "2457184031476117234"
1936
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/expirationManager.ts",
1937
+ "hash": "9702535050928774369"
2180
1938
  },
2181
1939
  {
2182
- "file": "packages/scrabble-solver/src/sdk/index.ts",
2183
- "hash": "3651665009336295035"
1940
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/getDictionary.ts",
1941
+ "hash": "6345096149054859066"
2184
1942
  },
2185
1943
  {
2186
- "file": "packages/scrabble-solver/src/sdk/solve.ts",
2187
- "hash": "5864570945320712599"
1944
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/getDictionaryUrl.ts",
1945
+ "hash": "4793134591312680353"
2188
1946
  },
2189
1947
  {
2190
- "file": "packages/scrabble-solver/src/sdk/verify.ts",
2191
- "hash": "7720326563140802714"
1948
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/index.ts",
1949
+ "hash": "656517071374547671"
2192
1950
  },
2193
1951
  {
2194
- "file": "packages/scrabble-solver/src/sdk/visit.ts",
2195
- "hash": "11075775441144503022"
1952
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.test.ts",
1953
+ "hash": "9962679569686646593"
2196
1954
  },
2197
1955
  {
2198
- "file": "packages/scrabble-solver/src/service-worker/average.ts",
2199
- "hash": "7166190492129242151"
1956
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.ts",
1957
+ "hash": "13645835860519011449"
2200
1958
  },
2201
1959
  {
2202
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/constants.ts",
2203
- "hash": "5383224325624444190"
1960
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/revalidatedAt.ts",
1961
+ "hash": "3398683739202113562"
2204
1962
  },
2205
1963
  {
2206
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/expirationManager.ts",
2207
- "hash": "9702535050928774369"
1964
+ "file": "packages/scrabble-solver/src/solver-worker/getGaddag.test.ts",
1965
+ "hash": "17744687796160485995"
2208
1966
  },
2209
1967
  {
2210
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/getDictionary.ts",
2211
- "hash": "14360109450447764567"
1968
+ "file": "packages/scrabble-solver/src/solver-worker/getGaddag.ts",
1969
+ "hash": "2647345133694443059"
2212
1970
  },
2213
1971
  {
2214
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/getDictionaryUrl.ts",
2215
- "hash": "4793134591312680353"
1972
+ "file": "packages/scrabble-solver/src/solver-worker/index.ts",
1973
+ "hash": "13142338042790329626"
2216
1974
  },
2217
1975
  {
2218
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/index.ts",
2219
- "hash": "14806497333915107241"
1976
+ "file": "packages/scrabble-solver/src/solver-worker/index.worker.ts",
1977
+ "hash": "6239467722064345569"
2220
1978
  },
2221
1979
  {
2222
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/revalidateDictionary.ts",
2223
- "hash": "13049366095878541388"
1980
+ "file": "packages/scrabble-solver/src/solver-worker/messages.ts",
1981
+ "hash": "11420948805361826379"
2224
1982
  },
2225
1983
  {
2226
- "file": "packages/scrabble-solver/src/service-worker/getTrie.ts",
2227
- "hash": "5754988871060526004"
1984
+ "file": "packages/scrabble-solver/src/state/actions.ts",
1985
+ "hash": "6622837063303115329"
2228
1986
  },
2229
1987
  {
2230
- "file": "packages/scrabble-solver/src/service-worker/index.ts",
2231
- "hash": "4717087600813998455"
1988
+ "file": "packages/scrabble-solver/src/state/app/index.ts",
1989
+ "hash": "2406327340588077760"
2232
1990
  },
2233
1991
  {
2234
- "file": "packages/scrabble-solver/src/service-worker/routeSolveRequests.ts",
2235
- "hash": "1778170610209415804"
1992
+ "file": "packages/scrabble-solver/src/state/app/initialState.ts",
1993
+ "hash": "10250531297792089300"
2236
1994
  },
2237
1995
  {
2238
- "file": "packages/scrabble-solver/src/service-worker/routeVerifyRequests.ts",
2239
- "hash": "5299571665804704391"
1996
+ "file": "packages/scrabble-solver/src/state/app/selectors.ts",
1997
+ "hash": "13120722700628010155"
2240
1998
  },
2241
1999
  {
2242
- "file": "packages/scrabble-solver/src/serviceWorkerManager.ts",
2243
- "hash": "6436235954962334167"
2000
+ "file": "packages/scrabble-solver/src/state/app/slice.ts",
2001
+ "hash": "12338520919297580835"
2244
2002
  },
2245
2003
  {
2246
- "file": "packages/scrabble-solver/src/state/actions.ts",
2247
- "hash": "4242637172523977630"
2004
+ "file": "packages/scrabble-solver/src/state/app/types.ts",
2005
+ "hash": "5508064457356768014"
2248
2006
  },
2249
2007
  {
2250
2008
  "file": "packages/scrabble-solver/src/state/board/index.ts",
@@ -2252,7 +2010,7 @@
2252
2010
  },
2253
2011
  {
2254
2012
  "file": "packages/scrabble-solver/src/state/board/initialState.ts",
2255
- "hash": "582114957023421502"
2013
+ "hash": "16688013239695757512"
2256
2014
  },
2257
2015
  {
2258
2016
  "file": "packages/scrabble-solver/src/state/board/selectors.ts",
@@ -2330,17 +2088,37 @@
2330
2088
  "file": "packages/scrabble-solver/src/state/hoveredTile/types.ts",
2331
2089
  "hash": "14324069092915041146"
2332
2090
  },
2091
+ {
2092
+ "file": "packages/scrabble-solver/src/state/i18n/index.ts",
2093
+ "hash": "2406327340588077760"
2094
+ },
2095
+ {
2096
+ "file": "packages/scrabble-solver/src/state/i18n/initialState.ts",
2097
+ "hash": "385319764432769232"
2098
+ },
2099
+ {
2100
+ "file": "packages/scrabble-solver/src/state/i18n/selectors.ts",
2101
+ "hash": "5725131606101550166"
2102
+ },
2103
+ {
2104
+ "file": "packages/scrabble-solver/src/state/i18n/slice.ts",
2105
+ "hash": "10416650822351090833"
2106
+ },
2107
+ {
2108
+ "file": "packages/scrabble-solver/src/state/i18n/types.ts",
2109
+ "hash": "16947064736151300669"
2110
+ },
2333
2111
  {
2334
2112
  "file": "packages/scrabble-solver/src/state/index.ts",
2335
- "hash": "2711326469679390938"
2113
+ "hash": "9955082798562900727"
2336
2114
  },
2337
2115
  {
2338
2116
  "file": "packages/scrabble-solver/src/state/lib.ts",
2339
- "hash": "2688700524384674210"
2117
+ "hash": "11493048475242123572"
2340
2118
  },
2341
2119
  {
2342
2120
  "file": "packages/scrabble-solver/src/state/localStorage.ts",
2343
- "hash": "17610854968541989330"
2121
+ "hash": "10210503363120540370"
2344
2122
  },
2345
2123
  {
2346
2124
  "file": "packages/scrabble-solver/src/state/rack/index.ts",
@@ -2348,7 +2126,7 @@
2348
2126
  },
2349
2127
  {
2350
2128
  "file": "packages/scrabble-solver/src/state/rack/initialState.ts",
2351
- "hash": "12140089395837189386"
2129
+ "hash": "15315588372188309476"
2352
2130
  },
2353
2131
  {
2354
2132
  "file": "packages/scrabble-solver/src/state/rack/selectors.ts",
@@ -2356,7 +2134,7 @@
2356
2134
  },
2357
2135
  {
2358
2136
  "file": "packages/scrabble-solver/src/state/rack/slice.ts",
2359
- "hash": "16609673683988923610"
2137
+ "hash": "3789552386507799459"
2360
2138
  },
2361
2139
  {
2362
2140
  "file": "packages/scrabble-solver/src/state/rack/types.ts",
@@ -2372,11 +2150,11 @@
2372
2150
  },
2373
2151
  {
2374
2152
  "file": "packages/scrabble-solver/src/state/results/lib.ts",
2375
- "hash": "2473841752363043761"
2153
+ "hash": "1116543247989087695"
2376
2154
  },
2377
2155
  {
2378
2156
  "file": "packages/scrabble-solver/src/state/results/selectors.ts",
2379
- "hash": "11288222496040810954"
2157
+ "hash": "13755811484335005189"
2380
2158
  },
2381
2159
  {
2382
2160
  "file": "packages/scrabble-solver/src/state/results/slice.ts",
@@ -2388,11 +2166,11 @@
2388
2166
  },
2389
2167
  {
2390
2168
  "file": "packages/scrabble-solver/src/state/sagas.ts",
2391
- "hash": "3415625488659977922"
2169
+ "hash": "12350197171324167710"
2392
2170
  },
2393
2171
  {
2394
2172
  "file": "packages/scrabble-solver/src/state/selectors.ts",
2395
- "hash": "5390725846803555162"
2173
+ "hash": "14492436591602889464"
2396
2174
  },
2397
2175
  {
2398
2176
  "file": "packages/scrabble-solver/src/state/settings/index.ts",
@@ -2400,7 +2178,7 @@
2400
2178
  },
2401
2179
  {
2402
2180
  "file": "packages/scrabble-solver/src/state/settings/initialState.ts",
2403
- "hash": "5649373778512572322"
2181
+ "hash": "18273851045314201973"
2404
2182
  },
2405
2183
  {
2406
2184
  "file": "packages/scrabble-solver/src/state/settings/lib.ts",
@@ -2408,11 +2186,11 @@
2408
2186
  },
2409
2187
  {
2410
2188
  "file": "packages/scrabble-solver/src/state/settings/selectors.ts",
2411
- "hash": "8025449534911688476"
2189
+ "hash": "13463869720738511980"
2412
2190
  },
2413
2191
  {
2414
2192
  "file": "packages/scrabble-solver/src/state/settings/slice.ts",
2415
- "hash": "2606882820706576164"
2193
+ "hash": "10037969571044326445"
2416
2194
  },
2417
2195
  {
2418
2196
  "file": "packages/scrabble-solver/src/state/settings/types.ts",
@@ -2440,11 +2218,11 @@
2440
2218
  },
2441
2219
  {
2442
2220
  "file": "packages/scrabble-solver/src/state/store.ts",
2443
- "hash": "13113541629251361011"
2221
+ "hash": "10090006592966544230"
2444
2222
  },
2445
2223
  {
2446
2224
  "file": "packages/scrabble-solver/src/state/types.ts",
2447
- "hash": "3884106778425135708"
2225
+ "hash": "12490812426244852438"
2448
2226
  },
2449
2227
  {
2450
2228
  "file": "packages/scrabble-solver/src/state/useTranslate.ts",
@@ -2454,6 +2232,10 @@
2454
2232
  "file": "packages/scrabble-solver/src/state/useTypedSelector.ts",
2455
2233
  "hash": "7497927830076949253"
2456
2234
  },
2235
+ {
2236
+ "file": "packages/scrabble-solver/src/state/useTypedStore.ts",
2237
+ "hash": "3443923162643676480"
2238
+ },
2457
2239
  {
2458
2240
  "file": "packages/scrabble-solver/src/state/verify/index.ts",
2459
2241
  "hash": "2406327340588077760"
@@ -2476,7 +2258,7 @@
2476
2258
  },
2477
2259
  {
2478
2260
  "file": "packages/scrabble-solver/src/styles/_tokens.scss",
2479
- "hash": "8754924326406534421"
2261
+ "hash": "15548534758324964977"
2480
2262
  },
2481
2263
  {
2482
2264
  "file": "packages/scrabble-solver/src/styles/animations.scss",
@@ -2484,7 +2266,7 @@
2484
2266
  },
2485
2267
  {
2486
2268
  "file": "packages/scrabble-solver/src/styles/global.scss",
2487
- "hash": "5741856237626739037"
2269
+ "hash": "8692379483794929634"
2488
2270
  },
2489
2271
  {
2490
2272
  "file": "packages/scrabble-solver/src/styles/mixins.scss",
@@ -2492,23 +2274,100 @@
2492
2274
  },
2493
2275
  {
2494
2276
  "file": "packages/scrabble-solver/src/styles/variables.module.scss",
2495
- "hash": "2779976062728296681"
2277
+ "hash": "4461964143587637005"
2496
2278
  },
2497
2279
  {
2498
2280
  "file": "packages/scrabble-solver/src/styles/variables.scss",
2499
- "hash": "4021154361490211059"
2281
+ "hash": "5243086748379757694"
2500
2282
  },
2501
2283
  {
2502
2284
  "file": "packages/scrabble-solver/src/types/api.ts",
2503
- "hash": "9170700708623849575"
2285
+ "hash": "5400178518570826006"
2504
2286
  },
2505
2287
  {
2506
2288
  "file": "packages/scrabble-solver/src/types/index.ts",
2507
- "hash": "2428317339772479482"
2289
+ "hash": "11916446074000386947"
2508
2290
  },
2509
2291
  {
2510
2292
  "file": "packages/scrabble-solver/tsconfig.json",
2511
- "hash": "13285982892778220395"
2293
+ "hash": "10943461411870959230"
2294
+ }
2295
+ ],
2296
+ "@scrabble-solver/solver": [
2297
+ {
2298
+ "file": "packages/solver/README.md",
2299
+ "hash": "16792748008091431053"
2300
+ },
2301
+ {
2302
+ "file": "packages/solver/benchmarks/index.ts",
2303
+ "hash": "14789261453090652608"
2304
+ },
2305
+ {
2306
+ "file": "packages/solver/benchmarks/lib.ts",
2307
+ "hash": "18074034230022269603"
2308
+ },
2309
+ {
2310
+ "file": "packages/solver/benchmarks/renderChart.ts",
2311
+ "hash": "15994103137482312366"
2312
+ },
2313
+ {
2314
+ "file": "packages/solver/benchmarks/results/chart.svg",
2315
+ "hash": "16382274360395559218"
2316
+ },
2317
+ {
2318
+ "file": "packages/solver/benchmarks/runBenchmarks.ts",
2319
+ "hash": "10247467763253649567"
2320
+ },
2321
+ {
2322
+ "file": "packages/solver/benchmarks/scenarios.ts",
2323
+ "hash": "5574802733879787909"
2324
+ },
2325
+ {
2326
+ "file": "packages/solver/benchmarks/types.ts",
2327
+ "hash": "3907848021848470505"
2328
+ },
2329
+ {
2330
+ "file": "packages/solver/benchmarks/updateReadme.ts",
2331
+ "hash": "10419931668096319955"
2332
+ },
2333
+ {
2334
+ "file": "packages/solver/package.json",
2335
+ "hash": "3609425534881282531",
2336
+ "deps": [
2337
+ "@scrabble-solver/configs",
2338
+ "@scrabble-solver/constants",
2339
+ "@scrabble-solver/dictionaries",
2340
+ "npm:@kamilmielnik/gaddag@2.0.0",
2341
+ "@scrabble-solver/types"
2342
+ ]
2343
+ },
2344
+ {
2345
+ "file": "packages/solver/src/MoveGenerator.test.ts",
2346
+ "hash": "15452379511681303925"
2347
+ },
2348
+ {
2349
+ "file": "packages/solver/src/MoveGenerator.ts",
2350
+ "hash": "6412866049897267609"
2351
+ },
2352
+ {
2353
+ "file": "packages/solver/src/ReferenceSolver.ts",
2354
+ "hash": "11090417647170047696"
2355
+ },
2356
+ {
2357
+ "file": "packages/solver/src/index.ts",
2358
+ "hash": "16059031500551576732"
2359
+ },
2360
+ {
2361
+ "file": "packages/solver/src/solve.test.ts",
2362
+ "hash": "9408692374365636486"
2363
+ },
2364
+ {
2365
+ "file": "packages/solver/src/solve.ts",
2366
+ "hash": "3102663659329392320"
2367
+ },
2368
+ {
2369
+ "file": "packages/solver/tsconfig.json",
2370
+ "hash": "6201931798302628133"
2512
2371
  }
2513
2372
  ],
2514
2373
  "@scrabble-solver/word-definitions": [
@@ -2518,7 +2377,7 @@
2518
2377
  },
2519
2378
  {
2520
2379
  "file": "packages/word-definitions/package.json",
2521
- "hash": "12288592728678462234",
2380
+ "hash": "11411389477590831983",
2522
2381
  "deps": [
2523
2382
  "npm:@types/follow-redirects@1.14.4",
2524
2383
  "npm:domhandler@6.0.1",
@@ -2729,128 +2588,249 @@
2729
2588
  "hash": "14393573143758511966"
2730
2589
  }
2731
2590
  ],
2732
- "@scrabble-solver/solver": [
2591
+ "@scrabble-solver/constants": [
2733
2592
  {
2734
- "file": "packages/solver/README.md",
2735
- "hash": "6318233837788889254"
2593
+ "file": "packages/constants/README.md",
2594
+ "hash": "15117377322618686888"
2736
2595
  },
2737
2596
  {
2738
- "file": "packages/solver/package.json",
2739
- "hash": "15693686895116958572",
2597
+ "file": "packages/constants/package.json",
2598
+ "hash": "1172242264670440834"
2599
+ },
2600
+ {
2601
+ "file": "packages/constants/src/index.ts",
2602
+ "hash": "2132305088706286749"
2603
+ },
2604
+ {
2605
+ "file": "packages/constants/tsconfig.json",
2606
+ "hash": "14393573143758511966"
2607
+ }
2608
+ ],
2609
+ "@scrabble-solver/logger": [
2610
+ {
2611
+ "file": "packages/logger/README.md",
2612
+ "hash": "16076881737681040638"
2613
+ },
2614
+ {
2615
+ "file": "packages/logger/package.json",
2616
+ "hash": "13148142480283157603",
2740
2617
  "deps": [
2741
- "@scrabble-solver/configs",
2742
- "@scrabble-solver/constants",
2743
- "@scrabble-solver/dictionaries",
2744
- "npm:@kamilmielnik/trie",
2745
- "@scrabble-solver/types"
2618
+ "npm:winston@3.19.0"
2619
+ ]
2620
+ },
2621
+ {
2622
+ "file": "packages/logger/scripts/stats.js",
2623
+ "hash": "14633712956610723631"
2624
+ },
2625
+ {
2626
+ "file": "packages/logger/src/constants.ts",
2627
+ "hash": "9027236667651974941"
2628
+ },
2629
+ {
2630
+ "file": "packages/logger/src/index.ts",
2631
+ "hash": "5834074882708409826"
2632
+ },
2633
+ {
2634
+ "file": "packages/logger/src/logger.ts",
2635
+ "hash": "3288628780241056943"
2636
+ },
2637
+ {
2638
+ "file": "packages/logger/tsconfig.json",
2639
+ "hash": "14393573143758511966"
2640
+ }
2641
+ ],
2642
+ "@scrabble-solver/dictionaries": [
2643
+ {
2644
+ "file": "packages/dictionaries/README.md",
2645
+ "hash": "6628439566514867396"
2646
+ },
2647
+ {
2648
+ "file": "packages/dictionaries/bin/remove-dictionaries.js",
2649
+ "hash": "2636661981756772217"
2650
+ },
2651
+ {
2652
+ "file": "packages/dictionaries/bin/update-dictionaries.js",
2653
+ "hash": "9641816824340442544"
2654
+ },
2655
+ {
2656
+ "file": "packages/dictionaries/package.json",
2657
+ "hash": "3825116873154485571",
2658
+ "deps": [
2659
+ "npm:@kamilmielnik/gaddag@2.0.0",
2660
+ "@scrabble-solver/logger",
2661
+ "@scrabble-solver/types",
2662
+ "@scrabble-solver/word-lists"
2746
2663
  ]
2747
2664
  },
2748
2665
  {
2749
- "file": "packages/solver/src/areDigraphsValid.ts",
2750
- "hash": "17911461370524796971"
2666
+ "file": "packages/dictionaries/src/Dictionaries.ts",
2667
+ "hash": "2561895391754704286"
2668
+ },
2669
+ {
2670
+ "file": "packages/dictionaries/src/constants.ts",
2671
+ "hash": "12604354443457976176"
2672
+ },
2673
+ {
2674
+ "file": "packages/dictionaries/src/index.ts",
2675
+ "hash": "9758670209578578353"
2676
+ },
2677
+ {
2678
+ "file": "packages/dictionaries/src/lib/DiskCache.test.ts",
2679
+ "hash": "10809364736482551551"
2680
+ },
2681
+ {
2682
+ "file": "packages/dictionaries/src/lib/DiskCache.ts",
2683
+ "hash": "2531927136976486343"
2684
+ },
2685
+ {
2686
+ "file": "packages/dictionaries/src/lib/LayeredCache.ts",
2687
+ "hash": "12592731290998266042"
2688
+ },
2689
+ {
2690
+ "file": "packages/dictionaries/src/lib/MemoryCache.ts",
2691
+ "hash": "17795245780858364573"
2692
+ },
2693
+ {
2694
+ "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
2695
+ "hash": "12638296627527121283"
2696
+ },
2697
+ {
2698
+ "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
2699
+ "hash": "6942577208965757211"
2700
+ },
2701
+ {
2702
+ "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
2703
+ "hash": "5221985439340190769"
2704
+ },
2705
+ {
2706
+ "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
2707
+ "hash": "18021392031850992086"
2708
+ },
2709
+ {
2710
+ "file": "packages/dictionaries/src/lib/index.ts",
2711
+ "hash": "17115552863689850465"
2712
+ },
2713
+ {
2714
+ "file": "packages/dictionaries/src/types.ts",
2715
+ "hash": "3626796416522339270"
2751
2716
  },
2752
2717
  {
2753
- "file": "packages/solver/src/fillPattern.test.ts",
2754
- "hash": "4477468782106446915"
2718
+ "file": "packages/dictionaries/tsconfig.json",
2719
+ "hash": "14393573143758511966"
2720
+ }
2721
+ ],
2722
+ "@scrabble-solver/word-lists": [
2723
+ {
2724
+ "file": "packages/word-lists/README.md",
2725
+ "hash": "16055975283152607821"
2755
2726
  },
2756
2727
  {
2757
- "file": "packages/solver/src/fillPattern.ts",
2758
- "hash": "15177226446481312023"
2728
+ "file": "packages/word-lists/package.json",
2729
+ "hash": "10017617606501872859",
2730
+ "deps": [
2731
+ "npm:@types/follow-redirects@1.14.4",
2732
+ "npm:@types/unzipper@0.10.11",
2733
+ "@scrabble-solver/types",
2734
+ "npm:cheerio@1.2.0",
2735
+ "npm:follow-redirects@1.16.0",
2736
+ "npm:transliteration@2.6.1",
2737
+ "npm:unzipper@0.12.5"
2738
+ ]
2759
2739
  },
2760
2740
  {
2761
- "file": "packages/solver/src/generateEndIndices.test.ts",
2762
- "hash": "12130972718518554994"
2741
+ "file": "packages/word-lists/src/getWordList.ts",
2742
+ "hash": "10304524630809776049"
2763
2743
  },
2764
2744
  {
2765
- "file": "packages/solver/src/generateEndIndices.ts",
2766
- "hash": "12841490043100096469"
2745
+ "file": "packages/word-lists/src/index.ts",
2746
+ "hash": "8042340231609296722"
2767
2747
  },
2768
2748
  {
2769
- "file": "packages/solver/src/generateHorizontalPatterns.test.ts",
2770
- "hash": "717679022592491987"
2749
+ "file": "packages/word-lists/src/languages/english.ts",
2750
+ "hash": "18236496125766674592"
2771
2751
  },
2772
2752
  {
2773
- "file": "packages/solver/src/generateHorizontalPatterns.ts",
2774
- "hash": "10436338353945184738"
2753
+ "file": "packages/word-lists/src/languages/french.ts",
2754
+ "hash": "999885887967626988"
2775
2755
  },
2776
2756
  {
2777
- "file": "packages/solver/src/generatePattern.ts",
2778
- "hash": "13498176302195077900"
2757
+ "file": "packages/word-lists/src/languages/german.ts",
2758
+ "hash": "7794882289943390115"
2779
2759
  },
2780
2760
  {
2781
- "file": "packages/solver/src/generatePatterns.test.ts",
2782
- "hash": "15842771731914496051"
2761
+ "file": "packages/word-lists/src/languages/index.ts",
2762
+ "hash": "632033483089466746"
2783
2763
  },
2784
2764
  {
2785
- "file": "packages/solver/src/generatePatterns.ts",
2786
- "hash": "13822340639746474023"
2765
+ "file": "packages/word-lists/src/languages/persian.ts",
2766
+ "hash": "3960698128232122588"
2787
2767
  },
2788
2768
  {
2789
- "file": "packages/solver/src/generateStartIndices.test.ts",
2790
- "hash": "2839947820693391454"
2769
+ "file": "packages/word-lists/src/languages/polish.ts",
2770
+ "hash": "3075535021753564703"
2791
2771
  },
2792
2772
  {
2793
- "file": "packages/solver/src/generateStartIndices.ts",
2794
- "hash": "628175214826968063"
2773
+ "file": "packages/word-lists/src/languages/romanian.ts",
2774
+ "hash": "9300620863531476643"
2795
2775
  },
2796
2776
  {
2797
- "file": "packages/solver/src/generateVectors.test.ts",
2798
- "hash": "11705788717322154834"
2777
+ "file": "packages/word-lists/src/languages/spanish.ts",
2778
+ "hash": "4087018936035514"
2799
2779
  },
2800
2780
  {
2801
- "file": "packages/solver/src/generateVectors.ts",
2802
- "hash": "5477797573221758014"
2781
+ "file": "packages/word-lists/src/languages/turkish.ts",
2782
+ "hash": "16755045246219415596"
2803
2783
  },
2804
2784
  {
2805
- "file": "packages/solver/src/generateVerticalPatterns.test.ts",
2806
- "hash": "3988503779827887326"
2785
+ "file": "packages/word-lists/src/lib/downloadFile.ts",
2786
+ "hash": "13607329874891283679"
2807
2787
  },
2808
2788
  {
2809
- "file": "packages/solver/src/generateVerticalPatterns.ts",
2810
- "hash": "12740675117116939623"
2789
+ "file": "packages/word-lists/src/lib/downloadHtml.ts",
2790
+ "hash": "1310045368305737951"
2811
2791
  },
2812
2792
  {
2813
- "file": "packages/solver/src/getCellsScore.ts",
2814
- "hash": "9179761884086551124"
2793
+ "file": "packages/word-lists/src/lib/extractWords.ts",
2794
+ "hash": "14559448128270437612"
2815
2795
  },
2816
2796
  {
2817
- "file": "packages/solver/src/getPatternHash.test.ts",
2818
- "hash": "17706462911199900115"
2797
+ "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
2798
+ "hash": "9840318512275784332"
2819
2799
  },
2820
2800
  {
2821
- "file": "packages/solver/src/getPatternHash.ts",
2822
- "hash": "2974072989791325574"
2801
+ "file": "packages/word-lists/src/lib/getHash.ts",
2802
+ "hash": "8975814297070890934"
2823
2803
  },
2824
2804
  {
2825
- "file": "packages/solver/src/getPatternScore.test.ts",
2826
- "hash": "8608370367282363146"
2805
+ "file": "packages/word-lists/src/lib/getTempFilepath.ts",
2806
+ "hash": "17463482587297340183"
2827
2807
  },
2828
2808
  {
2829
- "file": "packages/solver/src/getPatternScore.ts",
2830
- "hash": "10901283604074651384"
2809
+ "file": "packages/word-lists/src/lib/getTxtWordList.ts",
2810
+ "hash": "6788551474673366316"
2831
2811
  },
2832
2812
  {
2833
- "file": "packages/solver/src/getUniquePatterns.ts",
2834
- "hash": "7652130179509678232"
2813
+ "file": "packages/word-lists/src/lib/index.ts",
2814
+ "hash": "3470132537045022332"
2835
2815
  },
2836
2816
  {
2837
- "file": "packages/solver/src/index.ts",
2838
- "hash": "3357521685581735076"
2817
+ "file": "packages/word-lists/src/lib/transliterateDiacritics.ts",
2818
+ "hash": "477062649907390802"
2839
2819
  },
2840
2820
  {
2841
- "file": "packages/solver/src/solve.test.ts",
2842
- "hash": "13240498472653387083"
2821
+ "file": "packages/word-lists/src/lib/unique.ts",
2822
+ "hash": "4387364396041720073"
2843
2823
  },
2844
2824
  {
2845
- "file": "packages/solver/src/solve.ts",
2846
- "hash": "17699651396487399378"
2825
+ "file": "packages/word-lists/src/lib/unzip.ts",
2826
+ "hash": "1152622296142869825"
2847
2827
  },
2848
2828
  {
2849
- "file": "packages/solver/tsconfig.json",
2829
+ "file": "packages/word-lists/tsconfig.json",
2850
2830
  "hash": "14393573143758511966"
2851
2831
  }
2852
2832
  ]
2853
2833
  }
2854
2834
  },
2855
- "externalNodesHash": "18409185385596172877"
2835
+ "externalNodesHash": "5987555983273804825"
2856
2836
  }