library-rag-export.service now regenerates reading_umap.json on cyrion
whenever the corpus or its located highlights move, writing straight into this
checkout. Keeping it tracked would defeat that: a generated file that changes
under git dirties the tree, which both flips auto-build.sh's change signature
and breaks the `git pull` at the top of every build tick — the reason
notebooks-export/ is already ignored, in that file's own words.
So it joins them: ignored, plus a find line in the signature block so the
5-minute tick still notices a new projection.
The cost is that a fresh checkout has no map until the service runs — on
cyrion that is within the hour, anywhere else never. ReadingMap.astro says so
where someone would hit it.
An orbiting point cloud of all 8,424 indexed passages, with the 262 highlighted
ones lit and threaded in the order they were marked. Data comes from library-rag
(chunks + embeddings) projected to 3D with UMAP; the page never touches Postgres.
Projection is `airy` (n_neighbors=50, min_dist=0.8) and the palette is `frost` --
both chosen by eye against the alternatives. Note that airy shows the underlying
book-territory structure LESS than the tight projection the pre-flight measured,
so the 0.805 k-NN purity figure describes that one, not this.
Page weight: the wrapper adds 321 B gzip to the homepage's blocking load. `three`
(127 KB gz) and the payload (56 KB gz) are a dynamic chunk fetched after render.
It fails closed -- no WebGL, no payload, or a dead fetch leaves a plain page.
The payload is a static snapshot; the 5-minute auto-build rebuilds the site, not
the data. New reading reaches this map only when export.py is re-run.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fixed-dark theme matching blog.c0smere.net (Source theme + injections):
bg #0b0d12, white/64%-white text, accent green #218107 (links lifted to
#2fa50f for contrast). Self-hosted JetBrains Mono + Libre Baskerville —
the same woff2 files the blog serves. Site header with logo + nav
mirroring gh-head; serif-italic quotes; blog-style borderless tables;
single dark shiki/mermaid theme; homepage styled as a typographic feed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>