feat(lab): separate RAVNOVES transfer from public benchmark

This commit is contained in:
DCCONSTRUCTIONS
2026-07-31 14:35:51 +03:00
parent 55b7821a5c
commit c1b0f6f8a3
15 changed files with 1018 additions and 61 deletions
@@ -58,6 +58,18 @@ const l3SceneUrl = new URL(
"../src/workspaces/laboratory/L3PointPillarsScene.tsx",
import.meta.url,
);
const l31ResultUrl = new URL(
"../src/workspaces/laboratory/L31PointPillarsRavnovesResult.tsx",
import.meta.url,
);
const l31VisualUrl = new URL(
"../src/workspaces/laboratory/L31PointPillarsRavnovesVisual.tsx",
import.meta.url,
);
const laboratoryProfilesUrl = new URL(
"../src/workspaces/laboratory/laboratoryArchiveProfiles.ts",
import.meta.url,
);
const e35StylesUrl = new URL(
"../src/styles/e35-degradation-recovery.css",
import.meta.url,
@@ -190,6 +202,28 @@ test("L3 visual audit binds the sealed metrics to one lazy 3D/BEV viewer", async
assert.match(advanced, /<L3PointPillarsResult/);
});
test("L3.1 keeps RAVNOVES evidence primary and KITTI in a public benchmark profile", async () => {
const [result, visual, scene, profiles, advanced] = await Promise.all([
readFile(l31ResultUrl, "utf8"),
readFile(l31VisualUrl, "utf8"),
readFile(l3SceneUrl, "utf8"),
readFile(laboratoryProfilesUrl, "utf8"),
readFile(advancedLaboratoryResultUrl, "utf8"),
]);
assert.match(result, /L3\.1 · PointPillars на RAVNOVES00/);
assert.match(result, /внешний KITTI в эту работу не входит/);
assert.match(result, /боксы являются только гипотезами/);
assert.match(visual, /fetchL31PointPillarsRavnovesFrame/);
assert.match(visual, /bevCenterX=\{0\}/);
assert.match(visual, /bevHalfExtent=\{55\}/);
assert.match(scene, /bevCenterX = 30/);
assert.match(profiles, /"public-benchmarks"/);
assert.match(profiles, /Публичные датасеты · внешний benchmark-контур/);
assert.match(advanced, /id: "l31-pointpillars-ravnoves"/);
assert.match(advanced, /<L31PointPillarsRavnovesResult/);
});
test("E33 explains the experiment, its method and its retained limits", async () => {
const [presentationSource, e33Source] = await Promise.all([
readFile(presentationSourceUrl, "utf8"),