summaryrefslogtreecommitdiff
path: root/docs/config.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-24 10:46:33 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commit40197552bed794b92410bdf803532162c8f5e27d (patch)
tree487a457c688aaff215d2c3925735d6b5e8bb2ede /docs/config.md
parent3f6ad1bc30570348297ae4aa6d1fd676de229a09 (diff)
downloadpardes-40197552bed794b92410bdf803532162c8f5e27d.tar.gz
pardes-40197552bed794b92410bdf803532162c8f5e27d.zip
Ease a message into its row fast first, its colour ahead of it, and out slow first
A message fell in on t*t, an ease-in: it hung near its start for the first frames and was still moving at its fastest when it hit the row, a sixth of a row in its last frame. It now decelerates into place with an ease-out cubic, slide = -(1-t)^3: a quarter of the way in the first frame, and the last frames only settle it. There is no overshoot. At a row's height and the dozen frames of the 180 ms fall, a follow-through is a pixel or two, which reads as a jitter rather than a bounce. MessageFall keeps its 180 ms: the ease-out puts the chip where it is going within about 100 ms. The colour leads the motion: alpha = 1 - (1 - min(1, 2t))^2, whole by half way, so what lands is already legible. The SDL shell used to show the chip solid while it slid and fade it only on the way out; it now fades it up with the same alpha, and the rule under a chip carries the chip's fade (a new TagLayer.fade) instead of standing solid while the chip comes or goes. The dissolve was an ease-out, (1-t)^2: it lost a tenth of its colour in the first frame and spent its last frames nearly invisible. An exit eases in instead, alpha = 1 - t^2 over the same 300 ms: it lets go gently and leaves faster and faster. t is now counted to the last frame, so that frame shows it gone rather than it blinking out from 0.3%. 1 - t^3 was the other candidate; in captures it held the chip nearly untouched for half the dissolve after the linger had already held it, then dropped a sixth of its colour a frame, which reads as a pop. It stays in place: the lines stacked around it do not move, and a drift would read as it leaving its row. The test pins the shapes: a fast first step into the row, never past it, solid by half way; a dissolve whose first drop is smaller than its last and which ends at exactly nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Diffstat (limited to 'docs/config.md')
-rw-r--r--docs/config.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/docs/config.md b/docs/config.md
index ab5e5617..d1cc2e6e 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -116,8 +116,9 @@ name before it runs; it is on by default, and the builtins that own the message
row themselves (`Msg`) never announce. Turning it off leaves the row to the
messages a builtin chooses to write.
`MessageAnimation` toggles how a message comes and goes; it is on by default.
-A message eases down into its row (graphical frontends slide it out from under
-the tagline; a terminal fades it in), stays until the next key or click as it
+A message eases down into its row, fast at first and settling at the end, its
+colour whole by half way (graphical frontends slide it out from under the
+tagline as it fades up; a terminal only fades it in), stays until the next key or click as it
always has, then lingers for `MessageLinger` milliseconds (default 800) before
it dissolves into the page. `MessageFall` (default 180) and `MessageDissolve`
(default 300) set how long the fall and the dissolve take, also in