fix(embedded-mpv): reserve controls strip so hover reveal works

The native MPV NSView sits above the WebContents and is sized to the
viewport rect, so any DOM region it covers never receives pointer events.
Bundle 1 made the viewport fill the whole player, leaving no DOM strip to
catch pointermove — once the controls faded out there was no way to bring
them back via hover. Reapply the bottom inset on the viewport, scoped to
the slimmer 64 px panel, so the bottom strip is DOM-only and hover wakes
the controls. Swap the gradient for the glass surface treatment now that
the panel no longer needs to fade into video.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: f957cd9849e0
This commit is contained in:
4grayandClaude Opus 4.7 committed 2026-05-05 09:14:35 +02:00
1 parent 2b57f3a35d
commit 2b0287c2f1
1 file changed
+11 -6
@@ -46,6 +46,14 @@
background: var(--mat-sys-surface);
}
/* The native MPV NSView sits above the WebContents and is sized to the
viewport rect, so any region it covers cannot receive pointer events.
Reserve the control-bar height as a DOM-only strip at the bottom so
moving the cursor toward the bottom of the player wakes the controls. */
.embedded-mpv-player--controls-enabled .embedded-mpv-player__viewport {
bottom: var(--embedded-mpv-controls-height);
}
.embedded-mpv-player__loader {
position: absolute;
inset: 0;
@@ -96,12 +104,9 @@
opacity: 0;
pointer-events: none;
transform: translateY(8px);
background: linear-gradient(
180deg,
transparent 0%,
rgba(0, 0, 0, 0.55) 50%,
rgba(0, 0, 0, 0.78) 100%
);
background: var(--embedded-mpv-glass);
border-top: 1px solid var(--embedded-mpv-border);
backdrop-filter: blur(18px);
transition:
opacity 180ms ease-out,
transform 200ms ease-out;