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 · Magnetic Blocks

MagneticCampaignLeveltype

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

Import it

import type { MagneticCampaignLevel } from "@johnmorrisdotca/houseki/magnetic-blocks";

Definition

interface MagneticCampaignLevel {
    readonly id: string;
    readonly number: number;
    readonly title: LocalizedText;
    readonly objective: LocalizedText;
    readonly options: CreateOptions;
    readonly witness: readonly Action[];
    readonly witnessResult: 'won';
    readonly metrics: MagneticDifficultyMetrics;
    readonly marks: 1 | 2 | 3 | 4 | 5;
    readonly tags: readonly string[];
    readonly canonicalKey: string;
    readonly canonicalKeyHash: string;
    readonly score: number;
    readonly gradingVersion: string;
    readonly proofStatus: 'engine-witness-verified';
    readonly reviewStatus: 'human-review-pending' | 'human-reviewed';
    readonly band?: MagneticDifficultyBand;
    readonly counterfactual?: {
        readonly kind: 'floor-choice' | 'floor-schedule' | 'floor-switch';
        readonly alternative: string;
        readonly result: 'won' | 'lost' | 'finished';
    };
    readonly impactEvidence?: {
        readonly removedSupportCount: number;
        readonly disabledImpactResult: 'won';
    };
}

Members

NameTypeDescription
idstring
numbernumber
titleLocalizedText
objectiveLocalizedText
optionsCreateOptions
witnessreadonly Action[]
witnessResult"won"
metricsMagneticDifficultyMetrics
marks2 | 4 | 5 | 3 | 1
tagsreadonly string[]
canonicalKeystring
canonicalKeyHashstring
scorenumber
gradingVersionstring
proofStatus"engine-witness-verified"
reviewStatus"human-review-pending" | "human-reviewed"
band (optional)MagneticDifficultyBand | undefined
counterfactual (optional){ readonly kind: "floor-choice" | "floor-schedule" | "floor-switch"; readonly alternative: string; readonly result: "won" | "lost" | "finished"; } | undefined
impactEvidence (optional){ readonly removedSupportCount: number; readonly disabledImpactResult: "won"; } | undefined

Examples

import { levelManifest } from "@johnmorrisdotca/houseki/magnetic-blocks";
import type { MagneticCampaignLevel } from "@johnmorrisdotca/houseki/magnetic-blocks";

const level=levelManifest[0];
const value: MagneticCampaignLevel = level;
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);
[ 'id', 'number', 'band', 'title', 'objective', 'options' ]

What it prints (run when this page was built)

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