Promote to production: Daily Word Guess + Fruit Merge - #372
Merged
Conversation
- Pure lib: guess evaluation with duplicate-letter handling, deterministic daily answer from UTC day index, streak stats, spoiler-free emoji share, keyboard state derivation — all Vitest-covered - Curated strict word lists: 1827 EN answers + 219 extras, 620 ID answers + 163 extras (shape/dup/overlap enforced by tests) - Island: 6x5 tile grid with flip/shake/pop animations (reduced-motion safe), on-screen QWERTY + physical keyboard, toasts, end panel with stats, distribution, share button, next-puzzle countdown, unlimited practice mode - Daily state + stats persisted per language in localStorage - Registered in tools.ts + full EN/ID SEO entries with how-to and FAQs - E2E: full daily game, invalid-word rejection, practice mode
- Hand-rolled circle physics in a pure lib: semi-implicit Euler, soft positional correction (slop + capped) with zero-restitution impulses, wall/floor constraints with rest cutoff, speed cap, and deterministic ordering — no physics dependency - Two solver bugs found and fixed via a 100-drop stress sim: restitution pumping launched fruits out of the box (fixed with e=0 impulses + soft correction), and speed-based calm detection never fired because jammed fruits hold phantom velocity while positionally frozen (fixed with displacement-based calm tracking) - 11-tier chain cherry→watermelon, triangular scoring, next-fruit preview, drop cooldown, deadline with dashed render - Island: canvas render (DPR-scaled), pointer aim + drop, fixed-step RAF loop with substeps, best score persisted in localStorage - Registered in tools.ts + full EN/ID SEO entries - E2E: merge scoring via real pointer drops, game-over + restart flow
On a cold CI runner the first on-screen-key click landed before React attached props to the island — the click was silently dropped, every subsequent Enter hit a mangled draft, and the game never finished. Wait for the __react props marker on a keyboard key before interacting.
feat(games): Daily Word Guess — Wordle-style daily word puzzle (EN + ID)
…ries Word-guess and fruit-merge both inserted registry/SEO entries at the same spots; resolved by keeping both blocks in both locales.
feat(games): Fruit Merge — Suika-style physics merge puzzle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two new Games tools, both fully tested and merged to develop:
Verification
/tools/*+/id/tools/*)Promotes the current develop (8d665f2) to production.