Places drawer: solid glass, no fade, keys never animate it (#486) #503

Closed
kayg wants to merge 0 commits from issue/486-places-ghost into dev
Owner

Closes #486.

Cause. On a window narrower than 1280 px, Places is a glass drawer over the list (Shell.svelte). Its pointer-open transition faded the drawer's opacity (and ramped it 1.6x), so for a few frames the translucent glass sat over the list and both texts showed. The dim ran on a separate time and curve.

Fix. The drawer is never faded: it moves (translate, small spring on open) and is revealed by clip-path, solid every frame. The dim uses the same duration and curve as the panel. A key still gives duration 0 (shows or hides at once). The old keys-no-motion test passed because it only ran at 1440 px, the wide layout, where there is no drawer.

Tests. glass.spec: the drawer and list are never partly transparent while opening and closing (fails on dev, passes here), and the dim eases. keys-no-motion: Ctrl+\ at 1100 px moves nothing and the drawer is there or gone at once.

Results are on #486.

🤖 Generated with Claude Code

https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b

Closes #486. **Cause.** On a window narrower than 1280 px, Places is a glass drawer over the list (`Shell.svelte`). Its pointer-open transition faded the drawer's `opacity` (and ramped it 1.6x), so for a few frames the translucent glass sat over the list and both texts showed. The dim ran on a separate time and curve. **Fix.** The drawer is never faded: it moves (translate, small spring on open) and is revealed by `clip-path`, solid every frame. The dim uses the same duration and curve as the panel. A key still gives duration 0 (shows or hides at once). The old `keys-no-motion` test passed because it only ran at 1440 px, the wide layout, where there is no drawer. **Tests.** `glass.spec`: the drawer and list are never partly transparent while opening and closing (fails on dev, passes here), and the dim eases. `keys-no-motion`: Ctrl+\ at 1100 px moves nothing and the drawer is there or gone at once. Results are on #486. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b
Places drawer test: sample the dim from the drawer's own scrim, count its animation (#486)
Some checks failed
CI / server (pull_request) Successful in 27s
CI / rust (pull_request) Successful in 2m5s
CI / web (pull_request) Failing after 49m12s
37f5dd8cfd
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019QGa6qjALuHyi8H1naGp6b
Author
Owner

Landed in train u3, #520.

Train u3 ran the full suite per project (11 projects), plus fmt, clippy, workspace tests and the build.

  • Passed: chromium-390, chromium-1440, throttled-390, throttled-1440 (rerun after a session restart cut it off), flow, passkeys, prefs-chromium, prefs-webkit and contrast.
  • webkit-390: one tooltips failure, which passed 9 of 9 on the rerun.
  • webkit-1440:
    • opacity.spec:62 fails the same way on plain origin/dev (bisect: dev 1 failed out of 14), so it's a pre-existing flake;
    • missing-links:37 and the links specs are the dev race fixed in #518;
    • the other failures were the browser closing under load.
  • Workspace tests: one Rust flake (missing::a_path_tells_here_trash_and_gone), which is a dev race and is fixed in #519.

Contents:

  • #503: Places ghosting;
  • #506: font weight parity, with no global antialiased smoothing;
  • #507: sidebar hover edge;
  • #483: client ADRs 0040–0048.

All of these were approved by kayg. Merging.

Landed in train u3, #520. Train u3 ran the full suite per project (11 projects), plus fmt, clippy, workspace tests and the build. - **Passed:** chromium-390, chromium-1440, throttled-390, throttled-1440 (rerun after a session restart cut it off), flow, passkeys, prefs-chromium, prefs-webkit and contrast. - **webkit-390:** one tooltips failure, which passed 9 of 9 on the rerun. - **webkit-1440:** - `opacity.spec:62` fails the same way on plain origin/dev (bisect: dev 1 failed out of 14), so it's a pre-existing flake; - `missing-links:37` and the links specs are the dev race fixed in #518; - the other failures were the browser closing under load. - **Workspace tests:** one Rust flake (`missing::a_path_tells_here_trash_and_gone`), which is a dev race and is fixed in #519. Contents: - #503: Places ghosting; - #506: font weight parity, with no global antialiased smoothing; - #507: sidebar hover edge; - #483: client ADRs 0040–0048. All of these were approved by kayg. Merging.
kayg closed this pull request 2026-10-17 04:25:45 +00:00
Some checks failed
CI / server (pull_request) Successful in 27s
CI / rust (pull_request) Successful in 2m5s
CI / web (pull_request) Failing after 49m12s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal!503
No description provided.