feat: expand sudoku analysis and interoperability
This commit is contained in:
@@ -14,11 +14,12 @@ export function HelpDialog({
|
||||
<h3>Five complementary workspaces</h3>
|
||||
<p>
|
||||
<strong>Play</strong> keeps values, two kinds of notes, colours,
|
||||
history and elapsed time. <strong>Set</strong> edits clues and
|
||||
constraints. <strong>Generate</strong> constructs and rates bounded,
|
||||
seedable variants. <strong>Solve</strong> explains logical steps and
|
||||
can verify uniqueness. <strong>Helpers</strong> answers focused
|
||||
questions without changing the board.
|
||||
branches, replay and elapsed time. <strong>Set</strong> edits clues
|
||||
and constraints. <strong>Generate</strong> constructs and rates
|
||||
bounded, seedable variants. <strong>Solve</strong> explains logical
|
||||
steps and can verify uniqueness. <strong>Helpers</strong> answers
|
||||
focused sum, candidate and relation questions without changing the
|
||||
board.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
@@ -32,6 +33,18 @@ export function HelpDialog({
|
||||
<dt>Shift + arrows</dt>
|
||||
<dd>Extend the selection</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Home / End</dt>
|
||||
<dd>Move to the first or last cell in the row</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Ctrl/⌘ + Home/End</dt>
|
||||
<dd>Move to the first or last cell in the grid</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Page Up / Down</dt>
|
||||
<dd>Move to the first or last row in the same column</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>1–9 / A–G</dt>
|
||||
<dd>Enter the selected symbol</dd>
|
||||
@@ -64,13 +77,62 @@ export function HelpDialog({
|
||||
explanation.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Branches, savepoints and replay</h3>
|
||||
<p>
|
||||
Open <strong>History & branches</strong> while playing to name a
|
||||
checkpoint, isolate a hypothesis, or inspect an earlier grid.
|
||||
Discarding a hypothesis restores its exact starting state but keeps
|
||||
the abandoned path available in replay. Replayed grids are read-only
|
||||
until you return live or deliberately branch from that step. This
|
||||
working history stays in the current browser session; save the
|
||||
puzzle to the Library for durable puzzle progress.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Sum and Candidate Labs</h3>
|
||||
<p>
|
||||
Sum Lab enumerates bounded combinations and, when selected board
|
||||
cells are enabled, candidate-compatible assignments per position.
|
||||
Required, excluded and manually eliminated combinations remain local
|
||||
helper state. Candidate Lab inspects selected cells and houses,
|
||||
filters one or more digits, and can overlay strong and weak links
|
||||
without changing handwritten notes.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Aid-mémoire scratch cells</h3>
|
||||
<p>
|
||||
Enable the optional aid-mémoire in Play for a non-constraining row
|
||||
or compact grid of scratch cells. Each cell has its own label and
|
||||
accepts values, corner marks, centre marks and colours through the
|
||||
regular keypad or keyboard. Arrow keys stay within the configured
|
||||
grid; Home/End move within a row, Ctrl/⌘ + Home/End reach the first
|
||||
or last cell, and Page Up/Down move to the first or last row. The
|
||||
layout and entries are preserved with local Library progress.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Variant and false clues</h3>
|
||||
<p>
|
||||
The setter supports cages, lines, pair clues, X-sums, skyscrapers,
|
||||
quadruples and maximum cells. Enable Wrogn mode to make new local
|
||||
clues false, or switch existing clues individually or as a batch.
|
||||
Red dashed artwork and a ≠ mark identify false clues; Σ and ▥
|
||||
identify X-sum and skyscraper readings. A false multi-cell clue
|
||||
often stays undecided until enough of its cells are known, so exact
|
||||
searches for dense liar puzzles can be substantially slower.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Generation and ratings</h3>
|
||||
<p>
|
||||
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
|
||||
bounded exact-search evidence. Practice mode deterministically mines
|
||||
several candidates and succeeds only when the analysed solve path
|
||||
contains the requested technique. A limit never becomes a false
|
||||
uniqueness claim.
|
||||
</p>
|
||||
</section>
|
||||
@@ -78,10 +140,21 @@ export function HelpDialog({
|
||||
<h3>Import and privacy</h3>
|
||||
<p>
|
||||
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.
|
||||
grids, project JSON, share fragments, supported f-puzzles,
|
||||
SudokuPad/CTC inline data and supported Penpa+ long links are
|
||||
decoded locally. Server short IDs are intentionally rejected. SVG,
|
||||
PNG and PDF rendering also stays in the browser. Review an export
|
||||
before sharing: titles, authors, rules, solutions, progress and
|
||||
aid-mémoire entries may be included.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Screen-reader detail</h3>
|
||||
<p>
|
||||
Each Sudoku cell reports its row, column, region, value or notes,
|
||||
colour, conflict state, candidate highlights and touching variant
|
||||
clues. The board and aid-mémoire use real row and gridcell roles;
|
||||
their keyboard instructions are attached to the grids.
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user