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.
/alphabet/
Signs for Sounds
The Latin alphabet letter by letter, Proto-Sinaitic pictographs to modern type. 26 letters × 8 stages.
noindex
/lowercase/
The Second Alphabet
How the small letters came out of the Roman capitals, and why English uses two alphabets at once. 36 cells drawn by hand.
noindex
/abjad/
Twenty-Two Letters
The Semitic twenty-two traced sideways into Phoenician, Samaritan, Imperial Aramaic, Hebrew, Syriac, Nabataean and Arabic.
noindex
/brahmic/
Brahmi's Daughters
Eighteen consonants across eighteen scripts, Ashoka's rock edicts to Devanagari, Tamil, Tibetan, Thai and Javanese.
noindex
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.
/karaoke/
Empty Orchestra
Karaoke from a Greek verb meaning to dance, through Rome and London to Tokyo and back.
noindex
/orange/
The Missing N
Sanskrit through Persian, Arabic, Italian and French, losing its first letter to a definite article.
noindex
/platypus/
Flat-Foot
Every name the platypus has had, and why the word everyone uses is the one that was struck off.
noindex
/cousins/
Polite Company
Seven obscenities beside the respectable words from the same roots: shit and science, hell and color, arse and squirrel.
noindex
/avocado/
avocado · guacamole
Two complete routes to the same Nahuatl fruit word.
noindex
/coffee/
coffee · café · caffeine
Three branches back to Arabic qahwah.
noindex
/tea/
tea · chai
Two regional Chinese readings, two borrowing histories, one English.
noindex
/tomato/
tomato · potato · tomatillo
Two American-language histories and the influence that joined them in English.
noindex
/muscle/
mouse · muscle · mussel
Three words, one ancient word for mouse.
noindex
/window/
wind · eye · window
Window to Old Norse wind-eye, alongside the English histories of both halves.
noindex
/disaster/
disaster · astronaut · aster
Three histories to the same Greek family of words for star.
noindex
/helicopter/
helicopter
Its Greek elements and the words related to them.
noindex
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.
/dev/
Diachronica
Staging mirror of the landing page, a different convention from this index. Links the six app surfaces below.
hub
/dev/visualizations/
Visualizations
The viz hub: constellation, explorer, pie, language/evolution, network, tree.
hub
/dev/language/evolution/
Language Evolution Visualizations
Gallery for the five D3 views below. Data is language_evolution.json beside it.
gallery
…/viz1_phylogenetic_tree.html
Phylogenetic Tree
d3
…/viz2_force_network.html
Force Network
d3
…/viz3_timeline.html
Timeline
d3
…/viz4_geographic_map.html
Geographic Map
Also pulls d3-geo-projection and topojson.
d3
…/viz5_sunburst.html
Sunburst
d3
/dev/explorer/
Language History Explorer
Has three sub-views: pie/ (Proto-Indo-European family), force/ (constellation), tree/ (world families).
app
/dev/tree/
World Language Families
viz
/dev/constellation/
Language Constellations
viz
/dev/network/
Network
Titled for dr.eamer.dev, predating the move.
viz
/dev/sky/
The Night Sky
viz
/dev/evolution/
How Words Change
Timeline-led. Distinct from the five-viz gallery above, despite the name.
viz
/dev/typology/
Typology
app
/dev/macroareas/
Languages by Macroarea
app
/dev/cognates/
Cognates
app
/dev/concordance/
Concordance
app
/dev/language/
Language
Section index over evolution/ and the history data.
hub
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
Internal index: noindex, nofollow, linked only from the workbench.
Sources for every chart are in its own help dialog.
Analytics: every page above carries GoatCounter except the
meta-refresh stubs, where the destination is what gets counted. Add it at the
source, never in a webroot that is build output.
World Languages · workbench