Repository navigation
cmux NEXT hover cards: the glass panels' rounder corners, and a real blur before macOS 26 - #22488
Conversation
…hind-window blur (red) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lur before macOS 26 The workspace and tab hover cards (and the update card, which matches them) take the floating glass panels' continuous radius instead of a menu's 8 pt, with the shadow following it. The card is its clear window's whole content, so the vibrancy fallback now blurs what is behind the window (OverlaySurfaceView samplesBehindWindow); within its own window it had nothing to blur. Liquid Glass keeps drawing its own refraction and rim, and the theme tint is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The update card re-reads the floating panels' radius on each show, the debug hover card gallery draws the real card's radius, and the popup style's comment says hover cards take the larger radius. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 032f274; does not block Tour of The path-selected recorder failed for hover-card, glass, core; see the run artifact and failed manifests. Both apps run cmux-tui from 287b37c (tree 121da5195137): the merge base's own tree 8c17e4aaf92f was not published yet. Path-selected interactions
Core UI (before): PASS — 17 ok
Screenshots (14)1. Launch
Screenshots (14)1. Launch
Screenshots (14)1. Launch over art
Screenshots (14)1. Launch over art
Screenshots (12)1. Launch
Screenshots (12)1. Launch Tours are data in |
|
Bead |
|
Found 11 test failures on Blacksmith runners: Failures
...and 1 more test failures. View all on Blacksmith
|
- schemas/defaults/cmux-next.json Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39409469670
|
|
The PR autofix regenerated schemas/defaults/cmux-next.json on the branch's older base, which would revert newer keys. This PR changes no setting. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- schemas/defaults/cmux-next.json Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39411323352
# Conflicts: # Packages/macOS/CmuxNext/Sources/CmuxNextSidebar/Views/SidebarUpdateNotesPanel.swift
feat-cmux-next's update card now morphs inside the hover card panel (5cac4de) and masks the glass with the menu radius; it follows the card's floating-panel radius instead, so the corners don't jump during a morph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Packages/macOS/CmuxNext/ci-target-graph.json - schemas/defaults/cmux-next.json Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39425295655
# Conflicts: # schemas/defaults/cmux-next.json
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Shipped in:
|






















































































Summary
Leo wants the hover card in iOS's refracting-glass style. The card already is the app's one overlay glass (
OverlaySurfaceViewfrom #21785: themed Liquid Glass with its own refraction and rim on macOS 26, vibrancy before it, the solid surface under Reduce Transparency), so this PR uses that system rather than adding one. It fixes two things that kept the card from looking like glass:PopupStyle). It now takes the floating glass panels' continuous radius (Metrics.panelCornerRadius, 12 pt, 10 pt compact; the palette and dialogs use it), and its shadow follows the same shape. The radius is re-read on every show, so a density change applies to the next card. Workspace and tab hover cards share the panel, so both change; so does the update card, which feat-cmux-next now shows in the same panel (5cac4de), and its morph mask follows the radius. The debug hover card gallery draws the same radius..withinWindow, so it had nothing under it to blur and drew a flat material.OverlaySurfaceView.samplesBehindWindowmakes it blend.behindWindow, so the sidebar or terminal under the card shows through blurred, as the tooltip and drag ghost already do. An overlay inside a window (a find bar) keeps blurring within it.Unchanged: the theme tint and its density (
glassOverlayTintStrength, 1.25x the chrome glass tint), which is what keeps text readable over busy content; the text colors (primary title and reply, secondary metadata, fromWorkspaceHoverCardSurfaceTests); the highlight and refraction, which Liquid Glass draws itself. I didn't add a hand-drawn rim to the fallback.Testing
Regression first, on the fleet (
cmux-ci run --class light --script scripts/ci/package-test-lane.sh --arg=suite --arg=Packages/macOS/CmuxNext --arg=<suites>):--red,HoverCardGlassTests): failed as expected (fleet step 1647f9f5b057cbe9cb783c29): the card's glass and shadow host were 8 pt againstMetrics.panelCornerRadius10 pt, and the forced vibrancy blended.withinWindow; the within-window control test passedHoverCardGlassTests,WorkspaceHoverCardSurfaceTests,HoverCardFlushTests,HoverCardPanelMotionTests,UpdateCardHoverParityTests,UpdateReadyCardLayoutTests,HoverCardRowTests): all 7 suites passed, exit 0 (fleet step c7355daecc13f5b0b3d5c049). 032c967 then merges feat-cmux-next 4322388 and drops a stale autofix ofschemas/defaults/cmux-next.json; it changes none of this PR's filesHoverCardGlassTests: the card's glass and its shadow host takeMetrics.panelCornerRadius; with the vibrancy material forced, the card's blur samples behind its window; a plain overlay surface still blends within its window.WorkspaceHoverCardSurfaceTestsnow expects the panel radius.python3 scripts/verify-local.py --affected origin/feat-cmux-next --swift-changed origin/feat-cmux-next: localization-defaults and feature-flags pass; package-groups fails identically on the base (6c0365c).An independent review subagent found no blockers. Its nits (the update card missed the density refresh, the gallery still drew 8 pt, stale comments) are fixed in c2f9d26. 85a91c3 merges feat-cmux-next 048c296, which deleted the separate update notes panel (this PR's edit to it went with it) and added the card morph; the morph's mask now takes the card radius. Fleet suites on that head: not run: the fleet step (594ca1956ed6) stopped before the tests because feat-cmux-next 048c296's web bundles don't build (missing translations for
settings.layout.focusPaneOnScroll), a base break outside this PR.Observed / Not run
Observed: the fleet runs above and the static checks. Not run: the look itself on a Mac. CI Macs run macOS 26, which takes the Liquid Glass path, so the
.behindWindowfallback during the card's slide between rows has only been checked by reading. Check it in a tagged build withCMUX_NEXT_DEBUG_LEGACY_MATERIAL=1.Changelog
Changed: Hover cards have the rounder corners of the app's other glass panels, and on macOS 14 and 15 they blur what is under them.
Proof
The
media-tourlabel tourshover-card(session and tab cards, light and dark, over art) before and after.🤖 Generated with Claude Code