Store the depth channel in an analysis result and serve it to the 2D depth view

A replay could draw arrows but not depth, and the recording view said there was
nothing to draw even when a result existed. Depth is now quantised per frame
(14 B empty, 486 B at the worst frame seen), read from the cache by the same
draw path live uses, and the raw-recording note appears only when no result
exists. Format version 2; see apps/studio/docs/replay-analysis.md.
This commit is contained in:
ykcheungab
2026-10-04 14:11:22 +08:00
parent cf49b0836e
commit 9e20fd0277
17 changed files with 1412 additions and 84 deletions
+4 -1
View File
@@ -285,6 +285,10 @@ class _Engine:
def video_message(self) -> str:
return "no frame"
def analysis(self):
"""No stored result in this stub: the derived views fall back to the video."""
return None
def set_unit(self, unit: str) -> None:
self.units.append(str(unit))
@@ -411,7 +415,6 @@ def test_a_bare_video_is_opened_as_a_video_and_refused_outside_the_view(qt_app,
bare.write_bytes(b"not really a video")
engine = _Engine()
controller, host, engine, parts = _controller(engine=engine)
toolbar = parts[0]
host.view = "live"
assert controller.load_video(bare) is False