Record link shapes and boundary semantics in initial plan
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
This commit is contained in:
@@ -24,3 +24,24 @@ needs no routing engine at all. Routing is the expensive last fraction.
|
||||
font rendering must be configured, or labels will be slow or absent.
|
||||
- **Sunlight.** A typical tablet is unreadable through a windscreen in daylight.
|
||||
This is a hardware problem, but the UI should not make it worse.
|
||||
|
||||
## The boundary, from this side
|
||||
|
||||
Two channels with different guarantees, not one socket:
|
||||
|
||||
| | Down (state) | Up (commands) |
|
||||
|---|---|---|
|
||||
| Transport | push stream | request/response |
|
||||
| Loss | tolerated; next sample supersedes | **not** tolerated; retry until acknowledged |
|
||||
| On reconnect | expect current state immediately | resend anything pending |
|
||||
|
||||
This client always initiates and owns reconnection — the Orin never dials out.
|
||||
Assume the link drops constantly: cable knocked, screen off, WiFi lost.
|
||||
|
||||
## Session marking is worth building early
|
||||
|
||||
A button that stamps an event (`indicator on`, `cold start`, `hard braking`) into
|
||||
the recording, on the same clock as the CAN frames, turns the Phase 1 manual event
|
||||
log from a notebook-and-wristwatch exercise into structured data. It is what makes
|
||||
a raw capture decodable later, and it is a Phase 1 capability that happens to live
|
||||
in this repo.
|
||||
|
||||
Reference in New Issue
Block a user