feat: finalize corrected-route planning and Rerun recording review

This commit is contained in:
DCCONSTRUCTIONS
2026-09-22 10:10:03 +03:00
parent c804d89b18
commit 2e5d52521f
132 changed files with 14141 additions and 898 deletions
@@ -184,6 +184,15 @@ function preparation(overrides = {}) {
};
}
test("replay preserves an optional corrected-map identity and rejects malformed versions", () => {
const decoded = decodeObservationSessionReplay(replay({ map_generation: "b".repeat(64) }));
assert.equal(decoded.mapGeneration, "b".repeat(64));
assert.equal(decodeObservationSessionReplay(replay()).mapGeneration, undefined);
for (const value of [null, "latest", "../private", 123]) {
assert.throws(() => decodeObservationSessionReplay(replay({ map_generation: value })), /версию/);
}
});
const preparationEtag = '"prepare-20260717T131400Z"';
test("session catalog decodes canonical snake_case into a path-free camelCase model", () => {
@@ -412,7 +421,7 @@ test("data recordings keep the compact session dropdown and laboratory results s
assert.doesNotMatch(laboratorySource, /fetchAdvancedLaboratoryResults/);
});
test("recording preparation statuses share the viewer's left alignment", async () => {
test("recording preparation statuses occupy the viewer's upper-right corner", async () => {
const spatialStyles = await readFile(
new URL("../../../packages/spatial-ui/src/spatial.css", import.meta.url),
"utf8",
@@ -422,9 +431,10 @@ test("recording preparation statuses share the viewer's left alignment", async (
spatialStyles.indexOf(".scene-operation-status {"),
);
assert.match(statusStack, /left:\s*0\.85rem/);
assert.match(statusStack, /justify-items:\s*start/);
assert.doesNotMatch(statusStack, /right:/);
assert.match(statusStack, /right:\s*0\.85rem/);
assert.match(statusStack, /top:\s*0\.85rem/);
assert.match(statusStack, /justify-items:\s*end/);
assert.doesNotMatch(statusStack, /left:|bottom:/);
});
test("source and laboratory catalogs are requested as disjoint backend projections", async () => {