Release Healer Man 0.1.21

This commit is contained in:
phenom committed 2026-09-08 10:40:26 -04:00
1 parent 699fc858c9
commit f6f2375145
210 files changed
+976039 -6247

No files matched your search

@@ -1,5 +1,7 @@
import { describe, expect, it } from "vitest";
import { BufferGeometry, Float32BufferAttribute } from "three";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
import { buildPartyNavigationGraph } from "./partyNavigation";
import { auditOrderedObjectiveRoutes } from "../../scripts/runewaker-pipeline/lib/objective-route-audit.mjs";
@@ -21,4 +23,39 @@ describe("RuneWaker ordered objective route audit", () => {
{ from: "Island Boss", to: "Home Boss", reachable: false },
]);
});
it("keeps the reviewed navigation blockers deterministic and fail-closed", () => {
const report = JSON.parse(readFileSync(resolve(
"scripts/runewaker-pipeline/RUNEWAKER_NAVIGATION_GAP_REPORT.json",
), "utf8"));
expect(report.schemaVersion).toBe(2);
expect(report).not.toHaveProperty("generatedAt");
expect(report.unreachableLegs).toBe(19);
expect(report.dungeons).toHaveLength(8);
expect(report.resolutionSummary).toEqual({
sourceAuthoredFixedOrders: 0,
authoredOffMeshLinksAdded: 0,
requirementDungeonCounts: {
"dynamic-navigation-transition": 5,
"encounter-gate-state": 3,
"encounter-teleport-state": 2,
"modular-environment-assembly": 3,
"navigation-geometry-review": 1,
"nonlinear-objectives": 1,
"source-objective-review": 6,
},
});
expect(report.dungeons.every((dungeon: {
objectiveOrdering: { authoritative: boolean };
reviewedFinding: { safeAutomaticLink: boolean; requirements: string[] };
}) => (
dungeon.objectiveOrdering.authoritative === false
&& dungeon.reviewedFinding.safeAutomaticLink === false
&& dungeon.reviewedFinding.requirements.length > 0
))).toBe(true);
expect(report.dungeons.find((dungeon: { id: string }) => (
dungeon.id === "kalins-shrine"
))?.reviewedFinding.objectiveOrderStatus).toBe("source-randomized-not-linear");
});
});