cv2.VideoCapture indices on Mac don't follow the AVFoundation
discovery order, so the previous auto-pick still ended up on
the iPhone Continuity stream. resolve_camera_index now probes
each cv2 index, reads a frame, and prefers the one whose mean
luminance is >= 50 (rejects black / standby streams from a
locked iPhone or Desk View).
multi_hmr_worker emits a 5 s heartbeat with the observed fps
and the average detected persons per frame, so 'no detection'
becomes visible in the log instead of staying silent.
The cv2.VideoCapture index on Mac is unpredictable when multiple
cameras are plugged in (Continuity from iPhone, Desk View, external
USB). Adds _camera_select.py that enumerates AVFoundation devices
and picks BuiltInWideAngleCamera by default, mirroring the logic
already used in apple_vision_pose.
Wired through main.py with a --camera-index flag (default -1 = auto)
and MultiHMRWorker honors it. Existing logs now report the chosen
index so the picked device is visible in the launch trace.