Commit Graph
62 Commits
Author SHA1 Message Date
tiennm99 c7e332a3dc 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
tiennm99 01b562cf77 docs: add morphological analysis and finalize tech stack decisions 2026-04-12 19:45:48 +07:00
tiennm99 a5cf942fda docs: add first principles and mind mapping results to brainstorming session 2026-04-12 19:27:40 +07:00
tiennm99 b26bafba8a docs: add 2048 game brainstorming session with first principles research 2026-04-12 19:26:15 +07:00
tiennm99 5478d8b3ab 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
tiennm99 eb724f3385 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
tiennm99 4b9dd235ad chore: add BMad Builder module and Claude skills configuration 2026-04-12 18:18:07 +07:00
tiennm99 5194b6bf66 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
tiennm99 ffe98e3c33 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
tiennm99andGitHub 1e10c766e0 Initial commit 2026-04-12 11:15:15 +07:00
tiennm99 7cda59b80b 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
tiennm99 f6699d8cb6 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
tiennm99 2171bdb8a5 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
tiennm99 21030413a0 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
tiennm99andGitHub 3ea00a0813 Initial commit 2026-04-12 09:54:48 +07:00
tiennm99 b99f467f88 feat: add solve() console command for auto-solving
Call solve() in browser console to auto-solve one move per second.
Call solve() again to stop. Stops automatically on game over.
2026-04-07 22:07:31 +07:00
tiennm99 80327622df fix: toggle pause button text and color based on game state 2026-04-07 22:01:01 +07:00
tiennm99 2c831040f0 fix: use Phaser shutdown event for listener cleanup
Phaser's game.destroy() calls shutdown() on scenes, not destroy().
The old destroy() override was never called, causing stale event
listeners to persist and throw errors in React StrictMode.
2026-04-07 22:00:15 +07:00
tiennm99 e6ccd6583c chore: add Claude Code settings with superpowers plugin 2026-04-07 21:52:20 +07:00
tiennm99 9adf5b20a2 ci: add GitHub Actions workflow to build and deploy to GitHub Pages 2026-04-07 21:51:52 +07:00
tiennm99 935e6edc6f chore: update .gitignore with standard Node.js/Vite entries 2026-04-07 21:43:36 +07:00
tiennm99 2e38801811 fix: address code review issues (listener leak, pause, shuffle, board validation) 2026-04-07 21:33:04 +07:00
tiennm99 bff824fbbc feat: add GameOver screen with play again and menu options 2026-04-07 21:21:10 +07:00
tiennm99 49fd708559 feat: add HUD with timer, score, hint, shuffle, pause, and toast 2026-04-07 21:15:44 +07:00
tiennm99 621097b4b7 feat: implement GameScene with tile rendering, matching, and animations 2026-04-07 21:14:26 +07:00
tiennm99 f9622691ae feat: add GameContainer Phaser-React bridge 2026-04-07 21:10:15 +07:00
tiennm99 3c21bd71e2 feat: add Menu, DifficultySelect screens and App routing 2026-04-07 21:08:43 +07:00
tiennm99 326907b534 feat: add Phaser config factory, PreloadScene, and GameScene stub 2026-04-07 21:04:25 +07:00
tiennm99 b557942124 feat: add shared game state manager with EventEmitter 2026-04-07 21:01:22 +07:00
tiennm99 eba56d1ecf feat: add score calculation with speed bonus and combo 2026-04-07 20:59:46 +07:00
tiennm99 594649fc73 feat: add pathfinder with ≤2 bend connection validation 2026-04-07 20:58:14 +07:00
tiennm99 32153d38fb feat: add board generation, remaining tiles, and shuffle 2026-04-07 20:53:10 +07:00
tiennm99 190fa8fe54 feat: add emoji pool and difficulty-based selection 2026-04-07 20:51:36 +07:00
tiennm99 4a03f2045e feat: add shared types and difficulty constants 2026-04-07 20:50:16 +07:00
tiennm99 4c6d9d1e0a fix: add vite-env.d.ts, remove broken lint script, clean config 2026-04-07 20:49:04 +07:00
tiennm99 ae7f7cea2b feat: scaffold Vite + React + TS project with Phaser and Vitest 2026-04-07 20:30:07 +07:00
tiennm99 223ead6f7c chore: add .worktrees to .gitignore 2026-04-07 19:31:25 +07:00
tiennm99 e3a1cc0ed9 Add implementation plan for Pikachu Onet Connect 2026-04-07 19:27:56 +07:00
tiennm99 6d9517bb23 Add design spec for Pikachu Onet Connect game 2026-04-07 19:21:34 +07:00
tiennm99andGitHub 9245c31931 Initial commit 2026-04-05 11:46:02 +07:00
tiennm99 9de12f5ef4 feat(hooks): add stop hook demo and examples documentation
- Add hook_demo.js demonstrating the COMPLETE comment pattern
- Add stop-hooks-examples.md with real-world hook patterns for
  TypeScript, linting, tests, builds, and chaining multiple checks
2026-03-08 20:54:51 +07:00
tiennm99 416794d851 docs(aliases): restructure to use dedicated alias.ps1 file
Move all PowerShell functions to ~/Documents/PowerShell/alias.ps1
and source it from $PROFILE, keeping the profile clean and aliases
easy to manage independently.
2026-03-08 20:46:40 +07:00
tiennm99 3f575f4ce3 docs(aliases): add zclaude PowerShell function for Z.ai API
Replace bash aliases with Windows PowerShell functions, adding
zclaude as the primary command for launching Claude via Z.ai
with GLM-5 model and custom API endpoint configuration.
2026-03-08 20:42:43 +07:00
tiennm99 eb08796245 feat(workspace): add Claude Code workflow lesson files and configuration
- Add .ai/diagrams/ with Mermaid architecture diagram examples
- Add .claude/ with settings and stop hook configuration
- Add CLAUDE.md with advanced workflow lesson content
- Add my-aliases.md with custom shell alias documentation
- Add thumbnail.html for lesson preview
2026-03-08 20:25:42 +07:00
Tien Nguyen MinhandGitHub 587486964d Initial commit 2026-03-08 20:22:14 +07:00
tiennm99 ec475ab7c6 feat(quiz): scaffold Next.js app and build coffee personality quiz
- Bootstrap Next.js 15 project with TypeScript, Tailwind, and App Router
- Build full quiz with 5 pop culture questions mapping to 3 personalities
- Implement percentage-based results display with ranked breakdown
- Apply warm/cozy earthy palette inspired by Claude homepage aesthetic
- Components: QuizQuestion, QuizResults with hover states and progress bar
2026-03-07 11:01:05 +07:00
tiennm99 21fdd5b821 chore(quiz): add .gitignore and untrack node_modules and .next 2026-03-07 10:57:24 +07:00
tiennm99 71dc47a30a feat(quiz): add requirements and style previews for coffee personality quiz
- Define 3 personality-to-coffee pairings (Zen Minimalist, Night Owl, Social Butterfly)
- Add percentage-based result display spec
- Add 5 pop culture quiz questions with personality mappings
- Generate 4 distinct style preview HTML files for visual direction
- Document warm/cozy + Claude homepage aesthetic as chosen style
2026-03-07 09:58:33 +07:00
tiennm99 602e7b5d93 docs: add CLAUDE.md project memory for Basecamp Coffee context 2026-03-06 11:17:01 +07:00
tiennm99 fae0be57cf feat(agents): add three new sub-agents for diverse perspectives 2026-03-06 11:02:00 +07:00