10 Commits

Author SHA1 Message Date
1ef77c2f03 chore: remove completed spec files
These implementation specs served their purpose and the features
are all merged — no longer needed in the repo.
2026-04-12 19:53:57 +07:00
c8b988fd8d ci: add GitHub Actions workflow to deploy to GitHub Pages
Add deploy.yml workflow that runs tests, builds, and deploys to
GitHub Pages on push to main. Add vite.config.js with base path
for subdirectory hosting. Include deployment spec.
2026-04-12 19:07:02 +07:00
a57fda7ba4 fix: floor misaligned with container walls causing fall-through
The floor was centered on CANVAS_WIDTH/2 but the container is no longer
centered in the canvas (NEXT panel on right). This created a 26px gap
at the bottom-left corner. Center floor on CONTAINER_X + CONTAINER_WIDTH/2
to match the walls. Also display fruit tier numbers instead of names.
2026-04-12 18:24:19 +07:00
458751c363 fix: NEXT panel clipping, add labels to previews, improve fruit colors
Derive canvas width from container + panel dimensions so the NEXT panel
fits with consistent padding. Extract drawFruitCircle helper so all
fruit rendering (in-game, cursor preview, NEXT panel) shows the name
label consistently. Update color palette for maximum visual distinction
between similar fruits (cherry/strawberry/apple, dekopon/persimmon).
Center score text over the container instead of the canvas.
2026-04-12 11:32:15 +07:00
b91b29753f fix: physics tunneling and update fruit stats to community standard
Fix fruits falling through the floor by replacing single-step physics
with fixed-timestep sub-stepping (16.67ms steps, max 5 per frame).
Add escaped-body cleanup as safety net. Tune physics constants for
better feel (higher density, more bounce, less float).

Update fruit radii to match the community-standard ratios (TomboFry/
moonfloof clones) scaled to our 400px container. Update colors to
match real fruit appearances. Fix "Grapes" → "Grape" per wiki.
2026-04-12 11:19:04 +07:00
6e1aaff557 docs: split README into separate docs
Move tech stack, getting started, and gameplay sections into docs/
folder. Slim README down to a landing page with links.
2026-04-12 10:57:20 +07:00
c0fe135ff0 docs: add CLAUDE.md, update README, add collision fix spec
Add CLAUDE.md with architecture overview and dev commands for future
Claude Code sessions. Update README with tech stack, project structure,
and how-to-play instructions. Add spec for fixing collision physics
tuning issues.
2026-04-12 10:48:50 +07:00
fbec9c89fd feat: implement Suika Game (Watermelon Game)
Browser-based physics puzzle game where players drop fruits that merge
into larger fruits on collision, using Matter.js for 2D physics and
Canvas2D for rendering. Includes 11-fruit progression chain, scoring,
game-over detection, mouse/touch input, and Vitest test suite.
2026-04-12 10:26:38 +07:00
00d6bb117b feat: add ClaudeKit configuration
Add agent definitions, slash commands, hooks, and settings for
Claude Code project tooling.
2026-04-12 10:02:12 +07:00
e389311a2e Initial commit 2026-04-12 09:54:48 +07:00