helg
pushed to master at helg/wordle
5068455283 feat: frequency-sorted dictionaries with 100 Gaussian-picked targets
Replace alphabetically-sorted word banks with frequency-sorted dictionaries
(EN: 2309→5965 words, RU: 2064→2380 words). Select 100 target words per
language using Gaussian distribution (μ=0, σ=100) on the frequency-ranked
lists, heavily favoring common words. New targets have IDs 1..100.
Includes generation script (raw/generate-banks.py) for reproducibility.
Co-Authored-By: Claude <noreply@anthropic.com>
242beda1c9 refactor: offload entropy solver to child process, include failed solvers in results
- Move long-running entropy computation (14s) to child_process.fork()
so it never blocks the API event loop. Fast 3-solver results still
computed inline on cache miss for immediate response.
- Cache pre-warming now happens in daily and play-again routes too
(was only in guess), so by the time the player finishes their last
guess all 4 solvers are usually cached.
- Failed solvers (>6 attempts) now appear on the results page instead
of being hidden. They contribute 10 attempts to the difficulty score.
- Fix build:bundle sed to use correct relative import depth for files
in dist/server/src/routes/ (../../../ instead of ../../).
- Revert solver grid to 2x2 layout.
Co-Authored-By: Claude <noreply@anthropic.com>
4b918ce0db fix: add Cyrillic vowels to Vowel First solver so it works for Russian
VOWELS set was Latin-only (a,e,i,o,u), causing the solver to
degenerate into a random guesser for Russian words. Added Cyrillic
vowels (а,е,ё,и,о,у,ы,э,ю,я) so the algorithm works for both
languages. Fixes missing Vowel First replay for word 'хасид'.
4d031c34dc fix: switch solver replays to single-column layout for reliable visibility
Changed the solver results grid from 2-column to single-column flex layout.
Ensures all solver MiniBoards (including Vowel First with its 6-step rows)
are always fully visible regardless of varying step counts between solvers.
8af03b085a refactor: lazy cache for replays/difficulty — no startup pre-computation
Cache starts empty. First API request for a word computes with 3 fast
solvers (~20ms) and returns immediately, then fires all 4 solvers
(including entropy) in the background. Once the background computation
completes (~14s), the cache is upgraded with full results.
Server startup is now instant. Play Again uses cached difficulty with
a 3.0 default for words not yet played.
- View comparison for these 8 commits »
1 week ago