scrollbar: improve visibility animation (#2737)
## Description Improve scrollbar appearance and disappearance motion across the shared `gpui-base` implementation. - slide vertical scrollbars in from the right and horizontal scrollbars up from the bottom - use a visible 300 ms linear fade-in with eased position, followed by the existing 2-second hold - slide and fade out over 500 ms with cubic ease-in - reverse interrupted animations from their current opacity and position - keep layout and hitboxes stationary, disable hidden track/thumb interactions, and respect reduced motion - preserve the full idle hold after hover and only end active thumb drags This implementation was AI-assisted, then reviewed, visually tested in the Scrollbar story, and covered with test-first regression tests. ## Screenshot The change is temporal rather than a static layout change. It was manually exercised in the Scrollbar story across Scrolling, Hover, and Always modes. ## How to Test ```bash cargo fmt --all -- --check cargo test -p gpui-base cargo run -p gpui-component-story -- Scrollbar ``` In the story, switch between Scrolling, Hover, and Always and verify the entrance/exit directions, visible fade, interruption reversal, and stationary Always behavior. ## Checklist - [x] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document and followed the guidelines. - [x] Reviewed the changes in this PR and confirmed AI generated code is accurate. - [x] Passed `cargo run` for story tests related to the changes. - [ ] Tested macOS, Windows and Linux platforms performance (not platform-specific; manually tested on Linux). --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: Codex <codex@openai.com>
J
Jason Lee committed
2a1335d50fa99c4a64a4ccb4f25ce2bb5cb87e4d
Parent: b29ee13
Committed by GitHub <noreply@github.com>
on 8/17/2026, 8:27:39 AM