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
| Name | Type | Description |
|---|---|---|
id | string | |
number | number | |
title | LocalizedText | |
objective | LocalizedText | |
options | CreateOptions | |
witness | readonly Action[] | |
witnessResult | "won" | |
metrics | MagneticDifficultyMetrics | |
marks | 2 | 4 | 5 | 3 | 1 | |
tags | readonly string[] | |
canonicalKey | string | |
canonicalKeyHash | string | |
score | number | |
gradingVersion | string | |
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)