Add face design: ASCII expressions + matrix rain simulator, wait cues, fresh latency numbers

- sim/face/index.html: browser simulator of the 800x800 round panel with
  six states (idle/listening/pensive/effort/speaking/error), state-driven
  rain density, blink/talk/thought animations, idle clock
- effort state gets hard-required wait cues: orbiting bezel arc, elapsed
  counter, max rain (Tatlock turns run 10-25s)
- rain driven by setInterval, not rAF: renders under the screenshot
  tool's --virtual-time-budget and mirrors LVGL lv_timer
- architecture.md: Face design contract (state table, protocol mapping,
  LVGL port notes) + latency table updated to GPU-era benchmarks
  (Steward ~6s warm, full flow 11-25s; old CPU-era figures retired)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 17:32:16 +02:00
co-authored by Claude Fable 5
parent 0886c84d5e
commit 42b988b7ef
4 changed files with 299 additions and 15 deletions
+3
View File
@@ -54,6 +54,9 @@ See [docs/architecture.md](docs/architecture.md) for the full design.
- `firmware/` — ESP-IDF (C, LVGL 9) application for the ESP32-P4
- `gateway/` — Python FastAPI voice gateway, deployed as a container on tower-of-joy
- `sim/face/` — browser simulator of the face (design source of truth; serve with
`python3 -m http.server` and open `index.html`, or use `?state=…&nochrome=1` for
screenshots)
- `docs/` — architecture and design notes
## Roadmap