import { Modal } from "./Modal"; export function HelpDialog({ open, onClose, }: { open: boolean; onClose: () => void; }) { return (

Five complementary workspaces

Play keeps values, two kinds of notes, colours, history and elapsed time. Set edits clues and constraints. Generate constructs and rates bounded, seedable variants. Solve explains logical steps and can verify uniqueness. Helpers answers focused questions without changing the board.

Keyboard

Arrow keys
Move the active cell
Shift + arrows
Extend the selection
1–9 / A–G
Enter the selected symbol
Z / X / C / V
Value, corner, centre or colour mode
Backspace
Erase in the current mode
Ctrl/⌘ + Z/Y
Undo or redo
Ctrl/⌘ + click
Highlight every placed copy of that digit

Hints and solutions

Candidate legality is computed independently from handwritten notes. Logical deductions report their premises, affected houses, placements and eliminations. Exact search is separately labelled; it proves feasibility or uniqueness but is not presented as a human explanation.

Generation and ratings

Generation runs in a worker with explicit time and search limits. A requested level guides clue removal; the reported rating is then calculated independently from logical techniques, clue load and bounded exact-search evidence. A limit never becomes a false uniqueness claim.

Import and privacy

Files, text, solving and generation stay in this browser. Compact grids, project JSON, share fragments and supported f-puzzles data are decoded locally. SudokuPad short IDs need its server and are intentionally rejected. Review an export before sharing: titles, authors, rules, solutions and progress may be included.

); }