soroban-abacus-flashcards/CHANGELOG.md

61 KiB

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)

Semantic Release