Design: start-up hook, modes, entity types; add UI-1

D20: requirement UI-1 (status in the main tab). D21: failing start-up
hook prepare() in the platform. D22: modes incl. --desktop with optional
SteamVR, --desktop-novr, --config. D23: one class per HA entity type,
native types preferred, own JSON service only as fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 21:05:33 +02:00
co-authored by Claude Opus 5.5
parent f6c5de4fb9
commit 3ec3029af6
3 changed files with 69 additions and 4 deletions
+8 -2
View File
@@ -15,8 +15,8 @@ questions, in this order:
1. ~~Process model~~: one process, several threads (D16).
2. ~~Layers~~: presentation, business logic, I/O (D17).
3. How features plug in: object classes (D18) and configuration injection (D19) settled;
open: how the classes are wired.
3. ~~How features plug in~~: object classes (D18), configuration injection (D19), one class
per HA entity type with native types preferred (D23).
4. HA channels: MQTT only, or prepare for a second one for the dashboard (Q2/Q3)?
5. Overlay kinds: dashboard tabs and world overlays (platform extension).
6. Runtime model: which work runs in which thread (D16: several threads).
@@ -40,6 +40,12 @@ configuration, packaging of libmosquitto.
present (relevant for Q2/Q3).
- libmosquitto ABI check: Debian's 2.0.21 needs at most `OPENSSL_3.0.0`/`GLIBC_2.34`; the
Frame has OpenSSL 3.2.1 and glibc 2.39. No libcjson dependency. D14 holds.
- Entities: one class per HA entity type, native types preferred, own service only as fallback
(D23). Found: MQTT `notify` drops the title.
- Start-up hook `prepare()` in the platform (D21); modes, `--desktop-novr` and `--config`
(D22).
- New requirement UI-1: status display in the main tab (D20).
- The user installed `mosquitto` on the dev host, so native builds can use libmosquitto.
- Started docs/DESIGN.md: one process (D16), three layers (D17), HA-centric object classes
(D18). HA side: FrameAssistant needs only stock HA; how the user wraps commands (scripts,
pyscript) is up to them (NFR-6 unchanged).