--- type: plan status: active updated: 2026-10-12 --- # Initial plan ## Scope The camera end to end on the Orin: capture, the live view, recording, and later inference. Hardware facts for the current camera are in orin-nano-env-setup `docs/impl/reports/USB-CAMERA.md`; tablet link limits in app-flutter `docs/impl/reports/LINK-TEST-2026-10-11.md`. ## Order 0. **Live view** — in place: `src/liveview.py` as `yukart-vision.service` on `:7710`. Started as a test tool in app-flutter and moved here once the live view became a product feature (decision 27). Protocol in the module docstring. 1. **Capture fan-out.** One capture process, frames to several consumers (live view, recorder, inference). Needed before a second consumer exists. 2. **Recording.** H.264 in software (`x264enc`, ~1.3–2 cores at 1080p) in segments on the recorder's sessions, under the recordings bound. 3. **Exposure for sign reading.** Manual exposure with own metering to hold the frame rate; LED signs flicker under short exposures. 4. **Inference** — deferred (decision 7): road signs, speed limits first. ## Open - The protocol lives in the docstring. It moves to contracts when a second client exists or it changes shape.