170 more codes, 57 with gospel audio. 979 codes carry a Words of Life link and 1,220 people groups whose ONLY resource in any pool is that recording — 79.4 million people — can hear the gospel in their own language. Tier 0 is 1,653, from 3,457 when this began. 2,215 of the gap's 2,456 codes are decided. The "not yet swept" bucket is down to 133 groups, so one more batch ends it, and the breakdown will then read three situations rather than four — which the sheet was taught to handle last tick, before it could print "0 groups still unswept" beside a claim that four situations remained. Provenance exact: 2,079 name GRN as checked, 2,079 decided, none decided goes unnamed. All 57 new URLs verified before shipping. |
||
|---|---|---|
| .. | ||
| 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.