summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/config.md2
-rw-r--r--docs/effects.md37
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.