ready for publish
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to @vimazing/vim-sudoku will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [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 hook
|
||||
- `validateMoves` option 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
|
||||
|
||||
[0.1.0]: https://github.com/vimazing/vim-sudoku/releases/tag/v0.1.0
|
||||
Reference in New Issue
Block a user