Skip to the content

Kazu数

Generate checked Sudoku and logic puzzles, read native rules and hints, and draw or embed playable boards.

Kazu is the Japanese word 数 for number. About the name

Contents

How-to

Draw and embed the native players

Use each family mount and keep display choices separate from rules.

Mount the number grid

import {generateKazu} from "@johnmorrisdotca/kazu";
import {mountKazu} from "@johnmorrisdotca/kazu/play";
const puzzle = generateKazu("number-place",4,"easy",42);
const host = document.createElement("div");document.body.append(host);
const board = mountKazu(host,{...puzzle,hints:"show",onSolve:detail=>console.log(detail.solved)});
console.log(board?.detail().progress);board?.destroy();

mountKazu returns null for an invalid setup. Family mounts use {board:puzzle} and their own option/handle types. Destroy every removed mount. SVG drawing is a separate entry; it returns an image rather than installing interactive controls.

Choose a builder maker

The builder provides number-grid and dedicated-family makers, fixed/daily seed choices, native assistance and display settings, and copied element/module/frame/framework code. Display size is small/medium/large; puzzle dimensions use the maker's own grid fields. Host-only callbacks and structured board/progress inputs are explained in the builder.

Native events retain the original meaning, bubble and cross shadow roots. Frames forward JSON-safe detail; validate origin and the sending frame. A daily seed is resolved at mount time without a rollover timer. The complete existing contract lists reflected properties, precedence, private host choices and frame validation. Every native demo has a Docs link following its selected language.

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/kazu 2.1.0.