summaryrefslogtreecommitdiff
path: root/docs/config.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/config.md')
-rw-r--r--docs/config.md35
1 files changed, 31 insertions, 4 deletions
diff --git a/docs/config.md b/docs/config.md
index 4f04d032..11346f4e 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -180,19 +180,46 @@ PanelZoom
PanelDissolve
PanelAscii
PanelVertical
+PanelEdges
+PanelFall
+PanelWave
+PanelCurtain
+PanelScramble
+PanelType
```
All panel transitions start off. Slide uses cubic ease-out and zoom uses an
overshooting ease-out-back. Dissolve and ASCII compare the last successfully
presented grid with the new one. Dissolve switches visually changed cells at
-stable noise thresholds. ASCII walks every changed single-byte printable glyph
-from its old `u8` value to its new one. Nearby values increment or decrement
-once per frame; longer distances use ease-out character skips, moving quickly
-at first and settling exactly on the destination. Glyph-stable style changes
+stable noise thresholds.
+ASCII walks every changed single-byte printable glyph
+from its old `u8` value to its new one, spending that byte distance as the
+frames of the walk. The walk is eased in and out: a glyph creeps at both ends
+and crosses the middle of its distance in a few large skips, inside the same
+number of frames a constant one-value-per-frame walk would have taken.
+Glyph-stable style changes
and non-ASCII graphemes become canonical immediately. A walk is capped at
twelve movement frames, and each pane lasts only as long as its longest walk.
The core computes and composes that semantic diff once for every backend;
pixel attachments, which have no character value, pass through unchanged.
+
+Six further transitions are character *motion* over the same frozen/new grid
+pair, and are composed in the core the same way:
+
+- `PanelEdges` — whole rows slide in from alternating screen edges.
+- `PanelFall` — columns rain down into place, each with its own head start.
+- `PanelWave` — a vertical ripple travels across the pane and decays.
+- `PanelCurtain` — a curtain of glyphs marches column by column, left to right.
+- `PanelScramble` — every cell churns through printable ASCII and locks onto
+ its final glyph at its own stable noise threshold.
+- `PanelType` — reading-order reveal with a caret sitting on the write head.
+
+Unlike dissolve and ASCII these carry *every* glyph in the pane, changed or
+not: text flying in from a screen edge has to bring its unchanged glyphs with
+it. A cell whose glyph has not arrived shows the frozen old cell rather than a
+blank or a blend, so every intermediate frame is made of real characters. No
+cell is a valid input target until its own glyph has settled.
+
Vertical is a pane-lifecycle effect: a newly added
pane rises from below inside its own fixed box, and a deleted pane's frozen
content drops back down; surviving panes are never animated. The TTY