2a01c2947a
All three non-picture color strip stream types had their animation loops hardcoded at 30 FPS and lacked set_capture_fps(), so target FPS changes had no effect. Now each stream reads self._fps per iteration and exposes set_capture_fps() for the stream manager. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>