The platform accepts app commands (D43): flags that get a
QCoreApplication like the manifest commands and run prepare() and then
the new hook runCommand(). The app's --ha-remove clears the device's
retained topics, so HA deletes the device; uninstall.sh runs it after
stopping the app and before unregistering from SteamVR.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ls fails for the pattern that matches nothing; with pipefail and set -e
the script ended without a message.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The manifest passes --log-file, so a settings error (CFG-2) ends up in a
log file in the install folder. Package README and docs updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
README: settings file, --config, the new tab. ARCHITECTURE.md and
CLAUDE.md: prepare() hook, app command-line options, app code layout,
WebEngine notes, the moc raw-string pitfall. THIRD_PARTY_NOTICES: Qt
WebEngine. Ship config.example.json; the package README explains the
set-up. PROGRESS.md and DESIGN.md: phase 3 results and deviations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Template stripped to the overlay platform (examples, demo UI and Frame
test package removed), renamed to FrameAssistant, and working rules for
the project recorded in CLAUDE.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>