Frame checks 3 and 4 are postponed (no device access). Iteration 2
publishes a dummy sensor instead of a real one (D41) and includes TLS,
--desktop-novr and --ha-remove.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DSH-1 ended with a negative result: the Frame's system WebEngine can't be
loaded, and bundling our own failed (no sandbox, ICU resources, Vulkan
abort, empty page). Reverts the tab (60deb43), the container packages
(0676998) and the bundler's WebEngine support (b823ff3, e2cfa8e), and
updates the docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
D25: dashboard tabs and world overlays; premultiplied-alpha flag.
D26: one world overlay for all notifications. D27: MVP placement
"spawn in front, then stay". D28: DSH-1 (web UI out-of-the-box test)
joins the MVP, full dashboard becomes DSH-2. Add the research on
notification UI in VR (DESIGN.md, Appendix A).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
DESIGN.md: one process with several threads (D16), three layers (D17),
HA-centric object classes (D18), injected configuration (D19). Design
decisions move from REQUIREMENTS.md to DESIGN.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
D14: libmosquitto from Debian, shipped in the package (Qt MQTT needs the
exact Qt version; nothing on the Frame). D15: own device-based discovery
layer on Qt's JSON classes. Document the libraries per requirement and
what the Frame provides (Qt modules, OpenSSL 3.2.1, glibc 2.39).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Requirements engineering for iteration 1 is finished (D13); phase 2
(planning and design) starts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>