doxa-maps/plugin-designs/my-upg-100-list/data
Doxa Maps 1fde892d4b UPG-100 batch selection: on a phone, a selection too big to print asks for a computer
Building a selection's Prayer list or Card deck is never the problem (the whole
selection is ready in under 30 s on a 4×-throttled phone). PRINTING it is: in a
browser capped at 2.5 GB, the print of 1,857 groups (101 sheets, a 138 MB PDF)
finished, and 2,209 groups (113 sheets) crashed the page at 1× and at 4×. A phone
tab has roughly half that memory, so above 1,000 groups (PHONE_GROUP_CEILING,
with the measurement beside it) a phone or tablet gets the house text
"This needs a desktop or laptop computer." (poster.phoneLimitAll, as Country
Posters shows for whole India) and nothing starts. India alone (905) still
prints on a phone. A desktop is never blocked. Copy and CSV stay allowed.

The device test is isPhonePrint(), the same platform test the print path uses.
check:batch-selection-export arm A7 tests the ceiling both ways. Arm C checks that
Prayer list, Card deck and Poster each ask BEFORE they print, and arm D checks
the string ×11. Four mutants each fail.
2026-10-01 12:08:38 +00:00
..
adm0 my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
adjacency-proof.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
adjacency.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
adjacency.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
admin-counts.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
admin-membership.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
admin-to-list.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
apply-grouping-proof.mjs my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
apply-grouping.mjs my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
china-clusters.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
china-isolation-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
china-original-pre-09b-4.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
china-partition-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
clusters.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
clusters.source.md Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
color-isolation-proof.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
emit-china-clusters.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
emit-india-clusters.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
emit-india-states.mjs WIP P0b: India's states and union territories table (derived from admin-membership, served as an asset, sha384-pinned in the same emitter run), its loader, the tree allowlist row, and check:india-states (not yet registered) 2026-09-30 21:17:28 +00:00
emit-list-bounds.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
emit-uncovered-clusters.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
evaluator.test.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
gb-CHN-ADM1.geojson Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
gb-IND-ADM1-web.geojson Web-sized boundary copies: every feature and island kept, a fifth of the bytes 2026-09-27 03:25:59 +00:00
gb-IND-ADM1.geojson Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
generate-region-shades.mjs my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
india-clusters.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
india-isolation-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
india-partition-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
legend-tree.js my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
normalize.js UPG-100: imb_gsec arrives nested, so the packet lost half of every description 2026-09-28 16:09:12 +00:00
oceania-color-proof.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
palette-preview.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
partition-china.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
partition-india.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
partition-uncovered.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
pin-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
pip-proof.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
pip-stamp.mjs WIP P0b: India's states and union territories table (derived from admin-membership, served as an asset, sha384-pinned in the same emitter run), its loader, the tree allowlist row, and check:india-states (not yet registered) 2026-09-30 21:17:28 +00:00
pop-proof.mjs Delete the legend's never-returned parent nodes, and point its proof at the real parents 2026-09-29 10:38:56 +00:00
proof.sh Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
recache-full.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
recache-rop1.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
region-hue-proof.mjs my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
retag-adm1.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
search-index.js Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
selection-export.js UPG-100 batch selection: on a phone, a selection too big to print asks for a computer 2026-10-01 12:08:38 +00:00
selector-evaluator.js Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
set-zone-color.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
source-boundaries.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
tapestry-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
territory-counts.js UPG-100: an ADM1 territory always knows its country (the baked table split into India's 34 and China's 12, same data), so the regroup warning is right even for a territory whose feature did not say; gated 2026-09-30 22:35:31 +00:00
uncovered-clusters.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
uncovered-proof.mjs Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
upg-total.js UPG-100: one digit system per sentence, and no raw error after a failed load 2026-10-01 01:06:44 +00:00
visual-gate.mjs my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
zone-colors.js Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
zone-colors.json Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
zone-geometry.js Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
zone-resolves-proof.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
zone-sheet-print.js The generated sheets fetch their capitals and cities at print time, instead of every page bundling them 2026-09-29 06:23:20 +00:00
zone-sheet.js No 'driver' in any case: the capitals lines and code terms keep their meaning in other words 2026-09-29 10:38:56 +00:00
zone-title.js my-upg-100-list: neutral wording in comments and provenance notes 2026-10-01 00:23:55 +00:00
zones-for-list.js Keep the reason, drop the speaker, in the UPG-100 and Country Posters plugins 2026-09-29 09:10:26 +00:00
zoning-declarations.json No 'driver' in any case: the capitals lines and code terms keep their meaning in other words 2026-09-29 10:38:56 +00:00