From 075fbb51a7173208c2d7c1c97daffca873f90f4a Mon Sep 17 00:00:00 2001 From: Me Here Date: Mon, 25 May 2026 21:17:29 -0500 Subject: [PATCH] Player: full-screen "stage mode" with landscape lock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a ⛶ button (top bar) that takes the PM-1 device full-screen and locks it to landscape — turning it into a glanceable stage display. A single body.stage class drives the layout: top bar + load panel hidden, OLED / beat-LEDs / transport enlarged with viewport units, plus a floating ✕ exit (the top bar is hidden in stage mode). Per platform: - Android: requestFullscreen() + screen.orientation.lock("landscape"). - Desktop: real fullscreen; the lock harmlessly no-ops (already landscape). - iPhone (no Fullscreen/orientation-lock API): CSS pseudo-fullscreen + a "⟳ rotate to landscape" overlay shown when held in portrait. Screen Wake Lock keeps the display awake during a performance (re-acquired on visibility change). 'F' toggles; Esc / fullscreenchange tear the stage down and unlock cleanly. All API calls are guarded so rejections on unsupported platforms never throw. Co-Authored-By: Claude Opus 4.7 (1M context) --- player.html | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/player.html b/player.html index f68a9dd..50ceac6 100644 --- a/player.html +++ b/player.html @@ -2,7 +2,7 @@ - + VARASYS PM‑1 — hardware player (mockup) + +
+ + Rotate your device to landscape +
+