feat(layout): single-window mode + headless py

User wants a single visible window. data_only_viz now skips
NSWindow / Metal / HUD entirely when --multi-hmr is set, keeping
only the OSC listener and the Multi-HMR worker that streams
vertices to AV-Live-Body. AV-Live-Body keeps the camera preview
behind the SMPL-X mesh and stays the sole UI surface.

Tradeoff: the generative Metal scenes (storm, tunnel, plasma...)
and the multi-person skeleton overlay drawn by data_only_viz are
not visible in multi-hmr mode. They remain available by running
the launcher without the Multi-HMR toggle.
This commit is contained in:
L'électron rare
2026-05-13 12:18:59 +02:00
parent a69d096d15
commit 052d1d0927
2 changed files with 12 additions and 1 deletions
+12
View File
@@ -74,6 +74,18 @@ class AppDelegate(NSObject):
def applicationDidFinishLaunching_(self, notification): # noqa: N802
LOG.info("applicationDidFinishLaunching: start")
# Mode headless : --multi-hmr cede l'affichage a AV-Live-Body
# (Swift RealityKit). On garde seulement le worker pose + le
# sender TCP, donc pas de NSWindow / Metal renderer / HUD.
if getattr(self._opts, "multi_hmr", False):
LOG.info("multi-hmr mode: headless (no NSWindow)")
self._headless = True
self._listener.start()
self._start_pose_worker()
LOG.info("headless ready — OSC :%d, TCP sender :57130",
self._opts.port)
return
self._headless = False
# 1) Fenetre
screen = NSScreen.mainScreen().frame()
w, h = self._opts.width, self._opts.height
@@ -20,4 +20,3 @@ struct ContentView: View {
}
}
}