36 Commits
Author SHA1 Message Date
tiennm99 462e1fff6d chore: unify the labs under one GitHub Pages site
Each web demo builds with its base path under /ai-coding-workflow-labs/,
a single deploy workflow assembles them with a root index, and the
per-directory workflows from the standalone repos are removed.
2026-08-10 18:04:52 +07:00
tiennm99 9ff9425b2d fix: update package-lock.json libc fields for cross-platform compatibility 2026-04-14 12:28:30 +07:00
tiennm99 ef852839cd fix: use separate CSS translate/scale properties for smooth animations
Tile pop and merge @keyframes were setting transform: scale() which
overrode transform: translate() used for tile positioning, causing
tiles to jump to (0,0) during animation. Fix by using individual CSS
properties: translate for positioning, scale in keyframes.
2026-04-14 10:48:37 +07:00
tiennm99 959536319a fix: resolve Svelte 5 effect_update_depth_exceeded infinite loop
- ScoreBoard: wrap floats mutation in untrack() to prevent $effect
  from re-triggering when it reads+writes floats in same cycle
- App: split bestScore effect and use untrack() to prevent read/write
  loop on bestScore within the same $effect
2026-04-14 10:25:40 +07:00
tiennm99 f822dd1f74 feat: add tile glow, dynamic font sizing, and GitHub Pages deployment (Epic 5, Stories 5.1-5.3)
- Add box-shadow glow effect on tiles with value 128+
- Dynamic font sizing already implemented in Epic 4 responsive work (Story 5.2 = no-op)
- Set Vite base path to /try-bmad/ for GitHub Pages
- Add GitHub Actions workflow for automated deploy on push to main
- Production bundle 22.4KB gzipped (under 50KB target)
2026-04-14 09:43:14 +07:00
tiennm99 ee3e8f8548 feat: add multi-input support and responsive layout (Epic 4, Stories 4.1-4.3)
- Add WASD and Vim hjkl keyboard mappings to input handler
- Add touch/swipe input with 10px threshold and dominant-axis detection
- Refactor all component dimensions to CSS custom properties
- Add responsive breakpoint at 520px (500px→280px container, scaled fonts)
- Add 31 new tests (21 input-handler + 10 swipe), 90 total passing
2026-04-14 09:27:35 +07:00
tiennm99 450be21d9d feat: add pop, bounce, score float, and overlay fade animations (Stories 3.2-3.5)
Tile spawn pop (200ms scale 0→1), merge bounce (200ms scale 1→1.2→1),
score "+N" float (600ms rise+fade), overlay fade-in (800ms opacity).
All CSS @keyframes, all respect prefers-reduced-motion. Epic 3 complete.
2026-04-13 22:56:38 +07:00
tiennm99 67929027a6 feat: add tile slide animation with identity tracking (Story 3.1)
Tiles now slide smoothly to new positions with 100ms CSS transitions.
New tile-tracker.js module manages tile identity across moves, enabling
Svelte to reuse DOM nodes for CSS transition animation. Input queuing
prevents moves during animation. Supports prefers-reduced-motion.
59 tests passing (10 new tile-tracker tests).
2026-04-13 22:52:28 +07:00
tiennm99 fe8353fa31 docs: complete Epic 2 — Story 2.3 keep-playing verified, no code changes
All Story 2.3 ACs already satisfied by Stories 1.2, 1.6, and 2.2.
Keep-playing mode works: flag persists across sessions, win overlay
suppressed, game over still triggers. Epic 2 done.
2026-04-13 22:45:59 +07:00
tiennm99 fd7610b2fa feat: add game state persistence with localStorage (Story 2.2)
Game state saved after every move, restored on page load. Best score
persisted separately. New Game clears game state but preserves best
score. Schema validation prevents crashes from corrupted localStorage.
49 tests passing (11 new storage tests).
2026-04-13 22:44:56 +07:00
tiennm99 d5a4fd191d feat: add best score tracking (Story 2.1)
Best score updates when current score exceeds it and persists
across New Game resets within the session. localStorage persistence
comes in Story 2.2.
2026-04-13 22:37:12 +07:00
tiennm99 4e452dfe19 docs: complete Epic 1 review, create story 2.1 best score tracking
Epic 1 code review passed with 0 patches needed — all 6 stories
marked done. 6 deferred items logged for Epics 2-5. Created story
2-1-best-score-tracking as ready-for-dev to begin Epic 2.
2026-04-13 22:28:15 +07:00
tiennm99andClaude Opus 4.6 45de4b46cb feat: add header, scores, keyboard input, and overlays (Stories 1.4-1.6)
ScoreBoard shows current/best score. Keyboard arrow keys control
gameplay via input-handler module. GameMessage overlay shows win/game
over states with Keep Going, Try Again, and New Game actions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:52:31 +07:00
tiennm99andClaude Opus 4.6 51fb0ba35c feat: add game board and tile rendering (Story 1.3)
Grid.svelte renders 4x4 board with empty cell placeholders.
Tile.svelte renders colored numbered tiles with absolute positioning
and ARIA roles. App.svelte owns game state via Svelte 5 $state rune.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:48:21 +07:00
tiennm99andClaude Opus 4.6 21b7ac468a feat: implement game logic module with 38 tests (Story 1.2)
Pure JS game engine with initGame, move, canMove, isGameOver.
Implements leading-edge merge order, once-per-move rule, 90/10 tile
spawning, win detection (2048), and immutable state updates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:41:30 +07:00
tiennm99andClaude Opus 4.6 685ccf8e90 feat: scaffold Svelte + Tailwind + Vite project (Story 1.1)
Initialize project with Svelte 5, Vite 8, Tailwind CSS v4, and Vitest.
Set up folder structure (src/lib, src/components, public/fonts),
constants module with game values and 12-tier tile colors, Clear Sans
font, and page background styling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:35:26 +07:00
tiennm99andClaude Opus 4.6 877c0ad599 docs: create story 1.1 project scaffold and update sprint status
Epic 1 now in-progress, Story 1.1 ready-for-dev with comprehensive
implementation guide for Svelte + Tailwind + Vite project setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:16:34 +07:00
tiennm99andClaude Opus 4.6 c08847f7fe docs: add sprint status tracking for 5 epics and 20 stories
All stories in backlog status, ready for implementation starting
with Epic 1 Story 1.1 (project scaffold).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:14:43 +07:00
tiennm99andClaude Opus 4.6 e1165ada62 docs: add implementation readiness assessment report
All 6 validation categories passed: 31/31 FRs covered, full UX
alignment, no critical issues. Project is ready for sprint planning.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:13:00 +07:00
tiennm99andClaude Opus 4.6 58687ac116 docs: add epics and stories breakdown for 2048 clone
5 epics, 20 stories covering all 31 functional requirements,
9 NFRs, and 20 UX design requirements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:52:41 +07:00
tiennm99 13adf590e2 docs: add architecture decision document
Complete 8-step architecture workflow covering project context,
starter template evaluation (Svelte 5 + Vite 9 + Tailwind v4),
core decisions, implementation patterns, project structure,
and validation. Ready for implementation.
2026-04-13 00:31:04 +07:00
tiennm99 b8e6503dfc docs: add UX design specification and design direction mockups
Complete 14-step UX design workflow covering project understanding,
core experience, emotional response, visual foundation, user journeys,
component strategy, UX patterns, and responsive/accessibility strategy.
2026-04-12 23:37:55 +07:00
tiennm99 02b01dc33c docs: add project scoping and phased development plan to PRD 2026-04-12 20:26:07 +07:00
tiennm99 a43bdb247c docs: add web app specific requirements to PRD 2026-04-12 20:22:27 +07:00
tiennm99 d3469db198 docs: skip domain and innovation steps in PRD (low complexity, no innovation) 2026-04-12 20:20:12 +07:00
tiennm99 f9c3c23f43 docs: add user journeys to PRD 2026-04-12 20:18:59 +07:00
tiennm99 5d18fb22e8 docs: add success criteria and product scope to PRD 2026-04-12 20:17:03 +07:00
tiennm99 530d4094a7 docs: add executive summary and project classification to PRD 2026-04-12 20:14:49 +07:00
tiennm99 3217825521 docs: add project classification and vision discovery to PRD 2026-04-12 20:00:55 +07:00
tiennm99 b139e0842b docs: initialize PRD with workflow state and input documents 2026-04-12 19:58:01 +07:00
tiennm99 df0726a93f docs: finalize brainstorming session with idea organization and implementation roadmap 2026-04-12 19:55:50 +07:00
tiennm99 50c650a698 docs: add morphological analysis and finalize tech stack decisions 2026-04-12 19:45:48 +07:00
tiennm99 58e7c4a774 docs: add first principles and mind mapping results to brainstorming session 2026-04-12 19:27:40 +07:00
tiennm99 186f8be23a docs: add 2048 game brainstorming session with first principles research 2026-04-12 19:26:15 +07:00
tiennm99 932eec04b6 chore: add BMad Builder module and Claude skills configuration 2026-04-12 18:18:07 +07:00
tiennm99andGitHub b1d248c7cd Initial commit 2026-04-12 11:15:15 +07:00