languages-by-country is the bridge view: one row per country and language, ranked by prevalence, flagging which languages could carry a resource to groups that lack one. Its curated work — prevalence_rank, bridge_candidate, groups_speaking — is the reason it exists and is untouched. Its resource flags were not curated, and they had drifted like the other two legacy tables: 75 rows wrong about Scripture, 39 wrong about whether the language carries anything at all, 1 about film. That matters more here than elsewhere, because this table is consulted to CHOOSE a bridge: a language flagged as carrying nothing when it carries audio Scripture is a bridge somebody was told not to use. Refreshed from the pin index, which is the same source the map draws. 0 of 613 rows now disagree, and all 613 still carry their curated columns. full_bible is deliberately NOT refreshed. The pin index knows a scope only for eBible rows, so downgrading a curated "full Bible" on that basis would lose information rather than correct it. Also recorded rather than acted on: this table covers 175 countries while the map has 242 with pins, so 67 countries and 1,537 people groups have no bridge analysis at all. That is a gap in curated coverage, not a contradiction — the rows that exist are now correct — and filling it means doing the prevalence work, not copying numbers across. |
||
|---|---|---|
| .. | ||
| external-bundles | ||
| legacy/upg-neighbor | ||
| 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.