Skip to content

Latest commit

 

History

History
107 lines (89 loc) · 4.35 KB

File metadata and controls

107 lines (89 loc) · 4.35 KB

Animations

All animations run on the GPU render thread at display refresh rate, independent of the Emacs redisplay. Everything is configurable from Elisp — see Configuration.

Cursor

8 particle/visual modes (Neovide-inspired):

Mode Description
none No animation, instant movement
smooth Smooth interpolated movement (default)
railgun Particles shoot backward from cursor
torpedo Comet-like trail follows cursor
pixiedust Sparkly particles scatter around cursor
sonicboom Shockwave ring expands from cursor
ripple Concentric rings emanate outward
wireframe Animated outline glow

7 movement styles controlling how the cursor interpolates between positions:

Style Description
exponential Smooth deceleration, no fixed duration (uses speed param)
spring Critically-damped spring, Neovide-like feel (default)
ease-out-quad Gentle deceleration curve
ease-out-cubic Stronger deceleration curve
ease-out-expo Sharp deceleration curve
ease-in-out-cubic Smooth S-curve
linear Constant speed

The spring style also supports a 4-corner trail effect where leading corners snap ahead and trailing corners stretch behind, controlled by a trail-size parameter (0.0-1.0).

Buffer Switch (Crossfade/Transition)

10 buffer-switch effects triggered when the visible buffer changes:

Effect Description
none Instant switch
crossfade Alpha blend between old and new (default)
slide-left/right/up/down Directional slide transitions
scale-fade Scale and fade
push New buffer pushes old buffer out
blur Blur transition
page-curl 3D page-turning effect

Scroll

21 scroll animation effects organized into categories:

# Effect Category Description
0 slide 2D Content slides in scroll direction (default)
1 crossfade 2D Alpha blend between old and new positions
2 scale-zoom 2D Destination zooms from 95% to 100%
3 fade-edges 2D Lines fade at viewport edges
4 cascade 2D Lines drop in with stagger delay
5 parallax 2D Layers scroll at different speeds
6 tilt 3D Subtle 3D perspective tilt
7 page-curl 3D Page turning effect
8 card-flip 3D Card flips around X-axis
9 cylinder-roll 3D Content wraps around cylinder
10 wobbly Deformation Jelly-like deformation
11 wave Deformation Sine-wave distortion
12 per-line-spring Deformation Each line springs independently
13 liquid Deformation Noise-based fluid distortion
14 motion-blur Post-process Vertical blur during scroll
15 chromatic-aberration Post-process RGB channel separation
16 ghost-trails Post-process Semi-transparent afterimages
17 color-temperature Post-process Warm/cool tint by direction
18 crt-scanlines Post-process Retro scanline overlay
19 depth-of-field Post-process Center sharp, edges dim
20 typewriter-reveal Creative Lines appear left-to-right

5 scroll easing functions:

# Easing Description
0 ease-out-quad Standard deceleration (default)
1 ease-out-cubic Stronger deceleration
2 spring Critically damped spring with overshoot
3 linear Constant speed
4 ease-in-out-cubic Smooth S-curve

Configuration

;; One typed, name-based profile configures effects and animation policy.
(neomacs-effects-apply
 '((cursor-motion :enabled t :speed 15.0
                  :style critically-damped-spring :duration 0.15
                  :trail-size 0.7)
   (crossfade-transition :enabled t :duration 0.2
                         :effect crossfade :easing ease-out-quad)
   (scroll-transition :enabled t :duration 0.15
                      :effect page-curl :easing spring)))

;; Incremental changes use the same names and properties.
(neomacs-effect-set 'cursor-motion
                    :speed 20.0 :style 'linear :duration 0.1)
(neomacs-effect-set 'crossfade-transition :enabled nil)
(neomacs-effect-set 'scroll-transition
                    :effect 'wobbly :easing 'ease-out-quad)