Design: MVP details and implementation order
D31/D32: ids, topics, retain and availability for the HA MQTT interface, MVP entity list. D33: MVP notification via the notify entity. D34: configuration file format. D35: shipping libmosquitto. D36: NFR-3 measurement. D37: MVP implemented in four iterations, DSH-1 first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+16
-10
@@ -11,18 +11,18 @@ CLAUDE.md ("Working rules").
|
||||
|
||||
## Next steps
|
||||
|
||||
Phase 2: the high-level architecture is done (D16–D30, [DESIGN.md](DESIGN.md)). Next, the
|
||||
details for the MVP (D8, plus DSH-1 by D28), in this order:
|
||||
Requirements and design cover the whole MVP; it is **implemented in four small iterations**
|
||||
(D37), each with implementation, testing and assessment:
|
||||
|
||||
1. Topics and payloads: topic scheme, device and entity ids, discovery content, MVP entity
|
||||
list, retain and availability.
|
||||
2. MVP notification: command format and title (MQTT `notify` drops the title).
|
||||
3. Configuration file format, incl. TLS/CA settings.
|
||||
4. Shipping libmosquitto (build, package, licence text).
|
||||
5. NFR-3 measurement method.
|
||||
| Iteration | Content | Platform change | Checked by |
|
||||
|---|---|---|---|
|
||||
| 1 | DSH-1: HA web UI (Qt WebEngine) in a dashboard tab; configuration (D34) with start-up hook and `--config` | start-up hook (D21), WebEngine initialisation before the `QGuiApplication` | HA web UI in the tab on the Frame; result documented |
|
||||
| 2 | MQTT client (own thread), HA device with discovery and availability, libmosquitto in the package, status display UI-1 | modes (D22) | device appears in HA, online/offline right, reconnect works |
|
||||
| 3 | OpenVR wrappers and the 13 sensor entities | `--desktop` with optional SteamVR (D22) | sensor values in HA on the Frame |
|
||||
| 4 | notification manager, `notify` entity, world overlay | world overlay, premultiplied flag (D25) | notification from HA in VR, also in a game |
|
||||
|
||||
Then the platform changes (start-up hook D21, desktop modes D22, world overlay D25, WebEngine
|
||||
initialisation for DSH-1) and the implementation plan for iteration 1.
|
||||
Next: the detailed plan for iteration 1 (files, classes, tests, order) for the user's
|
||||
approval; that ends phase 2 for iteration 1.
|
||||
|
||||
## Log
|
||||
|
||||
@@ -39,6 +39,12 @@ initialisation for DSH-1) and the implementation plan for iteration 1.
|
||||
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.
|
||||
- MVP implemented in four iterations; DSH-1 first, at the user's wish (D37).
|
||||
- NFR-3 measurement method, manual in the MVP (D36). MVP details done.
|
||||
- Shipping libmosquitto (D35).
|
||||
- Configuration file format (D34).
|
||||
- MVP notification: `notify` entity with first line as title; JSON command later (D33).
|
||||
- HA MQTT interface: ids (D31), topics, retain, availability (D32), MVP entity list.
|
||||
- Test strategy in four levels (D30). High-level architecture done.
|
||||
- Threads: MQTT client in its own thread, everything else incl. OpenVR in the main thread (D29).
|
||||
- DSH-1 split: web UI out-of-the-box test in the MVP, full dashboard as DSH-2 (D28).
|
||||
|
||||
Reference in New Issue
Block a user