fix(lab): restore canonical spatial replay
This commit is contained in:
@@ -18,6 +18,7 @@ let nextM48ObjectId;
|
||||
let laboratoryMetricLegendEntries;
|
||||
let nearestLaboratoryRecordedClipFrame;
|
||||
let laboratoryRecordedClipEndExclusiveNs;
|
||||
let laboratoryRecordedClipClockGate;
|
||||
let m48SpatialPlaybackWindow;
|
||||
let trimM48SpatialPlaybackCache;
|
||||
let nextM48CameraVisibility;
|
||||
@@ -45,6 +46,7 @@ before(async () => {
|
||||
({
|
||||
nearestLaboratoryRecordedClipFrame,
|
||||
laboratoryRecordedClipEndExclusiveNs,
|
||||
laboratoryRecordedClipClockGate,
|
||||
} = await server.ssrLoadModule(
|
||||
"/src/components/laboratory/LaboratoryRecordedClipPlayer.tsx",
|
||||
));
|
||||
@@ -342,6 +344,21 @@ test("shared recorded clip clock selects exact frames and one stable loop bounda
|
||||
assert.equal(laboratoryRecordedClipEndExclusiveNs(frames), 1_300_000_000);
|
||||
});
|
||||
|
||||
test("shared recorded clip rejects stale media callbacks until an explicit seek lands", () => {
|
||||
assert.deepEqual(laboratoryRecordedClipClockGate(1, 123), {
|
||||
accept: false,
|
||||
pendingSequence: 1,
|
||||
});
|
||||
assert.deepEqual(laboratoryRecordedClipClockGate(1, 1), {
|
||||
accept: true,
|
||||
pendingSequence: null,
|
||||
});
|
||||
assert.deepEqual(laboratoryRecordedClipClockGate(null, 124), {
|
||||
accept: true,
|
||||
pendingSequence: null,
|
||||
});
|
||||
});
|
||||
|
||||
test("M4.8 camera and spatial visibility are independent without an empty viewer", () => {
|
||||
assert.equal(nextM48CameraVisibility("camera", true), true);
|
||||
assert.equal(nextM48CameraVisibility("3d", true), false);
|
||||
|
||||
@@ -188,6 +188,9 @@ test("production replay derives bounded fragments and retains native range fallb
|
||||
assert.match(source, /requestedSegmentSequence = segmentSequence \?\?/);
|
||||
assert.match(source, /waitForRecordedVideoInitialFrame/);
|
||||
assert.match(source, /setSegmentRecoveryGeneration/);
|
||||
assert.match(source, /resumePlaybackIfRequested/);
|
||||
assert.match(source, /!playbackPlayingRef\.current/);
|
||||
assert.match(source, /await video\.play\(\)/);
|
||||
|
||||
assert.equal(recordedMediaDecodeStartSequence([1, 1491, 1501], 1500), 1491);
|
||||
assert.deepEqual(
|
||||
|
||||
@@ -384,6 +384,10 @@ test("vegetation realtime LAB and archival benchmark use separate admitted instr
|
||||
assert.match(resultSource, /RAVNOVES004TREE mixed route review/);
|
||||
assert.match(resultSource, /RAVNOVES004TREE full recorded review/);
|
||||
assert.match(resultSource, /LaboratoryRecordedClipPlayer/);
|
||||
assert.match(resultSource, /RerunViewport/);
|
||||
assert.match(resultSource, /M48EvidenceModeRail/);
|
||||
assert.match(resultSource, /planAvailable=\{false\}/);
|
||||
assert.match(resultSource, /kind="recorded-replay"/);
|
||||
assert.match(resultSource, /className="m48-clip-player__overlay"/);
|
||||
assert.match(resultSource, /linkedTgsResultId/);
|
||||
assert.match(benchmarkSource, /M48MaskComparisonVisual/);
|
||||
|
||||
Reference in New Issue
Block a user