Skip to content

Add Liquid Glass as an optional blur material - #1904

Open
kiteretsu903 wants to merge 2 commits into
rxhanson:mainfrom
kiteretsu903:fix/review-liquid-glass
Open

kiteretsu903 wants to merge 2 commits into
rxhanson:mainfrom
kiteretsu903:fix/review-liquid-glass

Conversation

@kiteretsu903

@kiteretsu903 kiteretsu903 commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Adds a Liquid Glass choice for blurred previews on macOS 26 and later, with Light, Dark, and Follow System appearance. Earlier systems retain standard blur.

Behavior

  • An explicit material choice is preserved when blur is toggled or preferences are reloaded. Enabling blur on a supported system can select Glass when no material preference has been saved.
  • Both standard blur and Glass use the selected appearance. Changing appearance updates the material without changing window placement.
  • Reduce Transparency preserves the behavior already established on main: use the standard translucent preview, with 30% opacity by default or the explicitly configured opacity; hide the blur and appearance controls while the fallback is active. Saved material and appearance preferences remain intact.

Implementation and dependency

BlurSurfaceView owns material selection and the native Glass view. This change uses the synchronized snap-preview geometry now merged into main, which keeps the material and its host aligned. Glass does not introduce a separate geometry animation path.

Helper and divider surfaces can reuse this material in their own PRs; those features are not included here.

Validation

The branch passed all 593 XCTest tests, including native material checks, and the material-switching regression passed 20 fresh-process repetitions. The earlier intermittent assertion was reproduced and diagnosed: after installing a new Glass view, the test could compare its model frame with its parent’s previous presentation frame before Glass had a presentation layer. The corrected test checks model geometry separately, compares presentation geometry only when both layers exist, and requires a rendered sample within a bounded wait. No production rendering change was needed. This branch has no dependency on the closed learned-size-limits PR #1902.

A combined-build recording covered initial and repeated Glass previews with window animation disabled; sampled stationary transparent regions showed no obvious flicker.

This replaces the corresponding part of #1889.

Demo

07-liquid-glass.mp4

Window animation is disabled. Recorded with the combined build and only this feature and its required visual options enabled.

Settings

Add Liquid Glass as an optional blur material settings

@kiteretsu903
kiteretsu903 force-pushed the fix/review-liquid-glass branch from cc153e7 to 60770e3 Compare October 14, 2026 01:31
@kiteretsu903
kiteretsu903 marked this pull request as ready for review October 14, 2026 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant