svc-vision: new repo for the camera; decision 29 (Python for vision)

The live view moved from app-flutter's test tool to svc-vision, running as
yukart-vision.service on the car Orin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-12 16:15:04 +09:00
parent a290a01f03
commit 66b7269f3c
4 changed files with 13 additions and 8 deletions
+6 -4
View File
@@ -1,7 +1,7 @@
---
type: plan
status: active
updated: 2026-10-11
updated: 2026-10-12
---
# Roadmap
@@ -97,12 +97,14 @@ cores at 1080p; frame rate falls with the light.
tablet, inference input, or several
- [ ] Measure in the car: daylight and night frame rate and MJPEG size on a road
scene
- [ ] One capture process owns `/dev/video0` (V4L2 is single-reader) and feeds
- [ ] One capture process owns the camera (V4L2 is single-reader) and feeds
the others; sets UVC controls on open, since they reset on re-enumeration
- [ ] Recording: H.264 segments on the recorder's clock and session marks,
bounded like CAN sessions (~2.7 GB per hour at 6 Mbit/s)
- [ ] Live view in `app-flutter` (decision 27, proposed): 720p MJPEG passthrough
(~3.4 MB/s, no CPU) or H.264, paced per decision 28
- [x] Live view (decision 27, proposed), 2026-10-12: `svc-vision` serves 720p
MJPEG passthrough on `:7710` (`yukart-vision.service`, ~2% of a core),
paced per decision 28, camera-agnostic, says when there is no camera;
`app-flutter` shows it with exposure and gain controls
- [ ] Inference — deferred; plan for evicting voice, not for coexisting with it
([ORIN-RUNTIME.md](ORIN-RUNTIME.md))