120 KiB
120 KiB
2.16.4 (2025-10-09)
Bug Fixes
- correct Docker CMD to use root-level server.js (48b47e9)
2.16.3 (2025-10-09)
Bug Fixes
- use game state playerMetadata instead of GameModeContext in UI components (388c254)
2.16.2 (2025-10-09)
Bug Fixes
- use only local user's players in LocalMemoryPairsProvider (c26138f)
2.16.1 (2025-10-09)
Bug Fixes
- convert LocalMemoryPairsProvider to pure client-side with useReducer (b128db1)
2.16.0 (2025-10-09)
Features
- fade out hover avatar when player stops hovering (820eeb4)
2.15.0 (2025-10-09)
Features
- implement smooth hover avatar animations with react-spring (442c6b4)
2.14.3 (2025-10-09)
Bug Fixes
- enable smooth spring animations between card hovers (8d53b58)
2.14.2 (2025-10-09)
Bug Fixes
- correct avatar positioning to prevent fly-in animation (573d0df)
2.14.1 (2025-10-09)
Bug Fixes
- prevent avatar fly-in and hide local player's own hover (7f65a67)
2.14.0 (2025-10-09)
Features
- improve hover avatars with smooth animation and 3D elevation (71b11f4)
2.13.0 (2025-10-09)
Features
- implement networked hover presence for multiplayer gameplay (62f3730)
Code Refactoring
- move canModifyPlayers logic into provider layer (db9f909)
- properly separate LocalMemoryPairsProvider and RoomMemoryPairsProvider (98822ec)
2.12.3 (2025-10-09)
Bug Fixes
- always show game control buttons in room-based sessions (14ba422)
2.12.2 (2025-10-09)
Bug Fixes
- use RoomMemoryPairsProvider in room page (c279731)
2.12.1 (2025-10-09)
Bug Fixes
- export MemoryPairsContext to fix provider hook error (80ad33e)
2.12.0 (2025-10-09)
Features
- add networked hover state infrastructure for multiplayer presence (d149799)
2.11.0 (2025-10-09)
Features
- add pause/resume game state architecture (05eacac)
- add Resume button and config change warning to setup UI (b5ee04f)
- implement pause/resume in game providers with optimistic updates (ce30fca)
Bug Fixes
- convert guestId to internal userId for player ownership check (3a01f46)
- implement shared session architecture for room-based multiplayer (2856f4b)
2.10.2 (2025-10-09)
Bug Fixes
- convert guestId to internal userId for player ownership check (3a01f46)
- implement shared session architecture for room-based multiplayer (2856f4b)
2.10.1 (2025-10-09)
Bug Fixes
- enforce player ownership authorization for multiplayer games (71b0aac)
2.10.0 (2025-10-09)
Features
- implement rich Radix UI tooltips for player avatars (d03c789)
2.9.0 (2025-10-09)
Features
- implement auto-save for player settings modal (a83dc09)
2.8.7 (2025-10-09)
Bug Fixes
- enable real-time player name updates across room members (5171be3)
2.8.6 (2025-10-09)
Bug Fixes
- prevent duplicate display of network avatars in nav (d474ef0)
2.8.5 (2025-10-09)
Bug Fixes
- remove redirect loop by not redirecting from room page (10cf715)
2.8.4 (2025-10-09)
Bug Fixes
- prevent redirect loops by checking if already at target URL (c5268b7)
2.8.3 (2025-10-08)
Bug Fixes
- remove ArcadeGuardedPage from room page to prevent redirect loop (4686f59)
2.8.2 (2025-10-08)
Bug Fixes
- revert to showing only active players in room games (87cc0b6)
2.8.1 (2025-10-08)
Bug Fixes
- include all players from room members in room games (28a2e7d)
2.8.0 (2025-10-08)
Features
- implement room-wide multi-user game state synchronization (8175c43)
Tests
- add comprehensive tests for arcade guard and room navigation (b49630f)
2.7.4 (2025-10-08)
Bug Fixes
- respect enabled flag in useArcadeGuard WebSocket redirects (01ff114)
Code Refactoring
- move room management pages to /arcade-rooms (4316687)
2.7.3 (2025-10-08)
Bug Fixes
- set room sessions to use /arcade/room URL (9dac431)
2.7.2 (2025-10-08)
Bug Fixes
- add hasAttemptedFetch flag to prevent premature redirect (c30f585)
2.7.1 (2025-10-08)
Bug Fixes
- resolve race condition in /arcade/room redirect (5ed2ab2)
2.7.0 (2025-10-08)
Features
- extend GameModeContext to support room-based multiplayer (ee6094d)
2.6.0 (2025-10-08)
Features
- refactor room addressing to /arcade/room (e7d2a73)
2.5.0 (2025-10-08)
Features
- display room info and network players in mini app nav (5e3261f)
2.4.6 (2025-10-08)
Bug Fixes
- real-time room member updates via globalThis socket.io sharing (94a1d9b)
2.4.5 (2025-10-08)
Bug Fixes
- send all members (not just online) in socket broadcasts (3fa6cce)
2.4.4 (2025-10-08)
Bug Fixes
- correctly access getSocketIO from dynamic import (30abf33)
2.4.3 (2025-10-08)
Bug Fixes
- resolve socket-server import path for Next.js build (12c3c37)
2.4.2 (2025-10-08)
Bug Fixes
- broadcast member join/leave events immediately via API (ebfc88c)
2.4.1 (2025-10-08)
Bug Fixes
- make leave room button actually remove user from room (49f12f8)
2.4.0 (2025-10-08)
Features
- add arcade room/session info and network players to nav (6800747)
- add real-time WebSocket updates for room membership (7ebb2be)
- implement modal room enforcement (one room per user) (f005fbb)
- improve room navigation and membership UI (bc219c2)
Bug Fixes
- auto-cleanup orphaned arcade sessions without valid rooms (3c002ab)
- show correct join/leave button based on room membership (5751dfe)
2.3.1 (2025-10-07)
Bug Fixes
- add missing DOMPoint properties to getPointAtLength mock (1e17278)
- add missing name property to Passenger test mocks (f8ca248)
- add non-null assertions to skillConfiguration utilities (9c71092)
- add optional chaining to stepBeadHighlights access (a5fac5c)
- add showAsAbacus property to ComplementQuestion type (4adcc09)
- add userId to optimistic player in useCreatePlayer (5310463)
- change TypeScript moduleResolution from bundler to node (327aee0)
- convert Jest mocks to Vitest in useSteamJourney tests (e067271)
- convert player IDs from number to string in arcade tests (72db1f4)
- rewrite layout.nav.test to match actual RootLayout props (a085de8)
- update useArcadeGuard tests with proper useViewerId mock (4eb49d1)
- use Object.defineProperty for NODE_ENV in middleware tests (e73191a)
- wrap Buffer in Uint8Array for Next.js Response API (98384d2)
Documentation
- add explicit package.json script references to regime docs (3353bca)
- establish mandatory code quality regime for Claude Code (dd11043)
- expand quality regime to define "done" for all work (f92f7b5)
2.3.0 (2025-10-07)
Features
- add Biome + ESLint linting setup (fc1838f)
Styles
- apply Biome formatting to entire codebase (60d70cd)
2.2.1 (2025-10-07)
Bug Fixes
- remove remaining typst-dependent files (d1b9b72)
2.2.0 (2025-10-07)
Features
- remove typst-related code and routes (be6fb1a)
2.1.3 (2025-10-07)
Bug Fixes
- remove .npmrc from Dockerfile COPY (e71c2b4)
2.1.2 (2025-10-07)
Bug Fixes
- revert to default pnpm mode for Docker compatibility (bd0092e)
2.1.1 (2025-10-07)
Bug Fixes
- ignore all node_modules in Docker (4792dde)
2.1.0 (2025-10-07)
Features
- remove typst dependencies (eedce28)
2.0.7 (2025-10-07)
Bug Fixes
- preserve workspace node_modules in Docker for hoisted mode (4f8aaf0)
2.0.6 (2025-10-07)
Bug Fixes
- ignore nested node_modules in Docker (f554592)
2.0.5 (2025-10-07)
Bug Fixes
- use .npmrc in Docker for hoisted mode consistency (2df8cdc)
2.0.4 (2025-10-07)
Bug Fixes
- remove .npmrc in Docker to avoid hoisted mode issues (2a77d75)
2.0.3 (2025-10-07)
Bug Fixes
- remove duplicate PlayerStatusBar story file from arcade (4e721f7)
2.0.2 (2025-10-07)
Bug Fixes
- update Dockerfile pnpm version and fix TypeScript config (43077a8)
2.0.1 (2025-10-07)
Bug Fixes
- add @types/minimatch to abacus-react devDependencies (fa45475)
2.0.0 (2025-10-07)
⚠ BREAKING CHANGES
- abacus-react package now has independent versioning from monorepo
Features
- abacus-react: add dual publishing to npm and GitHub Packages (242ee52)
- abacus-react: comprehensive README overhaul with current capabilities (0ce351e)
- abacus-react: configure GitHub Packages-only publishing workflow (5eeedd9)
- abacus-react: enable dual publishing to npm and GitHub Packages (176a196)
- abacus-react: enhance package description with semantic versioning details (af037b5)
- abacus-react: implement GitHub Packages-only publishing workflow (b194599)
- abacus-react: implement GitHub-only semantic release with manual package publishing (33b0567)
- abacus-react: simplify to GitHub Packages-only publishing (acc126b)
- abacus-react: update description to mention GitHub Packages support (af77256)
- abacus-react: use environment variables to override npm registry (ad444e1)
- add API routes for players and user stats (6f940e2)
- add arcade matching game components and utilities (ff16303)
- add arcade room system database schema and managers (Phase 1) (a9175a0)
- add build info API endpoint (571664e)
- add build info generation script (416dc89)
- add category browsing and scrolling to emoji picker (616a50e)
- add complement display options and unify equation display (2ed7b2c)
- add Complement Race game with three unique game modes (582bce4)
- add comprehensive E2E testing with Playwright (d58053f)
- add comprehensive Storybook stories for PlayerStatusBar (8973241)
- add configuration access to active player emojis in prominent nav (6049a7f)
- add configuration access to fullscreen player selection (b85968b)
- add consecutive match tracking system for escalating celebrations (111c0ce)
- add CSS animations and visual feedback system (80e33e2)
- add deployment info modal with keyboard shortcut (43be7ac)
- add direct URL routes for each game mode (a08f053)
- add exitSession to MemoryPairsContextValue interface (abc2ea5)
- add GameControlButtons component with unit tests (1f45c17)
- add guest session system with JWT tokens (10d8aaf)
- add initialStyle prop to ComplementRaceProvider (f3bc2f6)
- add intelligent on-screen number pad for devices without keyboards (d4740ff)
- add interactive remove buttons for players in mini nav (fa1cf96)
- add magnifying glass preview on emoji hover (2c88b6b)
- add middleware for pathname header support in @nav fallback (b7e7c4b)
- add mini app nav to arcade page (a854fe3)
- add optimistic updates and remove dead code (b62cf26)
- add passenger boarding system with station-based pickup (23a9016)
- add player types and migration utilities (79f44b2)
- add PlayerStatusBar with escalating celebration animations (7f8c90a)
- add prominent game context display to mini nav with smooth transitions (8792393)
- add React Query setup with api helper (a3878a8)
- add realistic mountains with peaks and ground terrain (99cdfa8)
- add security tests and userId injection protection (aa1ad31)
- add server-side validation for player modifications during active arcade sessions (3b3cad4)
- add Setup button to exit arcade sessions (ae1318e)
- add smooth spring animations to pressure gauge (863a2e1)
- add sound settings support to AbacusReact component (90b9ffa)
- add train car system with smooth boarding/disembarking animations (1613912)
- add Web Audio API sound effects system with 16 sound types (90ba866)
- complement-race: add abacus displays to pressure gauge (c5ebc63)
- complete themed navigation system with game-specific chrome (0a4bf17)
- create mode selection landing page for Complement Race (1ff9695)
- create PlayerConfigDialog component for player customization (4f2a661)
- create StandardGameLayout for perfect viewport sizing (728a920)
- display passengers visually on train and at stations (1599904)
- dynamic player card rendering on games page (81d17f2)
- dynamically calculate train cars based on max concurrent passengers (9ea1553)
- emit session-state after creating arcade session (70d6f43)
- enable prominent nav and fix layout on arcade page (5c8c18c)
- enhance emoji picker with super powered magnifying glass and hide empty categories (d8b4e42)
- enhance passenger card UI with boarding status indicators (4bbdabc)
- extend ground terrain to cover entire track area (ee48417)
- extend player customization to support all 4 players (72f8dee)
- extend railroad track to viewport edges (eadd7da)
- extend track and tunnels to absolute viewport edges (f7419bc)
- implement @nav parallel routes for game name display in mini navigation (885fc72)
- implement cozy sound effects for abacus with variable intensity (c95be1d)
- implement cozy sound effects for abacus with variable intensity (cea5fad)
- implement game control callbacks in MemoryPairsGame (4758ad2)
- implement game theming system with context-based navigation chrome (3fa11c4)
- implement innovative dynamic two-panel layout for on-screen keyboard (4bb8f6d)
- implement mobile-first responsive design for speed memory quiz (13efc4d)
- implement simple fixed bottom keyboard bar (9ef72d7)
- implement smooth train exit with fade-out through right tunnel (0176694)
- implement toggleable on-screen keyboard to prevent UI overlap (701d23c)
- improve game availability logic and messaging (9a3fa93)
- increase landmark emoji size for better visibility (0bcd7a3)
- integrate GameControlButtons into navigation (fbd8cd4)
- integrate remaining game sound effects (600bc35)
- integrate sound effects into game flow (countdown, answers, performance) (8c3a855)
- integrate user profiles with PlayerStatusBar and game results (beff646)
- make Steam Sprint infinite mode (32c3a35)
- make SVG span full viewport width for sprint mode (7488bb3)
- migrate abacus display settings to database (92ef136)
- migrate contexts to React Query (remove localStorage) (fe01a1f)
- migrate contexts to UUID-based player system (2b94cad)
- preserve track and passengers during route transitions (f2e7165)
- redesign passenger cards with vintage train station aesthetic (651bc21)
- set up automated npm publishing for @soroban/abacus-react package (dd80d29)
- set up Drizzle ORM with SQLite database (5d5afd4)
- skip countdown for train mode (sprint) (65dafc9)
- skip intro screen and start directly at game setup (4b6888a)
- sync URL with selected game mode (3920bba)
- UI polish for Sprint mode (viewport, backgrounds, data attributes) (90ad789)
- update nav components for UUID players (e85d041)
- use CSS transitions for smooth fullscreen player selection collapse (3189832)
- wire player configuration through nav component hierarchy (edfdd81)
Bug Fixes
- abacus-react: add debugging and explicit authentication for npm publish (b82e9bb)
- abacus-react: add packages: write permission for GitHub Packages publishing (8e16487)
- abacus-react: apply global columnPosts styling and fix reckoning bar width (bb9959f)
- abacus-react: force npm to use GitHub Packages registry (5e6c901)
- abacus-react: improve publishing workflow with better version sync (7a4ecd2)
- abacus-react: improve workspace dependency cleanup and add validation (11fd6f9)
- abacus-react: resolve workspace dependencies before npm publish (834b062)
- abacus-react: simplify semantic-release config to resolve dependency issues (88cab38)
- abacus-react: temporarily allow test failures during setup phase (e3db7f4)
- add CLEAR_MISMATCH move to allow mismatch feedback to auto-dismiss (158f527)
- add missing GameThemeContext file for themed navigation (d4fbdd1)
- add npmrc for hoisting and fix template paths (5c65ac5)
- add Python setuptools and build tools for better-sqlite3 compilation (a216a3d)
- add testing mode for on-screen keyboard and fix toggle functionality (904074c)
- align all bottom UI elements to same 20px baseline (076c97a)
- align bottom-positioned UI elements (227cfab)
- allow navigation to game setup pages without active session (c7ad3c0)
- change pressure gauge to fixed positioning to stay above terrain (1b11031)
- change question display to fixed positioning with higher z-index (4ac8758)
- complement-race: improve abacus display in equations (491b299)
- complement-race: prevent passengers being left behind at delivery stations (e6ebecb)
- correct emoji category group IDs to match Unicode CLDR (b2a21b7)
- defer URL update until game starts (12c54b2)
- delay passenger display update until train resets (e06a750)
- disable turn validation in arcade mode matching game (7c0e6b1)
- eliminate rail jaggies on sharp curves by increasing sampling density (46d4af2)
- enable shamefully-hoist for semantic-release dependencies (6168c29)
- enforce playerId must be explicitly provided in arcade moves (d5a8a2a)
- ensure consistent r×c grid layout for memory matching game (f1a0633)
- ensure game names persist in navigation on page reload (9191b12)
- ensure passengers only travel forward on train route (8ad3144)
- export missing hooks and types from @soroban/abacus-react package (423ba55)
- implement route-based theme detection for page reload persistence (3dcff2f)
- improve navigation chrome background color extraction from gradients (00bfcbc)
- increase question display zIndex to stay above terrain (8c8b8e0)
- lazy-load database connection to prevent build-time access (af8d993)
- make results screen compact to fit viewport without scrolling (9d4cba0)
- migrate viewport from metadata to separate viewport export (1fe12c4)
- move auth.ts to src/ to match @/ path alias (7829d8a)
- move fontWeight to style object for station names (05a3ddb)
- only show configuration gear icon for players 1 and 2 (d0a3bc7)
- pass player IDs (not user IDs) in all arcade game moves (d00abd2)
- passengers now board/disembark based on their car position, not locomotive (96782b0)
- position tunnels at absolute viewBox edges (1a5fa28)
- prevent layout shift when selecting Steam Sprint mode (73a5974)
- prevent multiple passengers from boarding same car in single frame (63b0b55)
- prevent premature passenger display during route transitions (fe9ea67)
- prevent random passenger repopulation during route transitions (db56ce8)
- prevent route celebration from immediately reappearing (1a80934)
- redesign matching game setup page for StandardGameLayout (cc1f27f)
- reduce landmark size from 4.0x to 2.0x multiplier (c928e90)
- regenerate lockfile with correct dependency order (51bf448)
- regenerate lockfile with node-linker=hoisted from scratch (480960c)
- regenerate pnpm lockfile for pnpm 9 compatibility (4ab1aef)
- remove double PageWithNav wrapper on matching page (b58bcd9)
- remove duplicate CAR_SPACING and MAX_CARS declarations (e704a28)
- remove duplicate previousPassengersRef declaration (fad8636)
- remove frozen lockfile flag from publishing workflow to resolve dependency installation issues (18af973)
- remove hard-coded car count from game loop (6c90a68)
- remove unnecessary zIndex from question display (db52e14)
- reposition on-screen keyboard to avoid covering abacus tiles (6e5b4ec)
- require activePlayers in START_GAME, never fallback to userId (ea1b1a2)
- reset momentum and pressure when starting new route (3ea88d7)
- resolve circular dependency errors in memory quiz on-screen keyboard (d25e2c4)
- resolve JSX parsing error with emoji in guide page (bf046c9)
- resolve mini navigation game name persistence across all routes (3fa314a)
- resolve runtime error - calculateOptimalGrid not defined (fbc84fe)
- resolve SSR/client hydration mismatch for themed navigation (301e65d)
- resolve TypeScript errors in PlayerStatusBar component (a935e5a)
- restore navigation to all pages using PageWithNav (183706d)
- show "Return to Arcade" button only during active game (4153929)
- smooth rail curves and deterministic track generation (4f79c08)
- stabilize route completion threshold to prevent stuck trains (b7233f9)
- update lockfile and fix Makefile paths (7ba746b)
- update matching game for UUID player system (2e041dd)
- update memory pairs game to use StandardGameLayout (8df76c0)
- update memory quiz to use StandardGameLayout (3f86163)
- update pnpm version to 8.15.6 to resolve ERR_INVALID_THIS error in workflow (0b9bfed)
- update race track components for new player system (ae4e8fc)
- update tutorial tests to use consolidated AbacusDisplayProvider (899fc69)
- update workflow to support Personal Access Token for GitHub Packages publishing auth (ae4b71b)
- upgrade CI dependencies and fix deprecated actions (6a51c1e)
- use displayPassengers for station rendering in RailroadTrackPath (a9e0d19)
- use node-linker=hoisted for full dependency hoisting (d3b2e0b)
- use player IDs instead of array indices in matching game (ccd0d6d)
- use style fontSize instead of attribute for landmarks (ebc6894)
- use UUID player IDs in session creation fallback (22541df)
- wrap animated pressure value in animated.span to prevent React error (5c5954b)
Performance Improvements
- optimize React rendering with memoization and consolidated effects (93cb070)
Code Refactoring
- completely remove @nav parallel routes and simplify navigation (54ff20c)
- consolidate abacus display context management (a387b03)
- extract ActivePlayersList component from PageWithNav (2849576)
- extract AddPlayerButton component from PageWithNav (57a72e3)
- extract FullscreenPlayerSelection component from PageWithNav (66f5223)
- extract GameContextNav orchestration component (e3f552d)
- extract GameHUD component from SteamTrainJourney (78d5234)
- extract GameModeIndicator component from PageWithNav (d67315f)
- extract guide components to fix syntax error in large file (c77e880)
- extract RailroadTrackPath component from SteamTrainJourney (d9acc0e)
- extract TrainAndCars component from SteamTrainJourney (5ae22e4)
- extract TrainTerrainBackground component from SteamTrainJourney (05bb035)
- extract usePassengerAnimations hook from SteamTrainJourney (32abde1)
- extract useTrackManagement hook from SteamTrainJourney (a1f2b97)
- extract useTrainTransforms hook from SteamTrainJourney (a2512d5)
- make game mode a computed property from active player count (386c88a)
- remove drag-and-drop UI from EnhancedChampionArena (982fa45)
- remove duplicate game control buttons from game phases (9165014)
- remove redundant game titles from game screens (402724c)
- replace bulky MemoryGrid stats with compact progress display (c4d6691)
- simplify navigation flow and enhance GameControls UI (920aaa6)
- simplify PageWithNav by extracting nav components (98cfa56)
- split deployment info into server/client components (5e7b273)
- streamline GamePhase header and integrate PlayerStatusBar (dcefa74)
- streamline UI and remove duplicate information displays (7a3e34b)
Documentation
- add comprehensive workflow documentation for automated npm publishing (f923b53)
- add server persistence migration plan (dd0df8c)
Tests
- add comprehensive unit tests for refactored hooks and components (5d20839)
- add E2E tests for arcade modal session behavior (619be98)
1.2.1 (2025-09-28)
Bug Fixes
- update GitHub Pages actions to v4 for better deployment reliability (be76c23)
1.2.0 (2025-09-28)
Features
- trigger storybook deployment after enabling GitHub Pages (64dc94e)
1.1.3 (2025-09-28)
Bug Fixes
- add cssgen step to generate styles.css for Storybook (26077de)
1.1.2 (2025-09-28)
Bug Fixes
- upgrade Node.js to version 20 for Storybook compatibility (4c33872)
1.1.1 (2025-09-28)
Bug Fixes
- update GitHub Actions to use latest action versions for Storybook deployment (f0bb411)
1.1.0 (2025-09-28)
Features
- add GitHub Pages Storybook deployment with dual documentation sites (439707b)
1.0.0 (2025-09-28)
Bug Fixes
- add explicit type annotation for examples array in LivePreview (6c49e03)
- add missing color-palette parameter to generate-flashcards function (18583d0)
- add navigation to games from character selection modal (b64fb1c)
- add onConfigurePlayer prop to ChampionArena (6e1050c)
- add optional chaining to prevent TypeScript error (d42dca2)
- add robust fallback system for term highlighting in guidance (decd8a3)
- add tooltip targeting logic to only show on beads with arrows (4425627)
- add xmlns attributes to SVG examples for GitHub compatibility (c2f33ce)
- adjust tutorial editor page height to account for app navigation (9777bef)
- allow semantic release to proceed despite build failures (73a6904)
- apply CSS scaling to abacus components in memory quiz (599fbfb)
- clean up component interfaces and settings (ce6c2a1)
- convert foreignObject to native SVG text elements (3ccc753)
- correct column indexing and add boundary checks for interactive abacus (bbfb361)
- correct diamond bead column alignment to match Typst positioning (97690d6)
- correct heaven bead positioning to match earth bead gap consistency (0c4eea5)
- correct highlightBeads format in AbacusTest.stories.tsx (7122ad7)
- correct mathematical inconsistency in cascading complement test (56cb69c)
- correct pedagogical algorithm specification and tests (9e87d3a)
- correct segment expression formatting and rule detection (e60f438)
- correct static file paths in Docker for Next.js standalone mode (91223b6)
- correct styled-system import paths in games page (82aa73e)
- correct styled-system import paths in memory quiz page (a967838)
- correct SVG text positioning to match React component alignment (8024d0a)
- correct Tab navigation direction in numeral input system (d4658c6)
- correct TanStack Form state selectors in create page (178f0ff)
- correct term position calculation for complement segments (7189090)
- correct tutorial bead highlighting to use rightmost column (ones place) (b6b1111)
- correct tutorial highlighting placeValue to columnIndex conversion (35257b8)
- correct tutorial step "7 + 4" to highlight all required beads (9c05bee)
- correct workspace configuration and remove non-existent packages (39526eb)
- crop interactive abacus SVG whitespace with simple CSS scaling (bb3d463)
- disable pointer events on direction indicator arrows (944d922)
- disable pointer events on overlay content div (b5db935)
- display actual numbers in SVG examples (3308e22)
- downgrade Docker action versions to available ones (57d1460)
- enable individual term hover events within complement groups (0655968)
- enable multi-bead highlighting in tutorial system (ab99053)
- enhance collision detection to include all active beads (3d9d69c)
- ensure abacus visibility in memory quiz display phase (fea7826)
- ensure celebration tooltip shows when steps complete (5082378)
- exclude test files from TypeScript build (0e097da)
- expand heaven-earth-gap to 30pt to accommodate equal 19pt gaps for both heaven and earth inactive beads (a048e11)
- extract clean SVG content from component output (f57b071)
- gallery now loads actual Typst-generated SVGs instead of fake placeholders (87eb51d)
- generate Panda CSS styled-system before building in Docker (c7a45e9)
- handle both direct and module execution for web format (a1fd4c8)
- hide celebration tooltip when user moves away from target value (f9e42f6)
- implement bead highlighting by modifying getBeadColor function (7ac5c29), closes #FFD700
- implement consistent single-card preview generation (83da1eb)
- implement focus handling for numeral input in place-value system (415759c)
- implement gap-filling logic for sorting challenge boundary issues (df41f2e)
- implement mathematical SVG bounds calculation for precise viewBox positioning (1b0a642)
- implement prefix-conflict detection for speed memory quiz (01b00b5)
- implement proper bi-directional drag and drop with useDroppable (53fc41c)
- implement proper React controlled input pattern for AbacusReact (c18919e)
- implement proper SVG cropping and fix abacus positioning (793ffd3)
- implement ref-based fullscreen element tracking for proper persistence (7b947f2)
- implement smooth cross-zone drag animations without scaling issues (7219a41)
- improve abacus sizing across all components with CSS transforms (cd6165e)
- improve error handling in ServerSorobanSVG component (ec51105)
- improve game mode selection UX by removing redundancy (9fe7068)
- improve pedagogical correctness and cascade carry handling (85ed254)
- improve pedagogical segment detection and instruction quality (0ac51ae)
- improve race mechanics and fix display issues (511eb2e)
- improve sorting game UI with larger abacus and better slot design (d5e2fda)
- improve visual balance of inactive heaven bead positioning (a789087)
- keep tooltip visible when step completed to show celebration (b5d7512)
- make inactive heaven bead gaps truly equal to earth bead gaps (209ea0f)
- make lightbulb emoji inline with help text (43e046a)
- make sorting game action buttons visible during gameplay (0c1f44b)
- match React component font sizing for SVG numbers (dedc0e7)
- maximize inactive heaven bead gap from reckoning bar (8f88eeb)
- move inactive heaven beads HIGHER for larger gap from reckoning bar (2a82902)
- move inactive heaven beads to 2pt from top for 18pt gap from reckoning bar (708cc91)
- perfect crop mark detection and SVG dimension consistency (79f38c1)
- position inactive heaven beads above reckoning bar, not below (2d7d4ef)
- position inactive heaven beads relative to reckoning bar with same 19pt gap as earth beads (3424ca1)
- position inactive heaven beads with maximum gap using available space (421ec11)
- position success toast near abacus instead of app nav (ec40a8d)
- preserve fullscreen mode when navigating from arcade to memory matching game (2505335)
- prevent premature step completion for multi-step problems (41dde87)
- prevent race end modal from breaking endless route progression (e06be9d)
- regenerate example SVGs with actual soroban renderings (d94baa1)
- remove broken display switching and add train emoji flip (3227cd5)
- remove controlled tooltip state to enable proper HoverCard timing (e6e3aa9)
- remove explicit conventionalcommits preset config to fix semantic-release (15a9986)
- remove failing tests from GitHub Actions workflow to enable deployment (2eaeac6)
- remove ordering mismatch warning and implement correct expected state calculation (9de48c6)
- remove Panda CSS generated files from source control (18b685b)
- remove redundant mode selection and revert game naming (03f5056)
- remove TypeScript type check from GitHub Actions workflow (18e2aa9)
- replace all window.location.href with Next.js router for proper navigation (2a84687)
- replace invalid CSS 'space' property with 'gap' in guide page (5841f3a)
- resolve abacus sizing and prefix matching issues in memory quiz (b1db028)
- resolve arrow disappearing and incorrect bead targeting in 3+14=17 story (b253a21)
- resolve async/await issues in download API routes (9afaf6e)
- resolve auto-incrementing counter in InteractiveWithNumbers story (1838d7e)
- resolve critical bugs in automatic instruction generator found by stress testing (e783776)
- resolve critical ordering mismatch between multiStepInstructions and stepBeadHighlights (2c395f3)
- resolve display switching bug causing game content to disappear (4736768)
- resolve dnd-kit ref extension error in enhanced arena (fac3202)
- resolve final TypeScript errors in place-value migration (9a24dc8)
- resolve infinite render loop when clicking Next in tutorial player (4ef6ac5)
- resolve nested border radius visual artifacts on match cards (c69f6a4)
- resolve Python FileNotFoundError and improve error handling (69bda9f)
- resolve ReferenceError by moving ref declarations before usage (fa153c6)
- resolve SorobanGeneratorBridge path issues for SVG generation (845a4ff)
- resolve stepIndex mismatch preventing arrows in multi-step sequences (96fda6b)
- resolve style dropdown click-outside and infinite re-render issues (6394218)
- resolve temporal dead zone error with goToNextStep (3d503dd)
- resolve test failures and improve test robustness (3c0affc)
- resolve TypeScript compilation errors (db3784e)
- resolve TypeScript compilation errors blocking GitHub Actions build (83ba792)
- resolve TypeScript errors across the codebase (5946183)
- resolve zero-state interaction bug in AbacusReact component (f18018d)
- restore click functionality alongside directional gestures (3c28c69)
- restore interactive abacus display with TypstSoroban fallback (b794187)
- restore missing typst dependencies for WASM loading (96aa790)
- restore single-click player card functionality for arena toggle (1ba2a11)
- restore workspace dependencies and fix TypeScript errors (31df87d)
- show numbers in educational abacus examples (2b5f143)
- simplify collision detection to resolve iterable error (0b3e8fd)
- simplify inactive heaven bead positioning for better gap matching (22c4bd3)
- simplify semantic-release config to use default conventional commits (e207659)
- single digit values now correctly position in rightmost column (689bfd5)
- stabilize smart help detection with timer-based state (9cc3a0e)
- update bridge generator interface to support SVG format (a022852)
- update GitHub Actions to use latest action versions (b674946)
- update gitignore to follow Panda CSS best practices (ccd0aa7)
- update pnpm lockfile to sync with semantic-release dependencies (9d23e82)
- update relative import in generate.py for module compatibility (b633578)
- update unified gallery to use correct crop examples (826e86d)
- use actual AbacusReact component for README examples via SSR (a630aa4)
- use aggressive NumberFlow mock for SVG text rendering (1364b11)
- use correct test command in GitHub Actions workflow (6483e28)
Features
- add 292 comprehensive snapshot tests for pedagogical algorithm (3b8f803)
- add AbacusContext for global display configuration (6460089)
- add ArithmeticOperationsGuide component to learning guide (902fa56)
- add automated semantic release system with conventional commits (46c8839)
- add backgroundGlow support for column highlighting (b1866ce)
- add bead annotation support to SVG generation (ab244ea)
- add browser fullscreen API context (8e1a948)
- add browser-free example generation using react-dom/server (a100a6e)
- add browser-side bead annotation processing (914e145)
- add CI-friendly example generation and verification (1adbd1a)
- add click-to-dismiss functionality for success popup (3066826)
- add colored numerals feature to match bead colors (e4aaaea)
- add complete NAS deployment system for apps/web (eb8ed8b)
- add comprehensive .gitignore for monorepo (9eccd34)
- add comprehensive soroban learning guide with server-generated SVGs (38d8959)
- add comprehensive Storybook demos for problem generation system (c01f968)
- add comprehensive Storybook examples for documentation (8289241)
- add comprehensive test suite and documentation (bb869a0)
- add comprehensive test suite with visual regression testing (7a2eb30)
- add comprehensive tests for celebration tooltip behavior (a23ddf5)
- add comprehensive tutorial system with editor and player (579caf1)
- add comprehensive unit test suite for memory quiz functionality (a557362)
- add comprehensive welcome page as default landing experience (556a830)
- add concurrent Panda CSS watch to dev script (e8aed80)
- add config presets for colored numerals and skip counting (a8a01a8)
- add cosmic fullscreen mode to abacus style dropdown (afec22a)
- add deprecation markers to legacy column-based API (22f1869)
- add development tooling and comprehensive setup (7ca65bf)
- add extracted TutorialDebugPanel and TutorialNavigation components (bc5446a)
- add fox tunnel digging system for Lightning Sprint mode (b7fac3a)
- add full-viewport abacus test page (861f0e0)
- add fullscreen arcade page with Champion Arena (3edf35f)
- add fullscreen game layout wrapper component (a25e611)
- add fullscreen parameter handling to GameCard (337aa56)
- add fullscreen support to Memory Quiz game (763fc95)
- add Games navigation to main app header (b87ed01)
- add guided addition tutorial with five complements (8ca9dd7)
- add input-based flashcard template with parameter parsing (b375a10)
- add interactive abacus display to guide reading section (6d68cc2)
- add interactive bead clicking to soroban abacus (697552e)
- add interactive test story for column highlighting with bead interaction (ee20473)
- add interactive tutorial system with step validation (c5c2542)
- add invisible crop marks for consistent SVG viewBox boundaries (7731f70)
- add Node.js/TypeScript integration with clean function interface (fb1b047)
- add PDF print integration with modal interface (09b0fad)
- add pedagogical segments for contextual learning (0053510)
- add practice page system to guided addition tutorial (9adc3db)
- add precise term position tracking to unified step generator (52323ae)
- add production-ready defensive programming for pedagogical segments (704a8a8)
- add proper step initialization and multi-step navigation to TutorialContext (153649c)
- add Python bridge and optional FastAPI server (98263a7)
- add Radix tooltip dependency for better tooltip accessibility (6c02ea0)
- add real-time bead movement feedback to tutorial UI (4807bc2)
- add reusable GameSelector and GameCard components (c5a654a)
- add self-contained Storybook-like gallery for template visualization (efc5cc4)
- add setGameModeWithPlayers method to GameModeContext (c3a4d76)
- add single card template for PNG/SVG output (3315310)
- add smooth cross-zone reordering animations and tone down scaling (b7335f0)
- add soroban games section with Speed Memory Quiz (331a789)
- add static site generator for gallery with embedded SVGs (505ff66)
- add step parameter for skip counting (c94fa5c)
- add Storybook stories for debugging zero-state interaction bug (f293e5e)
- add stunning hero section with colorful soroban showcase (d65ac54)
- add SVG post-processing to convert bead annotations to data attributes (8de3259)
- add SVG post-processor to package exports (59f4022)
- add testing framework dependencies (11306df)
- add TouchSensor for mobile drag and drop compatibility (4fbf4d8)
- add TypeScript client libraries for browser integration (f21b5e5)
- add TypeScript configuration for core package (43b3296)
- add typography improvements and subtle dev warning styling (12a8837)
- add unified step generator for consistent pedagogical decomposition (93d2d07)
- add UserProfileProvider to app layout for character support (21c430b)
- add WASM preloading strategy with template deduplication (91e65c8)
- add web development test files and public assets (0809858)
- add web output format with interactive hover flashcards (0a4e849)
- attempted floating math display following train (2d50eb8)
- automatic abacus instruction generator for user-created tutorial steps (5c46470)
- BREAKTHROUGH - eliminate effectiveColumns threading nightmare! (8fd9e57)
- complete deployment documentation and infrastructure (26f9285)
- COMPLETE place-value migration - eliminate all backward compatibility (67be974)
- complete steam train sound system and smooth time-of-day transitions (6c60f94)
- completely rewrite SorobanQuiz memory game with advanced features (c3fdbfc)
- connect TutorialPlayer to universal AbacusDisplayContext (ff12bab)
- convert SorobanQuiz memory game styling to Panda CSS (bed97e6)
- create @soroban/templates package with dual Node.js/Python interface (7da0123)
- create comprehensive interactive soroban tutorial with stunning UI (d78f19e)
- create interactive gallery replicating original Typst design (1bcfd22)
- create Next.js web application with beautiful UI (1b7e71c)
- create sequential practice problem player with step-by-step guidance (8811106)
- create shared EditorComponents library for tutorial UI consistency (4991a91)
- create unified skill configuration interface with intuitive modes (fc79540)
- disable NumberFlow animations for keyboard input to prevent jarring transitions (fe38bfc)
- display pedagogical terms inline with current tutorial step (408eb58)
- enable automatic live preview updates and improve abacus sizing (f680987)
- enhance ChampionArena with integrated GameSelector and improved UX (aba3f68)
- enhance column mapping for two-level highlighting (007d088)
- enhance crop marks with edge-based positioning and comprehensive tests (8c7a5b1)
- enhance GameCard with epic character celebration animations (b05189e)
- enhance instruction generator with step bead highlighting and multi-step support (8518d90)
- enhance memory quiz input phase for better learning experience (7c5556b)
- enhance memory quiz with dynamic columns and adaptive transitions (aa1f674)
- enhance navigation touch targets for mobile (6e09f21)
- enhance pedagogical reasoning tooltips with comprehensive context (bb38c7c)
- enhance steam train coal shoveling visual feedback (f26fce4)
- enhance test page with lazy loading demo (5a8bb2f)
- enhance tooltips with combined provenance and pedagogical content (0c7ad5e)
- enhance tutorial system with multi-step progression support (3a63950)
- enhance two-player matching game with multiple UX improvements (f35dcdc)
- export bridge generator from core package (90a5c06)
- export SVG processing functions from main module (bee866a)
- extend provenance system for multi-column term tracking (013e8d5)
- hide Next Action when at expected starting state for current step (aafee3a)
- hide Next Action when current state matches step target (ed3d896)
- hide redundant pedagogical expansions for simple problems (9d0e8c7)
- hide timer bar for train variant only (84334f9)
- implement 90s arcade sound system and tunnel digging mechanics (a43ab92)
- implement actual abacus SVG generation for README examples (6e02102)
- implement authentic adjacent bead spacing for realistic abacus appearance (f28256d)
- implement clean background glow for term-to-column highlighting (ec030f0)
- implement colorblind-friendly color palettes with mnemonic support (faf578c)
- implement complete smart number entry system for quiz (150c195)
- implement comprehensive bead diff tooltips with pedagogical decomposition (2e3223d)
- implement comprehensive character integration for /games arcade (26bf399)
- implement comprehensive customization API for AbacusReact (48f6e77)
- implement comprehensive pedagogical algorithm improvements (72d9362)
- implement comprehensive pedagogical expansion tests for abacus operations (5d39bdc)
- implement context-aware English instruction generation (bd3f144)
- implement CSS-based hidden inactive beads with smooth opacity transitions (ff42bcf)
- implement dynamic bead diff algorithm for state transitions (c43090a)
- implement dynamic train orientation following curved path direction (e6065e8)
- implement elegant between-step hover-based add functionality (89a0239)
- implement endless route progression system (a2b3e97)
- implement enhanced tactile drag and drop arena with dnd-kit (4b840e9)
- implement fair scoring algorithm for card sorting challenge (ee7a5e4)
- implement global abacus display configuration and remove client-side SVG generation (5c3231c)
- implement HoverCard-based tooltip with enhanced UX and accessibility (7fef932)
- implement interactive pedagogical reasoning with compact tooltips (2c09516)
- implement interactive place value editing with NumberFlow animations (684e624)
- implement intuitive directional gesture system for abacus beads (7c104f3)
- implement learner-friendly pedagogical tooltips with plain language (01ed22c)
- implement modal dialogs with fullscreen support for challenges (9b6cabb)
- implement native place-value architecture for AbacusReact (3055f32)
- implement physical abacus logic and fix numeral coloring regression (5e3d799)
- implement precise inline highlighting of pedagogical terms (538d356)
- implement progressive enhancement with minimal loading states (7e1ce8d)
- implement progressive multi-step instruction system in AbacusReact (9195b9b)
- implement proper SVG transform accumulation for crop mark viewBox calculation (03230a2)
- implement provenance system for pedagogical term tracking (37b5ae8)
- implement React abacus component with independent heaven/earth beads (528cac5)
- implement real SVG generation from Python bridge in preview API (4b90d12)
- implement realistic abacus drag mechanics (86cbbc8)
- implement revolutionary drag-and-drop champion arena interface (dbf61c4)
- implement semantic summarizer for pedagogical tooltips (d1f1bd6)
- implement sequential addition problem generation with skill-aware logic (205badb)
- implement skill-based practice step editor system (9a3afb1)
- implement smart help detection for Next Action display (933b948)
- implement smart tooltip positioning to avoid covering active beads (e104033)
- implement two-level column highlighting in tutorial player (bada299)
- implement type-safe place-value API for bead highlighting (9b6991e)
- implement unified step positioning for tutorial editor (6aac8f2)
- improve bead interaction handlers for place-value system (34b9517)
- improve celebration tooltip positioning to last moved bead (91c5e58)
- improve pedagogical decomposition to break down by place value (4c75211)
- improve preview number selection for better variety demonstration (3eb053f)
- improve sorting game UX with visual cues and auto-selection (a943ceb)
- improve visual appearance with dynamic rod bounds and better spacing (6c95538)
- initialize CHANGELOG.md for semantic release tracking (5dcee6b)
- integrate bead diff algorithm with tutorial editor (472bdf8)
- integrate guided addition tutorial into guide page (b82a8f1)
- integrate memory pairs game with arena champions and N-player support (d9f07d7)
- integrate MemoryPairs game with global GameModeContext (022dca6)
- integrate NumberFlow for smooth animated number display (e330d35)
- integrate pytest testing with make targets (8c15d06)
- integrate typst.ts for browser-native SVG generation (c703a3e)
- integrate unified skill configuration interface into practice step editor (9305f11)
- integrate unified step generator into tutorial editor UI (88059b2)
- make success notification prominent but non-blocking (7278590)
- migrate all app abaci to browser-side generation (9be52ac)
- move progressive test stories to web app with real instruction generator integration (9d568e3)
- optimize games page for mobile devices (eb7202d)
- optimize memory quiz layout for better viewport usage (2f0c0fe)
- optimize mobile viewport configuration (476f0fb)
- optimize Next.js webpack configuration for WASM (39b6e5a)
- optimize showNumbers layout with three modes and visual improvements (77dc470)
- polish interactive abacus with column-based digit display (ad11e3d)
- redesign memory game with invisible input and penalty scoring (b92a867)
- regenerate Panda CSS styles for memory quiz and other components (b8361ee)
- remove normalizeBeadHighlight conversion layer (6200204)
- reorganize main page into navigable sectioned layout (4d179b5)
- replace Champion Arena with Enter Arcade button (2b98382)
- replace inline success message with stunning floating overlay (43f02eb)
- replace legacy abacus components with new AbacusReact (2a6a010)
- replace manual dropdown with Radix UI for proper state management (bf050fa)
- replace single-column results with persistent card grid layout (30ae6e1)
- replace tutorial player arrows with dynamic bead diff algorithm (e8fe467)
- restore steam train journey enhancements (045dc9f)
- revolutionary single-element editable NumberFlow with live abacus updates (4bccd65)
- set up monorepo structure with pnpm workspaces and Turborepo (62e941e)
- streamline practice step editor by removing redundant preview section (beaf3f0)
- switch tooltip system from Tooltip to HoverCard for better interactivity (861904f)
- transform tooltip into celebration when step completed (057f71e)
- update ReasonTooltip UI to prioritize semantic summaries (6fb0384)
Performance Improvements
- debounce value change events during rapid gesture interactions (82e15a1)
- eliminate loading flash with delayed loading state (c70a390)
- optimize tutorial abacus highlighting calculation (3490f39)
- optimize TutorialEditor TutorialPlayer prop calculations (8e81d25)
- speed up bead animations for fast abacus calculations (1303c93)