More shinier bubbles; the chat's top edge fades instead of clipping

Bubbles: ten -> eighteen (interleaved, 18px to 96px, 10-23s runs), with a
tighter specular hotspot, a reflected-light glint low on the sphere, a 1px
glass edge and a brighter inner rim on both the bubbles and the drifting
orbs. Bodies stay translucent with capped opacity, so wallpaper text stays
readable; bubble-perf shows no added frame cost.

Chat: the conversation scrolls up to the glass header, and a line clipped
exactly at that edge read as a rendering bug over the busy wallpaper - the
scroller now carries a 14px top mask in Aero, shorter than the column's
16px top padding so a fresh conversation shows no dimming.

Contrast 0 findings, axe clean, chat 101/101, mobile 123/123 (bubble count
pinned to 18), regression 44/44, i18n 13/13, native 33/33.
Version 0.3.7, SW -> freezmo-v66.
This commit is contained in:
Martin Dvořák 2026-10-13 13:19:12 +00:00
commit 4ba80a9bf2
7 changed files with 74 additions and 20 deletions

View file

@ -245,7 +245,7 @@ const AXE = axeSource();
);
check(
"aero: bubbles rise",
(await page.locator(".ice-bubble").count()) === 10 &&
(await page.locator(".ice-bubble").count()) === 18 &&
(await page.locator(".ice-bubble").first().evaluate((el) => getComputedStyle(el).animationName)) ===
"aero-bubble-rise",
);