Skip to content

A README that draws itself, in two languages - #17

Merged
MAXAWER merged 1 commit into
mainfrom
docs/readme-landing
Aug 27, 2026
Merged

A README that draws itself, in two languages#17
MAXAWER merged 1 commit into
mainfrom
docs/readme-landing

Conversation

@MAXAWER

@MAXAWER MAXAWER commented Aug 27, 2026

Copy link
Copy Markdown
Owner

The hero

docs/hero.svg, generated by tools/make_hero.py: 232 real strokes out of examples/motorcycle.jpg, appearing in the order the program sends them to a phone. It is the product working, not a picture of it - and at 94 KB it is a third of the GIF it replaces while being sharp at any density.

Two things had to be found out rather than assumed. SMIL cannot restart document time, so the first version played once and went blank; every stroke now animates on one indefinite cycle with its own keyTimes. And GitHub's sanitiser drops id attributes, so an in-page anchor has to be a preceding <a name>.

Two languages, half the length

README.md and README.ru.md, each linking to the other, instead of one file with the Russian half folded into a <details> nobody opens. English went from 629 lines to 278.

The deep material moved to docs/INTERNALS.md: the digitizer's own coordinate space, the three ways into a device and why a recent Pixel refuses the fast one, the 0/1/6 ms measurement, recordings, mirroring, and the open ends. That is where somebody actually goes looking for it, and it keeps the front page a front page.

Also fixed along the way: the Russian install table had two Linux rows and told people to install a [gui] extra that no longer exists, and docs/RELEASING.md still described the old --dmg and --archive flags and a Tk window that is gone.

Every relative link in all three files resolves.

The hero is an animated SVG generated by tools/make_hero.py: 232 real
strokes out of examples/motorcycle.jpg, appearing in the order the
program sends them to a phone. Twice the size on screen at a third the
bytes of a GIF, and sharp at any density.

English and Russian are separate files now - README.md and README.ru.md,
each with a link to the other - rather than one file with half of itself
folded into a details block nobody opens. Both are about half the length
they were: the deep material moved to docs/INTERNALS.md, which is where
somebody looking for the digitizer's coordinate space or the three ways
into a device will actually look.

Two notes for the next person editing them. GitHub's sanitiser drops id
attributes, so an in-page anchor has to be a preceding <a name>. And
SMIL cannot restart document time, so every stroke in the hero animates
on one indefinite cycle with its own keyTimes rather than on a begin
offset - the first version played once and went blank.
@MAXAWER
MAXAWER force-pushed the docs/readme-landing branch from dd55150 to 0fa9534 Compare August 27, 2026 16:14
@MAXAWER
MAXAWER merged commit 635b88d into main Aug 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant