Files
2025-10-15 23:06:01 +01:00

1.7 KiB
Raw Permalink Blame History

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 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