Present replay 3D with the cursor and open Analyze on a remembered video

Replay left the 3D pane on the rest mesh or a sparse overlay, and Analyze skipped the setup dialog unless the file was re-picked. Live Run no longer starts a chain on a video path. Verified with Studio tests for flush, overlay mask, Analyze open, live-video refusal, and locales.
This commit is contained in:
ykcheungab
2026-10-05 16:52:27 +08:00
parent 3433eb0fec
commit c0a10e6adb
26 changed files with 2226 additions and 158 deletions
+30
View File
@@ -208,6 +208,36 @@ def test_a_platform_without_a_context_says_so_instead_of_showing_an_empty_view(
# --------------------------------------------------------- one state, two controls
def test_an_analysis_packet_ticks_the_3d_pane(make_window, monkeypatch):
"""Replay has no run timer: submit must flush the compose so the frame is presented."""
window = make_window(sensor_type="finger")
try:
flushes: list[int] = []
submitted: list[object] = []
policies: list[object] = []
class _View:
def set_overlay_policy(self, policy) -> None:
policies.append(policy)
def submit_packet(self, packet) -> None:
submitted.append(packet)
def flush(self) -> None:
flushes.append(1)
# A full Scene3DView needs GL; only the submit/flush seam is under test here.
window.mesh3d_panel._view = _View() # noqa: SLF001
monkeypatch.setattr(window, "_connect_analysis_display", lambda panel: True)
window.show_analysis_packet(object())
assert submitted, "the analysis packet never reached the 3D producer"
assert policies, "the overlay policy was not handed to the 3D view"
assert flushes, "the pane was not flushed after submit"
finally:
window.mesh3d_panel._view = None # noqa: SLF001
window.close()
def test_the_pane_and_the_view_menu_are_the_same_flag(make_window):
window = make_window(sensor_type="finger")
try: