Every table in this bundle is keyed by PEOPLE GROUP and answers "who has nothing". None of them answered the question a mobiliser asks first: what exists, what is it called, and where do I open it. Answering it from a group-grained table means reading the same JESUS Film link off forty rows. 581 rows, one per language x resource, across 413 languages, together reaching 5,349 people groups — the same 5,349 the pin build counts as carrying a real URL, so the two tables cannot drift without one of them being wrong. Reach is MEASURED, not assumed: people_groups, speakers and countries are aggregated across the pins that actually speak that language, so a row says how many people that one link serves. Sorted by reach, because the link serving the most people is the one to open first. The column is named resource_url because DataTable keys on /_url$/ to render a real anchor instead of printed text. That is a contract with the shared component, not a naming preference — rename it and every link silently becomes a string. TYPES STAY HONEST. 146 Scripture, 306 Film, 129 Bible Stories. Open Bible Stories is typed as Bible Stories and never as Scripture, and the meta says why. The pools caveat and the doctrine boundary both render under the table rather than living in a file nobody opens: only 66-book-canon publishers are included, and the excluded ones are named so their absence reads as a rule rather than an oversight. Verified at 1280x900 on the served tree: the tab loads first, renders all ten columns and 50 rows a page, and 50 rows carry real anchors to ebible.org, jesusfilm.org and door43 — clicked through from the page, not read out of the JSON. |
||
|---|---|---|
| .. | ||
| external-bundles | ||
| people-groups | ||
| posters | ||
| tables | ||
| vendor | ||
| README.md | ||
data/ — the bundler's source-of-truth data
The law: data lives here; public/ is generated. Every folder in data/ is copied into the
served web-root by the build (internal/generate-tree.mjs), exactly like 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/ |
/assets/people-groups/ |
People-group datasets (CSV/JSON) the maps read at runtime |
vendor/ |
/assets/vendor/ |
Third-party runtime assets (e.g. table libraries) |
posters/ |
/assets/posters/ |
Rendered poster webp set (heavy pipeline output; poster walls fetch these) |
tables/ |
/assets/tables/ |
The MERGED served table set (its index.json is the merge; per-profile plugin-designs/*/data/tables are build-time sources) |
external-bundles/ |
not served | Prebuilt map IIFEs vendored from sibling projects (not built here); only the optional layouts/ shell mounted them, so the build no longer copies them into public/ |
Don't edit anything under public/ by hand — change it here (or in plugin-designs/*/data/,
layouts/*/assets/) and rebuild.