- ThreadedWebcam class: cv2.read() in background thread, never blocks control loop
- Default resolution 720p→480p (~2.5x less data)
- New --webcam-fps arg (default 15) caps send rate, matched to Vuer display_fps
- CAP_PROP_BUFFERSIZE=1 to always get latest frame
- JPEG quality 80→50 in televuer (~40% smaller frames)
- Combined ~8-10x bandwidth reduction, DDS arm data no longer starved
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>