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

Reference · Stone Collapse

CollapseCampaignLeveltype

One authored native challenge with its stable id, setup, winning witness, measurements and review status.

Import it

import type { CollapseCampaignLevel } from "@johnmorrisdotca/houseki/stone-collapse";

Definition

interface CollapseCampaignLevel {
    readonly id: string;
    readonly number: number;
    readonly title: LocalizedText;
    readonly canonicalKeyHash: string;
    readonly width: number;
    readonly height: number;
    readonly colourCount: 4;
    readonly mask?: readonly boolean[];
    readonly seed: string;
    readonly board: readonly (Stone | null)[];
    readonly goal: ChallengeGoal;
    readonly moveLimit: number;
    readonly witness: readonly (readonly number[])[];
    readonly tags: readonly string[];
    readonly rawMetrics: CollapseDifficultyMetrics;
    readonly score: number;
    readonly marks: 1 | 2 | 3 | 4 | 5;
    readonly gradingVersion: string;
    readonly proofStatus: 'engine-witness-verified';
    readonly reviewStatus: 'human-review-pending';
}

Members

NameTypeDescription
idstring
numbernumber
titleLocalizedText
canonicalKeyHashstring
widthnumber
heightnumber
colourCount4
mask (optional)readonly boolean[] | undefined
seedstring
boardreadonly (Stone | null)[]
goalChallengeGoal
moveLimitnumber
witnessreadonly (readonly number[])[]
tagsreadonly string[]
rawMetricsCollapseDifficultyMetrics
scorenumber
marks2 | 4 | 5 | 3 | 1
gradingVersionstring
proofStatus"engine-witness-verified"
reviewStatus"human-review-pending"

Examples

import { levelManifest } from "@johnmorrisdotca/houseki/stone-collapse";
import type { CollapseCampaignLevel } from "@johnmorrisdotca/houseki/stone-collapse";

const level=levelManifest[0];
const value: CollapseCampaignLevel = level;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'id', 'number', 'title', 'canonicalKeyHash', 'width', 'height' ]

What it prints (run when this page was built)

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