1.7 KiB
1.7 KiB
Changelog
All notable changes to @vimazing/vim-sudoku will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2025-01-15
Added
- Initial release of @vimazing/vim-sudoku
- VIM-style modal editing with navigation and edit modes
- Full VIM motions (h/j/k/l, counted moves, ^/$/0, repeat with .)
- Smart cell locking for pre-filled clues
- Real-time validation system (optional, disabled by default)
- Automatic win detection using sum-to-45 algorithm
- Time-based scoring with keystroke penalties
- Tokyo Night themed CSS with 3x3 box separators
- Configurable size multiplier via CSS variables
- Complete TypeScript support with type declarations
- Composable hook architecture (useGame, useScore, useBoardState, etc.)
- Tree-shakeable exports
Features
useGame(platformHook?, options?)- Main game orchestration hookvalidateMovesoption for real-time move validation (default: false)
- Automatic win detection when board is complete and valid
- Scoring formula:
max(0, 100000 - timeInSeconds × 10 - extraMoves × 50) - VIM modal editing: navigation mode (default) and edit mode (R/C/I to enter)
- Visual feedback for all game states (navigation glow, edit mode pulse, locked cells)
- Support for counted motions (3j, 5l, etc.)
- Row navigation shortcuts (^, $, 0)
- Repeat last motion with
.
Documentation
- Comprehensive README with usage examples
- VIM modal editing guide
- Cell state rules reference
- API documentation for all hooks
- Build and release instructions