Every Surface

Internal index of the World Languages estate and its satellites. Everything linked here returned 200 on 2026‑10‑06.

Served straight from ~/html/datavis/language (repo lukeslp/inner-dialogue) with no build step, so an edit there is live.

Front of house linked from the index

Letters 4 · grid posters

Deterministic SVG from a data file, drawn by shared/gridposter.js and configured per page with window.GRID_CONFIG. Export via shared/raster.js.

Words 3

One word at a time 12 · word graphs

Contact histories rather than family trees, drawn by shared/wordgraph.js with typed edges (borrow / inherit / coin / shift / blocked); banner and foot from shared/sheet.js. Adding another needs only a data file.

Search and reference 2

Atlases 2 · Vite SPAs, four hosts

Not in this repo. Built from ~/projects/orthography and ~/projects/sign-language-atlas, mounted by the writing_spa / sign_spa Caddy snippets on datapoems.io, lukesteuber.com, world‑languages.com and diachronica.com. Their deploy timers refuse a dirty tree.

Elsewhere other hosts

Diachronica /dev/ 18 · other host

The sibling estate on diachronica.com, all noindex and served from ~/www/diachronica.com. That webroot is build output: the sources are static/ in the diachronica server repo and the release builder namespaces every path under /dev/, so edit the source, not the copy. Legacy top-level paths (/tree, /evolution, /network…) 301 in here.

Print vector PDFs

Every poster set on a real sheet with bleed and embedded fonts, by scripts/poster-print.mjs. Sizes and the reasoning are in docs/printing.md.

Stubs, legacy, unrouted