aboutsummaryrefslogtreecommitdiffstats
path: root/docs/chrome.md
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-16 20:09:33 +0200
committeruser <user@clank>2026-08-16 20:09:33 +0200
commit7c4038906a9ee584f24bc935f863500a8394aa12 (patch)
tree84583b087d20eee0e477599e3aeb70ae9cf3e559 /docs/chrome.md
parentsl0ppty: drag a pane onto a tab (diff)
downloadslosh-7c4038906a9ee584f24bc935f863500a8394aa12.tar.gz
slosh-7c4038906a9ee584f24bc935f863500a8394aa12.tar.xz
slosh-7c4038906a9ee584f24bc935f863500a8394aa12.zip
sl0ppty: docs that match the program
Audited every page against the source and the binary rather than against my memory of it. Eight pages changed; the lists were all fine and the *numbers* were all wrong. Checked mechanically, and each of these came out complete: all 37 action names, all 28 control verbs, all 9 shader names, the expression language's 10 variables, 2 constants and 7 functions, the 8 pane states, every knob the dump prints, every OSC verb, every internal link and anchor, and every page's place in `docs/nav`. Every fenced `kdl` block was run through `--check`; every `{"cmd":...}` in an example is a verb that exists. What was stale: - **`make` does not build.** The default goal is `help`, so the install block -- `make vendor`, `make`, `make test` -- never produced a binary. It says `make all` now, timed at 5.5s from clean rather than "about a second". - **700-odd checks in about eight seconds** is now 1,500-odd in about thirteen, plus 260 from the C unit tests, which the sentence did not count at all. - **About 10k lines of C** is 15k. (10,799 of those are neither blank nor a comment, which is presumably where the old figure came from.) - **Seven chrome presets** are thirteen, and the six new ones use `sin` and `TAU` -- so the perimeter section gained the angle idiom it now depends on, and its "two things fall out of it" became three. - **`--check`'s example transcript showed two errors nobody can produce any more**: `bad prefix: C-a` and `bad key: ←`. Both inputs became *valid* -- `C-a` when the chord parser learned the notation the cheatsheet prints, and `←` when it learned the arrow glyphs, precisely so a chord copied off the screen parses. Replaced with a transcript I generated, and a note that the problems go to stderr, which matters for the pre-commit hook the page suggests. - **`bell_indicator`** was a real knob documented nowhere. - **"There is no key for this yet"** about moving a pane between tabs, two commits after the keys and the drag landed. - The cheatsheet's `+N more` line, the finder's `C-u`, and `tab_id` in a pane report were all real and unmentioned. Verified: the whole suite green, `make docs` builds nine pages, and the changed pages read correctly in a browser -- including the new transcript and the `>` `<` row of the key table.
Diffstat (limited to 'docs/chrome.md')
-rw-r--r--docs/chrome.md17
1 files changed, 12 insertions, 5 deletions
diff --git a/docs/chrome.md b/docs/chrome.md
index dcc6130..a348fcc 100644
--- a/docs/chrome.md
+++ b/docs/chrome.md
@@ -42,21 +42,28 @@ the ring, which the language can work out — clockwise from the top-left:
: y == rows-1 ? 2 * cols + rows - 3 - x : 2 * cols + 2 * rows - 4 - y)
```
-with the perimeter itself `2 * cols + 2 * rows - 4`. Two things fall out of it:
+with the perimeter itself `2 * cols + 2 * rows - 4`. Three things fall out of it:
- `min(d, P - d)` is distance the short way round, so an effect crosses the
corner it started from instead of stopping at a seam.
- `(p - head + P) % P` is "how far ahead of the head", which makes an arc rotate
rather than a blob slide.
+- `sin(TAU * p / P)` is that position **as an angle**, one cycle to the lap — and
+ a sine wraps at the corner for free, where a ramp needs the trick above. Any
+ whole number of lobes (`* 3 / P`) fits the ring exactly, which is what makes a
+ standing wave stand.
There is no way to name a subexpression, so the formula is written out in full —
which is why a small effect is a long line.
-Seven of them are ready to paste in
+Thirteen of them are ready to paste in
`contrib/chrome`:
-a shine running round the border, drifting sparkles, ripples leaving a corner in
-both directions, a rotating arc, a static gradient, corner glints, and a sheen
-across the title rule.
+a shine running round the border, a sine comet with softer shoulders, marching
+ants, a standing wave, drifting sparkles, ripples leaving a corner in both
+directions, a rotating arc, a bit-drift pattern, a heartbeat, a static gradient,
+corner glints, a sheen across the title rule and an XOR barcode along it. Its
+README has the two techniques they share: the angle idiom above, and overdrive
+then clip (`* 14 - 3000` after a sine) to turn a glow into an arc.
## A border that says something