@johnmorrisdotca/houseki 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -1
- package/README.md +12 -12
- package/dist/colour-chains/content-data.js +64280 -6675
- package/dist/colour-chains/content-types.d.ts +46 -0
- package/dist/colour-chains/engine.d.ts +10 -4
- package/dist/colour-chains/engine.js +17 -2
- package/dist/colour-chains/types.d.ts +5 -0
- package/dist/colour-chains.d.ts +1 -1
- package/dist/magnetic-blocks/content-data.js +18415 -4175
- package/dist/magnetic-blocks/content-types.d.ts +35 -0
- package/package.json +4 -4
|
@@ -11,7 +11,34 @@ export interface MagneticDifficultyMetrics {
|
|
|
11
11
|
readonly witnessPlacements: number;
|
|
12
12
|
readonly witnessFloorDecisions: number;
|
|
13
13
|
readonly difficultyScore: number;
|
|
14
|
+
/** Board context, recorded separately from strategic difficulty weights. */
|
|
15
|
+
readonly occupiedCells?: number;
|
|
16
|
+
readonly usableCells?: number;
|
|
17
|
+
readonly boardCoverage?: number;
|
|
18
|
+
readonly fullPlanTrials?: number;
|
|
19
|
+
readonly fullPlanWins?: number;
|
|
20
|
+
readonly fullPlanSuccessRate?: number;
|
|
21
|
+
readonly setupDecisionPressure?: number;
|
|
22
|
+
readonly interactingDependencyDepth?: number;
|
|
23
|
+
readonly necessaryFloorDecisionShare?: number;
|
|
24
|
+
readonly setupDecisionEvidence?: readonly {
|
|
25
|
+
readonly step: number;
|
|
26
|
+
readonly legalChoices: number;
|
|
27
|
+
readonly preservingChoices: number;
|
|
28
|
+
readonly pressure: number;
|
|
29
|
+
}[];
|
|
30
|
+
readonly targetIdsClearedByPlacement?: readonly number[];
|
|
31
|
+
readonly targetIdsRemainingAfterPlacement?: readonly number[];
|
|
32
|
+
readonly targetIdsMovedByPlacement?: readonly number[];
|
|
33
|
+
readonly minimumPlanSearch?: {
|
|
34
|
+
readonly status: 'exact' | 'unknown';
|
|
35
|
+
readonly nodeBudget: number;
|
|
36
|
+
readonly nodesVisited: number;
|
|
37
|
+
readonly lowerBound: number;
|
|
38
|
+
readonly upperBound?: number;
|
|
39
|
+
};
|
|
14
40
|
}
|
|
41
|
+
export type MagneticDifficultyBand = 'entry' | 'easy' | 'intermediate' | 'hard' | 'expert';
|
|
15
42
|
export interface MagneticCampaignLevel {
|
|
16
43
|
readonly id: string;
|
|
17
44
|
readonly number: number;
|
|
@@ -29,6 +56,7 @@ export interface MagneticCampaignLevel {
|
|
|
29
56
|
readonly gradingVersion: string;
|
|
30
57
|
readonly proofStatus: 'engine-witness-verified';
|
|
31
58
|
readonly reviewStatus: 'human-review-pending' | 'human-reviewed';
|
|
59
|
+
readonly band?: MagneticDifficultyBand;
|
|
32
60
|
readonly counterfactual?: {
|
|
33
61
|
readonly kind: 'floor-choice' | 'floor-schedule' | 'floor-switch';
|
|
34
62
|
readonly alternative: string;
|
|
@@ -41,6 +69,7 @@ export interface MagneticCampaignLevel {
|
|
|
41
69
|
}
|
|
42
70
|
export interface MagneticCampaignManifest {
|
|
43
71
|
readonly count: number;
|
|
72
|
+
readonly currentCount?: number;
|
|
44
73
|
readonly candidateCount: number;
|
|
45
74
|
readonly generationRevision: string;
|
|
46
75
|
readonly gradingVersion: string;
|
|
@@ -50,6 +79,12 @@ export interface MagneticCampaignManifest {
|
|
|
50
79
|
readonly checksum: string;
|
|
51
80
|
readonly orderingPolicy: string;
|
|
52
81
|
readonly levels: readonly MagneticCampaignLevel[];
|
|
82
|
+
readonly bands?: readonly {
|
|
83
|
+
readonly id: MagneticDifficultyBand;
|
|
84
|
+
readonly count: number;
|
|
85
|
+
readonly first: number;
|
|
86
|
+
readonly last: number;
|
|
87
|
+
}[];
|
|
53
88
|
}
|
|
54
89
|
export interface MagneticLesson {
|
|
55
90
|
readonly id: string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@johnmorrisdotca/houseki",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Houseki 宝石: five
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Houseki 宝石: five gem and stone puzzle engines, 684 measured challenges, bilingual lessons, deterministic saves, magnetic floors, Shizen and Arashi campaigns. TypeScript. Zero dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"puzzle",
|
|
7
7
|
"puzzle-game",
|
|
@@ -108,10 +108,10 @@
|
|
|
108
108
|
"check": "pnpm lint && pnpm typecheck && pnpm test",
|
|
109
109
|
"prepublishOnly": "pnpm check && pnpm build",
|
|
110
110
|
"site": "pnpm build && node scripts/site.mjs",
|
|
111
|
-
"test:demo": "pnpm site && playwright test && node --test --test-concurrency=2 e2e/review/appearance-api.test.mjs e2e/review/endings.test.mjs e2e/review/full-board-recovery.test.mjs e2e/review/nature-previews.test.mjs e2e/review/responsive.test.mjs",
|
|
111
|
+
"test:demo": "pnpm site && playwright test && node --test --test-concurrency=2 e2e/review/appearance-api.test.mjs e2e/review/boards-settings-and-keys.test.mjs e2e/review/endings.test.mjs e2e/review/full-board-recovery.test.mjs e2e/review/nature-previews.test.mjs e2e/review/responsive.test.mjs",
|
|
112
112
|
"screenshots:readme": "pnpm site && node scripts/readme-pictures.mjs",
|
|
113
113
|
"test:readme": "pnpm build && node scripts/check-readme-examples.mjs",
|
|
114
|
-
"test:review": "pnpm site && node --test --test-concurrency=2 e2e/review/appearance-api.test.mjs e2e/review/endings.test.mjs e2e/review/full-board-recovery.test.mjs e2e/review/nature-previews.test.mjs e2e/review/responsive.test.mjs"
|
|
114
|
+
"test:review": "pnpm site && node --test --test-concurrency=2 e2e/review/appearance-api.test.mjs e2e/review/boards-settings-and-keys.test.mjs e2e/review/endings.test.mjs e2e/review/full-board-recovery.test.mjs e2e/review/nature-previews.test.mjs e2e/review/responsive.test.mjs"
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
117
|
"@eslint/js": "^9.0.0",
|