Sudoku
Daily sudoku in four difficulties, with notes and hints that explain
palupdated 2026-09-29FunIn pal's registry
In pal's registry: the button shows it in pal, which asks before installing; the command does the same from a terminal. This page can't see what your pal has installed.





What it does
Sudoku made on your machine: a daily puzzle in Easy, Medium, Hard and Expert (the same for everyone that day) and a new one whenever you like, graded by the techniques it takes. Notes without switching modes, auto notes, hints that explain in plain words, and every move saved.
- A daily puzzle per difficulty, the same on every machine, and a new one any time with
cmd+n; nothing is fetched - Graded by the techniques it needs, from singles you can spot to X-wings and swordfish
- Notes without an extra step: type a second digit into a cell and it keeps both as notes; auto notes on
c - Hints in three steps: where to look, why in plain words, then the move
- A digit-first mode on
d, undo and redo, and clashes or mistakes marked as you play - A clock you can hide, streaks, best and average times per difficulty, and every past daily by month
Palettes 1
-
Sudoku
sudokuviewThe game left half-done, else today's daily. Escape leaves at any point; every move is saved.
- 1Place a digit (1 to 9); a different one over it makes notes
- ⇧1A note (shift or alt with a digit)
- NNotes mode (or space)
- CAuto notes
- DDigit first: pick a digit, click cells
- ⌫Erase
- ↑Move (or h j k l)
- IHint: where, why, then the move
- UUndo (shift+u redo)
- ⌘NNew game or today's puzzle
- ?Every key
Actions
- HintWhere to look; again for why; again for the move.I
- Notes modeDigits write notes instead. Shift with a digit writes one without switching, and a second digit over a placed one makes notes anyway.N
- Auto notesEvery empty cell shows what still fits; you only take notes out. Again to bring your own back.C
- Digit firstPick a digit, then click the cells it goes in. Again to leave.D
- Fill in notesEvery empty cell gets what fits; notes you wrote are only trimmed. Shift-A clears them.A
- UndoShift-U or ⌘⇧Z redoes.U
- New gameToday's puzzle or a new one, per difficulty.⌘N
- BrowseThe dailies by month, and every half-done game.⌘O
- StatsTimes, streaks and the history per difficulty.⌘S
- PauseStops the clock and hides the board.P
- Hide the clockNo running time on screen; again to bring it back. Times still count.T
Settings
Extension, [extensions.sudoku]
difficultyWhose daily the first open shows when nothing is left half-done. ⌘N picks any difficulty either way. One of easy, medium, hard, expert.
checkClashes are the same digit twice in a row, column or box. Mistakes also mark a digit that is not the answer, and count them. Also on ⌘K. One of conflicts, mistakes.
clockOff hides the running time. Your times still count for stats and show when you finish. Also T or ⌘K in the game.
auto_notesEach empty cell shows the digits that still fit, updated as you play; you only take out the ones you rule out, and they stay out. Off brings your own notes back. Also C or ⌘K in the game.
Defaults shown. Change them in pal's settings window or in the config file.
The README
Everything Sudoku does, key by key, from the extension's own README.md
Sudoku
Sudoku in the panel, made on your machine. Enter on the palette's row
opens the board as a view level whose body is the extension's own page
(surface/, a surface view node): the board, and beside it a slim
side with the clock, a line filling as the cells do, a pad of slim keys
(a bar under each digit for how many are down) and one row of tools.
The page imports the rules from game.ts and the solver from
sudoku.ts, the same files the host tests use, so it draws and takes
input but never decides a rule. Every move goes to the extension
(pal.send), which keeps the game in progress.json, so Escape anywhere
loses nothing.
- Puzzles: a daily for each of Easy, Medium, Hard and Expert, made from the date (the same on every machine that day), and a new one of any difficulty on ⌘N. A full grid is filled at random, clues are taken away in mirrored pairs while the answer stays unique, and the result is solved the way a person would and graded by the hardest technique it needed: singles you can spot (Easy), a cell with one digit left (Medium), locked candidates, pairs and triples (Hard), X-wings, swordfish and XY-wings (Expert). A puzzle of the wrong grade is thrown away and another made; an expert one takes a few dozen tries, about 30 ms.
- Notes without an extra step (
game.tsenter): a different digit typed over one you placed turns the cell into notes holding both (jmarks the cell), and digits toggle notes there until Backspace clears it. Withcheck = "mistakes"a wrong digit is replaced and a right one stays. Shift or Option with a digit, or N (Space) for notes mode, as before; on the pad a click places, a right-click, ⌥-click or the key's corner writes the note. Notes sit in a 3 by 3 in the cell; a placed digit clears its note from the cells it sees. A fills every note in, Shift-A clears them. - Auto notes (C,
auto_notes = true): a second layer. Every empty cell shows what fits, less what you took out (x, kept per cell, so a removal survives the board changing); your own notes (n) stay underneath for when it is turned off.marks(p, auto)is the layer on show; each move takesautoand writes only that layer. - Digit first (D): pick a digit, the cells it fits in light up, a click places it (a note in notes mode). Enter places at the cursor, Tab goes to the next lit cell, D leaves.
- Clarity: clues solid, your digits in the accent colour; the
cursor's row, column and box lit, its digit lit everywhere and that
digit's notes circled; a clash is a red line under your digit with the
clue it runs into ringed (every mistake in red with
check = "mistakes"); a sweep of light for a finished row, column or box. - Hints (I): where to look, then why in plain words, then the move.
- Undo (U, ⌘Z) and redo (Shift-U, ⌘⇧Z), erase (Backspace, 0), Tab to
the next empty cell, arrows or
hjkl, clicks on the cells and the pad. - The clock runs only while the board is on screen; P pauses it
and covers the board. T (or
clock = false) hides it for anyone it rushes: no time on screen while you play, though the time still counts for the stats and shows on the finish. - Browse (⌘O): every half-done game and a calendar of dailies per difficulty. Stats (⌘S): best and average time, the streak, a chart, the history, per difficulty.
Files: sudoku.ts (solver, generator, grader), game.ts (moves, marks,
the saved form, the hint), stats.ts, store.ts, index.ts (the
extension's calls), surface/ (the page; screens.ts Browse and Stats,
fx.ts the confetti).