feat: add gameplay assists and variant generator

This commit is contained in:
2026-08-30 17:47:10 +02:00
parent 659640b231
commit 4a9869baa0
29 changed files with 2899 additions and 110 deletions
+13
View File
@@ -4,6 +4,19 @@ All notable changes are documented here.
## Unreleased
- Added optional digit-completion counts with muted complete digits and red
over-completion warnings.
- Added toggleable Ctrl/Command-click matching-digit highlights without turning
the highlights into an editable multi-selection.
- Fixed cage replacement and removal in the setter so overlapping cages cannot
remain accidentally active.
- Replaced ambiguous V/X pair labels on the board with numbered 5/10 badges and
gave inequalities a directional chevron with a marked lesser-value tip.
- Added thirteen uniquely checked built-in examples covering every supported
constraint family.
- Added bounded, seedable generation for classic and twelve variant families,
plus independent uniqueness and evidence-based difficulty assessment.
## 0.1.0 - 2026-08-30
- Initial local-first Sudoku setting, playing, solving and analysis workbench.
+19 -7
View File
@@ -9,20 +9,32 @@ release also runs independently from any static HTTPS host or local preview.
- **Play** — keyboard, mouse and touch entry; multi-cell selection; values,
corner/centre notes and colours; undo/redo; conflict highlighting; timer and
local progress.
local progress; optional digit-completion counts and matching-digit
highlights.
- **Set** — givens, metadata, regions and typed constraints; uniqueness checks
and seeded classic puzzle generation.
with overlap-safe cage replacement and selection-based cage removal.
- **Generate** — seedable, bounded construction for classic and 12 variant
families; independent uniqueness verification and evidence-based difficulty
assessment.
- **Solve** — exact solution counting plus an original human-style engine whose
steps include structured evidence, placements and eliminations.
- **Helpers** — Killer combinations and candidate-aware assignments, 45-rule
residuals, and Kropki, XV or inequality relation pairs.
Classic grids and common variants share one bounded puzzle model: irregular
regions, diagonals, Killer cages, thermometers, arrows, Kropki and XV clues,
inequalities, renban lines, palindromes, anti-knight, anti-king and
non-consecutive rules. Import accepts compact grid strings, this project's JSON
format, share fragments, and the common f-puzzles fields supported by the
model. Unknown constraints are reported rather than silently discarded.
regions, diagonals, Killer cages, thermometers, arrows, Kropki and numbered
5/10 sum-pair clues, inequalities, renban lines, palindromes, anti-knight,
anti-king and non-consecutive rules. Thirteen bundled, uniquely checked examples
demonstrate every supported constraint. Import accepts compact grid strings,
this project's JSON format, share fragments, and the common f-puzzles fields
supported by the model. Unknown constraints are reported rather than silently
discarded.
Generation supports only size/variant combinations which pass the bounded
construction checks. The requested difficulty controls clue-removal targets;
the displayed 0100 result is calculated afterwards from logical techniques,
clue load and reproducible exact-search evidence. A timeout or node limit is
reported as unknown and never promoted to a uniqueness or difficulty claim.
## Privacy and storage