Files
Jakub Zych 0b4f121a92 webapp: archive pre-migration scene dirs + bash scripts, update docs
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.
2026-05-21 13:08:49 +02:00
..

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 rotator
  • loading/ — project-load terminal + countdown + manifest
  • game/ — game HUD with camera-frame OBS-WS sync
  • desktop/ — desktop HUD (camera + screen frames)
  • goodbye/ — sign-off terminal + "OFFLINE FOR" counter
  • music/ — 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 to webapp/public/js/obs-ws-mini.js.
  • obs-config.js — moved to webapp/public/js/obs-config.js (still generated by rig:setup).

Rollback

  1. Close OBS (flatpak kill com.obsproject.Studio).
  2. Restore the scene JSON:
    cp basic/scenes/Default_Stream_HUD.json.pre-webapp \
       basic/scenes/Default_Stream_HUD.json
    
  3. Move directories back from archived/scenes/ to the repo root, archived/vendor/ back to vendor/, and archived/scripts/*.sh back to scripts/.
  4. Re-run bash scripts/setup.sh to regenerate vendor/obs-config.js at the old path.
  5. Stop the webapp: sudo supervisorctl stop obs-webapp.
  6. Restart OBS.