?codes= filters by LANGUAGE, which is what a partner's list usually is and the wrong filter for a list of peoples. The reach table measured the gap in its own rows: its Mandarin row counts 36 groups, those 36 speak 30 codes, and 55 Doxa groups speak those 30 — so a link from a 36-group row drew 55 pins. Akha's 33 drew 57; SUN's 93 drew 116. The extra groups are real and also have nothing; they belong to a different row. So the map takes ?groups=<slug list> and filters by people group. The slug is doxa.life's own — carried from the roster into the pin rows, and read in the builder off the prayer URL their API built from it, never constructed from a name, because a slug this build invented could name somebody else's people. All 369 of those rows carry a prayer URL, measured before relying on it. Row and map now agree by construction: 0 of 35 rows disagree, and the Mandarin link renders "36 / 2,107" on the map against a row claiming 36. The gate asserts exact equality for a three-slug link and 0 for an unknown slug — the failure that would quietly turn a partner's 40-group embed into the whole roster. The longest link is 1,577 characters, SUN's 93 slugs; well inside what browsers carry, but worth knowing before anyone adds a row with a thousand groups. |
||
|---|---|---|
| .. | ||
| dx-maps | ||
| README.md | ||
public/ — the built output
This folder is GENERATED by bun run build; do not edit it by hand. It holds exactly one thing:
dx-maps/— the output folder: 23 plugin bundles and 35 pages, self-contained. Copy this one folder to any web host (or open it from disk) and it works.dx-maps/index.html— the front page: the Plugin Studio, every plugin in one place.dx-maps/<plugin>/<plugin>.js— a plugin's bundle (a custom element; load it with a<script>tag).dx-maps/<plugin>/<page>/index.html— a ready-made page for one plugin view (embed it in an<iframe>).dx-maps/manifest.json— every plugin, page and embed snippet, machine-readable.dx-maps/assets/— the data, fonts and images the plugins fetch at runtime.
The folder's name comes from name in vite.doxa-maps-build-config.json. Sources live in
plugin-designs/, library/ and data/; rm -rf public/ && bun run build recreates all of this.