feat: full-screen embedded show UI, and speed + fade as the fixed master sliders - #120
Merged
Merged
Conversation
…r sliders The show screen's embedded UI is the thing an artist actually works in, and a windowed panel makes the grid a postage stamp: Full screen hands it the whole window, with a thin bar (and Escape, forwarded from the embedded web contents, which is what has focus) to get back out. The top bar's fixed sliders become Speed and Fade — the two that get moved mid-show — with brightness and attack behind a disclosure.
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two artist-facing complaints: the embedded show UI is a postage stamp inside the desktop panel, and the top bar's permanent sliders are the ones nobody touches mid-show.
Full screen.
ShowRoutekeeps anexpandedflag; when set it rendersfixed inset-0with only a thin exit bar above the slot. Nothing about the embedded UI changes — it is a nativeWebContentsViewthat simply follows whatever bounds the renderer reports, so "full screen" is just a bigger rectangle:The subtlety is Escape. While the embedded UI fills the window it holds focus, so the renderer's
keydownlistener never fires — the keypress lands in the embedded web contents.laser-viewintercepts it there and forwards it:surfaced as
window.wavegridLaser.onEscape(handler) → unsubscribe. The exit button exists too, so there is a mouse way out even if that plumbing breaks.Master sliders. The fixed slots become Speed and Fade; Bright and Attack move behind a
⋯disclosure (and remain in the phone's expandable panel unchanged). Speed is the same 0.01x–5x logarithmic control the tool panel already had, so slider entries now carry a display string rather than being assumed to be a 0–100 integer:It drives the existing
handleAnimSpeed→{ type: 'anim_speed' }, so it is the same value as the tool panel's Speed slider, not a second one.Link to Devin session: https://app.devin.ai/sessions/ec43152136134467a853ec0bbf783ea9
Requested by: @pyramation