Moves the seven HTML scene dirs (landing/, loading/, game/, desktop/,
goodbye/, music-box/, music/) and the superseded bash helpers (setup.sh,
loading.sh, playlist.sh, telemetry.sh) into archived/ rather than deleting.
The Laravel webapp/ replaces all of them; archived/README.md spells out
the rollback procedure.
Also:
- rewrite the relevant sections of CLAUDE.md so it points at webapp/
blade views, the Artisan commands, and the supervisord lifecycle
(`supervisorctl restart obs-webapp` after route / controller / .env
changes; Blade view edits are still safe-while-running via OBS's
Refresh cache).
- extend scripts/deploy-rig.sh to install php + composer + supervisor,
run `composer install`, copy obs-webapp.supervisord.conf into
/etc/supervisor.d/, start the program, and call `php artisan
rig:setup` + `rig:telemetry --collect` instead of the old bash.
- .gitignore catches the generated machine-local files that came along
when the old scene dirs moved (telemetry.js, loading.json, playlist.js,
cmd.js, obs-config.js).
- daemon.blade.php is now passive — listens to mpd:state but does not
play audio or broadcast its own queue, so it stops fighting with
bridges/mpd-state.py (the post-browser-daemon-migration source of
truth for mpd:state).
- nc.blade.php overrides .terminal { overflow: hidden } from hud.css
so the `┤ TERMINAL ├` and `┤ NOW PLAYING ├` pane-tabs stick above
the pane border instead of being clipped.
archived/
Pre-webapp/ artefacts retained for reference and rollback.
scenes/
The seven hand-authored HTML scene overlays that lived at the repo root before the Laravel migration:
landing/— "PLEASE STAND BY" with telemetry rotatorloading/— project-load terminal + countdown + manifestgame/— game HUD with camera-frame OBS-WS syncdesktop/— desktop HUD (camera + screen frames)goodbye/— sign-off terminal + "OFFLINE FOR" countermusic/— legacy browser-side music daemon (HTML5<audio>)music-box/— full HUD, widget, cover, and nc variant
Each index.html is a self-contained file with inline CSS+JS. The
corresponding Blade view lives in
webapp/resources/views/overlays/<scene>.blade.php (and music/box.blade.php,
music/widget.blade.php, music/cover.blade.php, music/nc.blade.php,
music/daemon.blade.php for the music sub-tree).
scripts/
Bash helpers that wrote window.__X global JS files. Replaced by Artisan:
| Old | New |
|---|---|
scripts/setup.sh |
php artisan rig:setup |
scripts/loading.sh |
php artisan rig:loading |
scripts/playlist.sh |
php artisan rig:playlist |
scripts/telemetry.sh |
php artisan rig:telemetry |
scripts/playlist.sh skip |
php artisan rig:cmd skip (or curl -X POST http://127.0.0.1:1118/cmd/skip) |
vendor/
obs-ws-mini.js— moved towebapp/public/js/obs-ws-mini.js.obs-config.js— moved towebapp/public/js/obs-config.js(still generated byrig:setup).
Rollback
- Close OBS (
flatpak kill com.obsproject.Studio). - Restore the scene JSON:
cp basic/scenes/Default_Stream_HUD.json.pre-webapp \ basic/scenes/Default_Stream_HUD.json - Move directories back from
archived/scenes/to the repo root,archived/vendor/back tovendor/, andarchived/scripts/*.shback toscripts/. - Re-run
bash scripts/setup.shto regeneratevendor/obs-config.jsat the old path. - Stop the webapp:
sudo supervisorctl stop obs-webapp. - Restart OBS.