Requirements engineering for iteration 1 is finished (D13); phase 2 (planning and design) starts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
63 lines
2.6 KiB
Markdown
63 lines
2.6 KiB
Markdown
# Progress
|
||
|
||
Where the project stands, and what happened in each session. Newest first. The process is in
|
||
CLAUDE.md ("Working rules").
|
||
|
||
## Current state
|
||
|
||
- **Iteration 1, phase 2 (planning and design) started.** Phase 1 is approved (D13);
|
||
[REQUIREMENTS.md](REQUIREMENTS.md) is the baseline.
|
||
|
||
## Next steps
|
||
|
||
Phase 2 for the MVP scope (D8: MQTT connection + discovery + availability, the MVP sensors, a
|
||
basic notification). Design topics, proposed order:
|
||
|
||
1. Q4: MQTT client library (licence, availability on SteamOS, TLS/login, Qt event-loop
|
||
integration, deployment).
|
||
2. Component structure: configuration, MQTT/discovery layer, sensor sources, notification
|
||
service; how they fit into `Dashboard` (the app class).
|
||
3. HA entity model: topics, discovery payloads, availability, device grouping (CON-2/3/5,
|
||
SEN-15).
|
||
4. Basic notification (NOT-1): needs an overlay outside the dashboard, i.e. the planned
|
||
`WorldOverlay` (CLAUDE.md, "Planned extension"); MVP placement to be decided.
|
||
5. Test strategy for the MVP and the measurement method for NFR-3.
|
||
|
||
Later, not needed for the MVP: Q1 (several notifications), Q2/Q3 (dashboard); check only
|
||
whether they constrain the MVP architecture.
|
||
|
||
## Log
|
||
|
||
### 2026-10-05: requirements approved
|
||
|
||
- User approved REQUIREMENTS.md including the priorities (D13). Phase 2 started.
|
||
|
||
### 2026-10-04/05: project set-up and requirements
|
||
|
||
- Copied the vrdashboard template. Removed what the app doesn't need:
|
||
- `examples/` (diagnostics app) and the `VRDASH_BUILD_EXAMPLES` option
|
||
- the Frame test package (`scripts/package-frame-test.sh`, `docs/FRAME-TESTING.md`,
|
||
screenshots)
|
||
- the demo UI (`src/qml/DemoPage.qml`)
|
||
|
||
`Main.qml` shows a placeholder card.
|
||
- Named the app **FrameAssistant**, "Steam Frame companion for Home Assistant":
|
||
- CMake project `frameassistant`, executable `frame-assistant`
|
||
- app key `net.matzman.frameassistant`, tab "Frame Assistant", QML module `FrameAssistant`
|
||
|
||
Names rejected:
|
||
- "Steam…" and "…Home Assistant": trademarks
|
||
- "HASS…": the user dislikes it, because "Hass" is German for hate.
|
||
- Agreed working rules (in CLAUDE.md):
|
||
- explicit permission for everything; ask instead of assuming
|
||
- iterative five-phase cycle; an informal "ok" approves a phase
|
||
- document everything in Markdown in `docs/`
|
||
- `git init`. Baseline commit `4a5b090`.
|
||
- Requirements engineering (several question rounds with the user). The results are in
|
||
REQUIREMENTS.md:
|
||
- decisions D1–D12
|
||
- 51 requirements
|
||
- research on OpenVR data sources (Appendix A)
|
||
- Checks: `native-debug` builds, `ctest` passes 6/6 (Vulkan surface test skipped, no Vulkan on
|
||
this host), `--snapshot` renders.
|