doxa-maps/library/scripts
Doxa Maps ef6000c5d7 Say so on page 1 when a prayer packet's map is missing
Page 1 of every packet draws the zone map from mapSvg. When the map
fetch fails, the page interpolated an empty string: a title, a
subtitle, a privacy footnote, and nothing where the map belongs. A
failed fetch and a successful render were byte-indistinguishable in
the printed PDF, and the packet read as undeveloped.

It is not a rare edge. The served asset pool ships boundaries, fonts,
images, people-groups, pplr, previews, tables and vendor, and no
posters/ directory at all, because generate-tree gates it behind
posterSources and bundlePosters, both default false. Over live HTTP
against the served tree: previews/sudan.webp 200,
boundaries/world-adm0-web.geojson 200, posters/sudan.html 404. So on a
default build every packet's page 1 has been blank.

The browser path's catch around the poster fetch is right to keep
printing -- a missing map must not cost the reader the people pages --
but degrading and degrading silently are different things, and only
the renderer knows the map is absent when it draws the page. It now
prints one quiet sentence in the map's place.

The sentence is English-only on purpose. t() falls back to English per
key, so the other ten locales print it in English until a translator
supplies theirs, rather than ten invented translations nobody can
check.

The real fix for the blank map is shipping the poster sources in the
asset pool; that is a tree-config change and goes separately.

check-packet-map-missing-loud is two-sided: loud when the map is
missing AND quiet when it is present with the SVG intact, in en/es/ar,
both variants. Shown capable of failing four ways: the silent cover, a
notice that always prints, a notice that displaces the map, and the raw
key printed instead of a sentence.
2026-09-29 00:59:14 +00:00
..
boundaries Web-sized boundary copies: every feature and island kept, a fifth of the bytes 2026-09-27 03:25:59 +00:00
people-groups The people-group list is a universal prop: the same maps can show any project's list 2026-09-26 05:16:02 +00:00
posters Say so on page 1 when a prayer packet's map is missing 2026-09-29 00:59:14 +00:00
research Svalbard carries its own data, not Norway's 2026-09-27 05:05:04 +00:00
build-language-tree.mjs The whiteboard is a layer of tiered points; only the edges were ever a tree 2026-09-28 17:40:34 +00:00
generate-iso3-to-alpha2.mjs Country names in the reader's language, for all 242 2026-09-27 04:14:31 +00:00