region was empty on all 242 country rows, so the map had no way to answer "what share of this part of the world is unreached" — only how many groups a country holds and how many people live in them. The source carries UNm49Region, and it was verified before being trusted: only 2, 9, 19, 142 and 150 appear — exactly the five UN M49 top-level regions — every country maps to exactly ONE of them with 0 conflicts, and the five sum to 12,379, the whole corpus. So the code resolves to a real name. It is backfilled on every row, not just the new ones, and all 242 now carry a region with none blank. The rate is a genuinely different answer from the two already on offer: Oceania 51.2% of its 1,325 groups have nothing — 679 groups — 3.1M people Africa 30.0% of 3,074 — 923 — 68.2M Asia 19.3% of 5,073 — 978 — 198.7M Americas 11.4% of 2,117 — 241 — 6.1M Europe 10.1% of 790 — 80 — 11.6M Oceania is half unreached by group and the smallest population of the five; Asia is the reverse on both. Ranked by rate, because count and population are what the other two tabs already say and a third copy of either would be noise. All three are offered rather than one picked for the reader. The rows are plain divs, not buttons: a region is not somewhere this map can fly to, and a control that looks clickable and does nothing is worse than a row that does not pretend. Verified against an offline computation over the same index: all five regions match exactly on rate, group count and population. The sheet header is now three-way rather than showing the country prose in region mode. All five profiles still mount clean. |
||
|---|---|---|
| .. | ||
| 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.