mikkeli
8d95514897
Dash: DIN 1451 opt-in per widget (hudFont), GNSS compass, rei by default; widget catalogue
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 14s
CI / Debug APK (push) Successful in 36s
From smart-serow: the DIN 1451 face (Alte DIN 1451 Mittelschrift, via gps-speedo)
and GpsCompass. A cosmetic font is opt-in: widgets name hudFont in their own
TextStyle, the rest keeps the basic font (CJK). Boxes and telltales shrink long
labels instead of wrapping. Telltale and Reading get their own files;
lib/README.md catalogues folders and widgets like smart-serow's.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-14 13:20:34 +09:00
mikkeli
728804e971
Dash: indicator telltales as Material triangle icons (◀▶ stay emoji on Android even with U+FE0E)
...
/ crosscheck (push) Successful in 0s
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-14 00:26:39 +09:00
mikkeli
0513c9afab
Dash: indicator arrows as text, not Android's emoji
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-14 00:25:31 +09:00
mikkeli
b083cf31dd
Dash page and smart-serow's palette, boxed widgets, attitude and G-meter
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 17s
Ported from smart-serow's HUD: the four-colour palette with dark/bright variants
(same theme JSON format, loaded at runtime; YUKART_THEME picks one), StatBox and
StatBoxMain, WhiskeyMark and AccelGraph. The whole app takes its colours from the
palette. Dash: attitude, G-meter, RPM, GNSS speed, pedal, coolant and telltales,
each from its contracts signal; missing and stale draw in subdued.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 23:25:28 +09:00
mikkeli
eae93b0697
Orin power options: one confirmation that chooses power off or reboot
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 22:52:18 +09:00
mikkeli
88c572f447
Shut down Orin: confirmed poweroff, sent once with the hello's boot_id
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 18:35:49 +09:00
mikkeli
db5253587b
Sync checklist z27ag-captures v2 from contracts
...
/ crosscheck (push) Successful in 0s
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 26s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 17:55:29 +09:00
mikkeli
bf8a99fb23
Captures page: the recording checklist with one start/end button
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 24s
Steps come from a bundled copy of contracts checklists/ (assets/contracts/,
refreshed by tool/sync-contracts.sh), not from Dart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 11:12:44 +09:00
mikkeli
4a32a801f0
CI: crosscheck runs on the halogen label
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 01:01:19 +09:00
mikkeli
4a92f61b95
CI: crosscheck caller names its runner
...
/ crosscheck (push) Successful in 0s
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 00:37:58 +09:00
mikkeli
ec44bae595
CI: cross-repo consistency check on push (yukart/tool-crosscheck)
...
/ crosscheck (push) Successful in 1s
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 23s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 00:36:53 +09:00
mikkeli
7817f3dac5
Camera live view server moved to svc-vision
...
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 15s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-12 16:14:39 +09:00
mikkeli
00d161e068
camview: tell the client when the camera is unavailable
...
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 25s
The server sends "camera unavailable" after 3 s without a frame and
"camera ok" when frames come; the app shows the notice instead of a
stale frame.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-12 16:11:03 +09:00
mikkeli
85837363ee
camview: open the camera by its by-id path, not video0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-12 16:07:28 +09:00
mikkeli
85e3e1ad0e
Link bar: four digits of message age are enough (the link is dead after 5 s)
...
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 17:43:52 +09:00
mikkeli
d343e77903
Link bar: fixed-width age and clock offset, so the bar no longer reflows
...
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 17:43:27 +09:00
mikkeli
5ebca82e9b
Camera live view (test): MJPEG over TCP from tool/camview_server.py, exposure and gain controls
...
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 17s
Its own paced connection beside the boundary (project-yukart decision 27,
proposed); latest-wins per client, SO_MAX_PACING_RATE 4 MB/s.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 17:41:14 +09:00
mikkeli
657ff90c54
Link test report: RNDIS unusable on the Redmi; Torque 5G does not enumerate the Orin
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 17:14:03 +09:00
mikkeli
7f967340b6
Link test: per-socket pacing (SO_MAX_PACING_RATE) at 5 MB/s removes the NCM holds
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 16:46:19 +09:00
mikkeli
8f4e34d956
Link test: download series (bulk sampled, warm bursts, paced) and burst-vs-idle; car results
...
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 15s
Orin -> tablet over NCM: paced streams up to 4 MB/s are clean; unpaced
bursts and bulk hit multi-second holds that inflate the RTO to 10-16 s.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 16:33:55 +09:00
mikkeli
66eab916bc
Link test report: PD hub has no measurable effect; adb push slowness is adbd-specific
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 16:11:50 +09:00
mikkeli
6a91909945
Link test: optional @host on the launch hook; summary script for the Orin's results
...
CI / Analyze & Test (push) Successful in 9s
CI / Debug APK (push) Successful in 16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 15:58:43 +09:00
mikkeli
6b5fef41c4
Link test: UDP echo sweep, soak and TCP each way, driven by the app
...
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 25s
The tablet's app sockets are the only ones bound to the USB link, so the
measurement has to run in the app. tool/linktest_server.py serves the
Orin end and logs every result with its own TCP_INFO. Startable without
touching the screen: am start ... --es linktest <label>.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 15:55:52 +09:00
mikkeli
f14202047f
ADB in the car: the PD hub causes the NCM packet loss; adb push stays slow without it
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 15:49:06 +09:00
mikkeli
70178de7d2
ADB in the car: record the first test — control works, bulk transfer stalls on NCM loss
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 15:25:58 +09:00
mikkeli
5d5653acec
Document ADB in the car: TCP over the NCM link, one SSH hop via the Orin
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 13:20:29 +09:00
mikkeli
d965031a56
Keep dropped-out signals as MISSING rows; clear the nav bar in the mark sheet
...
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 26s
A signal absent from the latest state now stays listed (from the last
envelope seen on this gateway) and renders as missing, distinct from
null and stale as BOUNDARY.md requires; rows no longer jump.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-11 04:01:05 +09:00
mikkeli
f6d9eb120e
CI: runs on halogen's yukart registration of the flutter-android runner
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-09 21:51:08 +09:00
mikkeli
50081d5417
Starter display: boundary v0 client, readout, mark button, CI
...
CI / Analyze & Test (push) Successful in 12s
CI / Debug APK (push) Successful in 57s
Connects to svc-gw over one WebSocket, heartbeats, treats timeout_ms of
silence as a dead link, and retries commands under the same id until acked.
Shows link state, signals with stale/null/missing told apart, the raw stream,
a mock banner on the surface, and a Mark button that stamps the recording.
Android: keeps the screen on and binds the process to the USB NCM network
when the gateway is on it. CI mirrors android-stuff's host-mode runner setup.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-09 20:23:00 +09:00
mikkeli
62c6a79f89
TTS: chunked utterances; buffer-then-play allowed as a first version
...
Brings the audio sink notes in line with project-yukart decision 12 and
ORIN-RUNTIME: the wire format is chunks plus terminator from the start,
and the first receiver may buffer to the terminator, so moving to
streaming playback is a receiver-only change.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 16:10:47 +09:00
mikkeli
c1ffba08fb
Record the measured USB link: NCM, bind to Ethernet, keep awake
...
Tested against the car Orin: the tablet is USB host to the Orin's NCM
gadget (192.168.55.1). Android routes app traffic over it only when it
is the default network, so the app must bind to TRANSPORT_ETHERNET. PD
changes cost ~3 s, and an idle tablet off charger sleeps and goes
silent, so the app keeps the device awake. Two guidelines follow.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 16:08:28 +09:00
mikkeli
a79b4ef9d3
Scaffold Flutter application: android and linux targets
...
flutter create --org dev.yukart --project-name display
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 13:50:51 +09:00
mikkeli
1adb8e1fee
Add language scaffolding: manifest, gitignore, editorconfig
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 17:16:00 +09:00
mikkeli
77952cb6c1
Adopt designed front matter: typed, with staleness on plans
...
Replaces `type: default` — one value across every document, read by nothing,
so it discriminated nothing. Types are now reference, guidelines, plan and
report, applied to every markdown file with no exceptions for the hub.
Plans carry status and updated, reports carry date. REPOS.md already noted
that plans go stale and reports do not, but nothing made that visible: a plan
from months ago looked identical to one written today.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 14:14:17 +09:00
mikkeli
f4f2d05297
Record audio sink role: utterances plus audio-focus ducking
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 13:57:31 +09:00
mikkeli
64ba8ef760
Record self-mocking design: services mock themselves, no separate stubs
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 07:59:27 +09:00
mikkeli
3b408d43be
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
2026-09-03 20:28:32 +09:00
mikkeli
3b010189df
Scaffold repo: docs layout, guidelines and initial plan
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-03 18:48:32 +09:00