diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/config.md | 2 | ||||
| -rw-r--r-- | docs/effects.md | 37 |
2 files changed, 28 insertions, 11 deletions
diff --git a/docs/config.md b/docs/config.md index 324b54e9..921f817e 100644 --- a/docs/config.md +++ b/docs/config.md @@ -537,7 +537,7 @@ Lift rim a hairline just above the focused tag (light, or shade on a lig Lift auto a shadow on a light page; on a dark one the others recede Lift off InactiveDim 30 the unfocused panes' text fades 30% toward its ground -Motion smooth off, crisp, smooth, bouncy or playful +Motion smooth off, crisp, smooth (the default), bouncy or playful GripWidth 150 the grip's button and the scrollbar under it, percent of the theme's rail_px (12px at a 17px tagline; 50 to 300) ``` diff --git a/docs/effects.md b/docs/effects.md index eefa52d3..3f375b7d 100644 --- a/docs/effects.md +++ b/docs/effects.md @@ -26,18 +26,31 @@ why. The verdict is the user's. ## Motion flavours -`Motion off|crisp|smooth|bouncy|playful` (default smooth) is one parameter set +`Motion off|crisp|smooth|bouncy|playful` (default smooth, tuned so arrivals +land inside §8.1's 220 ms; bouncy and playful run longer, opt-in) is one parameter set (animation.Motion) every fx animation reads, so a flavour is data, not a branch in each effect. Input is never blocked, and a new target always retargets from the current position and velocity. -| flavour | timing (ω) | follow-through (ζ) | anticipation | squash/stretch | secondary lag | arcs | -|---|---|---|---|---|---|---| -| off | instant | — | — | — | — | — | -| crisp | 44 | 1 (none) | — | — | in step | — | -| smooth | 26 | 1 (none) | — | — | 0.85 | 0.04 | -| bouncy | 30 | 0.55 (overshoots ~12%) | — | 0.12 | 0.8 | 0.08 | -| playful | 24 | 0.42 (overshoots ~23%) | 0.08 of the move | 0.25 | 0.7 | 0.15 | +| flavour | timing (ω, length) | follow-through (ζ) | anticipation | squash/stretch | exaggeration (gain) | secondary lag | arcs | +|---|---|---|---|---|---|---|---| +| off | instant | — | — | — | — | — | — | +| crisp | 60, 0.6× (leaves at full speed) | 1 (none) | — | — | 1 | in step | — | +| smooth | 34, 1.1× (slow in, slow out; ≤220 ms) | 1 (none) | — | — | 1 | 0.85 | 0.04 | +| bouncy | 24, 1.4× | 0.35 (overshoots ~30%, settles twice) | — | 0.15 | 1.25 | 0.8 | 0.08 | +| playful | 18, 1.7× | 0.28 (overshoots ~40%) | 0.15 of the move | 0.35 | 1.4 | 0.55 | 0.15 | + +The flavours are distinct by design, not tuning: crisp leaves at full speed +and never passes its mark; smooth takes twice as long and eases in and out; bouncy clearly passes its mark and settles back once or twice; +playful winds up the other way first, flies well past, and stretches along +its path and squashes as it lands, its text with it (the user's choice); a +pointer inverts the same stretched box, and landed, a pane is exactly its +target. A motion only a few pixels big (Lift) is +exaggerated by the flavour's gain so its character shows. The flavours drive +the Lift spring (time-based), the notice drop and the pane moves (PanelSlide, +PanelZoom, PanelVertical opening or moving, whose length scales with the +flavour); a closing pane keeps its effect's own exit. Chart and side-by-side +video: .scratch/render/motion/compare/. Which principles each motion uses: @@ -45,8 +58,12 @@ Which principles each motion uses: (bouncy and playful lift past full and settle back), anticipation (playful dips before it rises; below zero nothing is drawn, so it reads as a beat before the lift), staging (only the focused pane lifts; nothing else moves - with a focus change). Squash, stretch, arcs and secondary lag have nothing - to act on in a lift. + with a focus change), exaggeration (the flavour's gain). Squash, stretch, + arcs and secondary lag have nothing to act on in a lift. +- **Notice drop and pane moves**: timing and follow-through from the flavour's + spring over the move's length; anticipation (playful). A pane past its mark + never takes a neighbour's click, a rising one stays in its box, and a notice + past its row stays in its pane's body. - **Cursor** (G3, next): designed around the same set: glide on the spring, stretch along the path, an arc on long jumps, the trailing corners as the secondary action. |
