diff options
| author | user <user@clank> | 2026-08-16 20:09:33 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-16 20:09:33 +0200 |
| commit | 7c4038906a9ee584f24bc935f863500a8394aa12 (patch) | |
| tree | 84583b087d20eee0e477599e3aeb70ae9cf3e559 /docs/chrome.md | |
| parent | sl0ppty: drag a pane onto a tab (diff) | |
| download | slosh-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.md | 17 |
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 |
