Both are MIT, which asks for the permission notice to be included with the software. Tabulator's minified .js carried only "(c) Oliver Folkerd 2025" and its .css carried nothing; Vue's banner names @license MIT but omits the permission text. Each now has its upstream LICENSE vendored verbatim beside it -- fetched, not authored, with the URL and sha256 recorded. ★ AND THE ALLOWLIST IS WHY IT WOULD NOT HAVE WORKED. generate-tree stages vendor/ by an explicit PATH LIST, so the licences sat in data/vendor and never reached the tree: staged count 0. Vendoring a notice the staging step drops is not compliance, it is paperwork. Both LICENSE paths are now listed. documentation/THIRD-PARTY.md is the register the sweep produced: every non-original thing dx-maps ships, its source, its licence, whether the licence or attribution actually travels, and the gap. Compiled by inspecting the SHIPPED tree rather than the source lists, because the question is what a recipient receives. Four rows are left OPEN and marked as such. Two are unverified and need a look (world-adm0's provenance, the pplr upstream). Two need a decision, not a fetch: people-groups and the 304 derived tables carry data whose redistribution terms are not established, 36 MB of it. Attaching a licence I have not confirmed would be worse than the gap, so those go to the Driver. geoBoundaries is closable by work rather than judgment -- CC BY needs attribution, and the .meta.json sidecar pattern already exists here for one file of eight. |
||
|---|---|---|
| .. | ||
| boundaries | ||
| brand | ||
| external-bundles | ||
| fonts | ||
| glottolog | ||
| images | ||
| internet | ||
| legacy/upg-neighbor | ||
| people-groups | ||
| posters | ||
| pplr | ||
| tables | ||
| translation-readiness | ||
| 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.