Touch devices blur the live backdrop instead of the baked layer

Mobile engines repaint background-attachment: fixed late (iOS treats it
as scroll), so the baked glass showed a stale crop of the wallpaper
until a tap forced a repaint - "some of the UI looks bugged until I
click it". On touch devices (max-width 639px or pointer: coarse) the
bake is dropped for a real backdrop-filter over the live scene, so the
bubbles blur through the glass as they pass and the position is correct
by construction. Hand-rolled frost fills keep their own tints there;
desktop keeps the baked layer (measured cheaper and verified correct).

Pinned with a touch-context check in the mobile suite (124 checks).
Contrast 0 findings, axe clean, chat 101/101, regression 44/44, i18n
13/13, native 33/33. Version 0.3.8, SW -> freezmo-v67.
This commit is contained in:
Martin Dvořák 2026-10-13 14:07:24 +00:00
commit b315e2a1aa
6 changed files with 84 additions and 4 deletions

View file

@ -1411,6 +1411,15 @@ Things I chose while building, with the reasoning:
pre-blurred wallpaper — the scene is clearly visible through the glass, and the
pixel-contrast scan still passes.
73. **Touch devices blur the live backdrop; desktop keeps the bake.** Mobile engines repaint
`background-attachment: fixed` late (and iOS treats it as scroll), so the baked glass showed a
stale crop of the wallpaper until a tap forced a repaint — "some of the UI looks bugged until I
click it". On touch devices (`max-width: 639px` or `pointer: coarse`) the bake is dropped for a
real `backdrop-filter` over the live scene (what the floating chrome always did) — the bubbles
now blur *through* the glass as they pass, and the position is correct by construction. The
hand-rolled frost fills keep their own tints there; desktop keeps the baked layer (measured
cheaper there and verified correct). Pinned in `tests/mobile-test.mjs` with a touch context.
72. **More, shinier bubbles.** Aero's rising bubbles went from ten to eighteen (the extra eight
interleaved between the others, 18px to 96px, 10-23s runs) with a tighter specular hotspot, a
second reflected-light glint low on the sphere, a 1px glass edge and a brighter inner rim on