The brief asks for real leads — real translators, the real organisations that do the work — and the map had only URLs. A mobiliser who finds a neighbouring language already has Scripture wants to know who produced it, because that organisation has the linguists, the relationships and very often a team already in that country. The link answers where; this answers who to ask. eBible publishes its catalogue with a copyright line on every row and the join is exact: 964 of the 964 eBible links in this index match a catalogue row by translation id, none unmatched. 929 resolve to a named body across 137 organisations — Wycliffe Bible Translators, The Word for the World, Biblica, Pioneer Bible Translators, the Seed Company, World Bible Translation Center. It shows on the group sheet and on both bridges, where "who do I ask about this language" is the sharpest question on the page. NAMES ONLY, NO NEW LINKS. The catalogue also carries each publisher's domain, and shipping it would put hosts into this map that the doctrine screen has never seen — the screen is an allowlist precisely so a new publisher cannot arrive as a side effect of a data refresh. Measured after the change: 16,963 links scanned, the same count as before, and not one credit contains a URL. A licence is not a translator. 35 rows reduce to "public domain", which says how the text may be used and nothing about who made it; answering "who to ask" with a legal status would be worse than saying nothing, so those are dropped and counted separately from the rows that have no catalogue entry at all. |
||
|---|---|---|
| .. | ||
| brand | ||
| external-bundles | ||
| fonts | ||
| images | ||
| legacy/upg-neighbor | ||
| people-groups | ||
| posters | ||
| pplr | ||
| tables | ||
| vendor | ||
| README.md | ||
data/ — the bundler's source-of-truth data
The law: data lives here; public/ is generated. public/ holds only the output folder
(public/<tree>/, named by name in vite.doxa-maps-build-config.json) and a generated README. The
build (internal/generate-tree.mjs) copies what the plugins FETCH at runtime from here into
<tree>/assets/, alongside the per-profile data in plugin-designs/*/data/. You should be able to
rm -rf public/ and get it all back with bun run build.
| Folder | Served at | What it is |
|---|---|---|
people-groups/ |
<tree>/assets/people-groups/ (the fetched cuts only) |
People-group datasets (CSV/JSON) the maps read at runtime |
vendor/ |
<tree>/assets/vendor/ |
Third-party runtime assets (e.g. table libraries) |
posters/ |
<tree>/assets/posters/ (opt-in: bundlePosters / posterSources) |
Rendered poster set (heavy pipeline output; the export button fetches these) |
tables/ |
<tree>/assets/tables/ |
The MERGED served table set (its index.json is the merge; per-profile plugin-designs/*/data/tables are build-time sources) |
pplr/ |
<tree>/assets/pplr/ (the fetched files only) |
The PPLR data maps' derived datasets |
fonts/ |
<tree>/assets/fonts/ |
Vendored typefaces (SIL OFL), e.g. Bebas Neue for the regions clone |
images/ |
<tree>/assets/images/ |
Images the plugins fetch (e.g. the regions list's world-map watermark; see its PROVENANCE) |
brand/ |
not served | Logos and brand imagery (sources; the optional library/layouts/app-wrapper-material shell references them) |
legacy/ |
not served | Archived standalone builds kept for reference (e.g. the original upg-neighbor page) |
external-bundles/ |
not served | Prebuilt map IIFEs vendored from sibling projects (not built here); only the optional layouts/ shell mounted them |
fonts/, images/, brand/ and legacy/ moved here from public/assets/ on 2026-09-25 (card
BUILD-OUTPUT-IS-ONE-FOLDER): they were sources that existed only in the generated folder.
Don't edit anything under public/ by hand — change it here (or in plugin-designs/*/data/,
layouts/*/assets/) and rebuild.