The slickness wave
Motion that earns its frames: eased scroll, gliding cursor, color emoji, native drag-and-drop; all with kill switches, all zero-cost at rest.
Added
- Eased scroll-to: ⌘Home/End, block navigation, and search jumps glide on a
critically-damped spring instead of teleporting. Wheel input and typing always
cancel the glide.
[terminal] scroll_animation_ms(default 150; 0 = instant). - The cursor glides between cells: short same-row hops land in ~30 ms so typing feels instant; long jumps take ~100 ms. Instant snaps on pane switch, alt-screen, and resize. At rest the paint is byte-identical and books zero frames.
- Color emoji (macOS): emoji clusters render as real Apple Color Emoji tiles; 🚀 is a rocket, ZWJ families draw as one glyph. Text-presentation symbols stay monochrome. Every failure falls back to the outline path.
- Drag a URL, text selection, or web image onto a pane and it pastes (macOS) — dragged content lands as a bracketed paste at the focused pane; web images are cached to disk and pasted as paths.
- Scrollback scrollbar: a fading right-edge thumb shows where the viewport sits while scrolled back.
- Unfocused-pane dim: panes without focus get a subtle theme-background wash so
the active split is unmistakable.
[appearance] unfocused_pane_dim(default 0.15). - Visual bell: the ringing pane’s border pulses accent and fades over 400 ms.
- Chrome motion: the command palette and search-everywhere open with a fast fade-and-drop; the cursor blink crossfades its edges instead of snapping.
Every animation respects its config kill switch, and idle terminals still book zero repaints; motion is paid for only while it’s happening.