Skip to the content

Houseki宝石

Run five native gem and stone engines, play measured challenges and lessons, and save deterministic games.

Houseki (宝石) is Japanese for a gem or precious stone. About the name

Contents

How-to

Open campaigns and lessons

Keep stable ids, witnessed plans and review status with authored content.

Find content by stable id

import { levelManifest,getLevel,getTutorial,tutorialManifest,createLevel } from "@johnmorrisdotca/houseki/falling-triplets";
const level=levelManifest[0];
console.log(getLevel(level.id)?.number,getTutorial(tutorialManifest[0].id)?.title.en,createLevel(level.id).phase);
1 Cycle and Land falling

Array indices start at zero; display numbers start at one. Persist the stable id rather than a display number because campaign ordering may change in a future release. getLevel, getTutorial and getLesson return undefined for absent ids; creation functions reject missing content.

Preserve proof and review separately

import { GEM_SWAP_CAMPAIGN,GEM_SWAP_LESSONS,validateChallengeWitness } from "@johnmorrisdotca/houseki/gem-swap";
const level=GEM_SWAP_CAMPAIGN[0];
console.log(level.proofStatus,level.reviewStatus,validateChallengeWitness(level.options,level.witness).valid,GEM_SWAP_LESSONS.length);
engine-witness-verified human-review-pending true 3

There are 684 measured challenges across all stored campaigns. Measurements describe bounded engine probes; marks are not a universal estimate of human difficulty. Read the original coverage and campaign methodology. Authored lessons add explicit instructions to their setup and witness, not just a random starting board.

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/houseki 0.4.2.