Commit graph

1712 commits

Author SHA1 Message Date
Doxa Maps
70ea389db3 Docs: "reusable by default" in the library guides, and Deep Research by its name
- library/components/WARNING.md, library/dashboards/README.md and
  documentation/contributing/README.md taught "graduate into the library at the second
  consumer". They now teach the plugin-designer skill's rule (section 3): a component that
  could serve more than one map is built once in library/, driven by props, and landed through
  the build owner; one-off or experimental pieces stay in a map's folder; a new pattern is a
  pilot, then approved, then rolled out. The contributing guide's "full reasoning" link pointed
  to an index without it; it now points to the skill.
- The app shell doxa-maps-spa is labelled Deep Research. Ten docs still called it the Research
  Gallery (15 mentions): DEPLOY.md, the desktop how-to, embeddability, develop-a-plugin,
  reference-universal-props, reference.md, the shell's EMBED.md, and the plugin-designer skill
  with two of its references. Identifiers (doxa-maps-spa, branch and route names) are unchanged;
  README.md is not touched.
2026-10-01 08:27:04 +00:00
Doxa Maps
852437e981 Merge remote-tracking branch 'origin/development' into upg100/state-packet 2026-10-01 06:32:09 +00:00
Doxa Maps
31e5c3e5f9 UPG-100 batch selection: a state-only selection prints its Prayer list and Card deck
The packet and card-deck title named the selection's zones and countries only.
Since India's states bring people, a selection of states alone had no names, and
reduce() threw "Reduce of empty array with no initial value" at the reader.
selectionTitleNames (data/selection-export.js, pure) adds the states and union
territories that brought people. A province with no table is not named. A
selection that brought nobody (Mizoram or Nagaland alone) gives the keyed
"no people groups to print" instead.

check:batch-selection-export arm A6 tests it on the real served table: Gujarāt
alone is titled "Gujarāt", a state + a country names both, a province beside it is
not named, and Mizoram alone reads the keyed text. Its negative control shows the
old naming is empty and reduce() throws. The call site is pinned in arm C. Four
mutants each fail.
2026-10-01 06:00:55 +00:00
Doxa Maps
269226318d Merge origin/development (863174825) into studio/p-assembly 2026-10-01 05:57:02 +00:00
Doxa Maps
802d7b5b8a P assembly: the widened census, stated neutrally
The case-insensitive census with every plugin agent's name found 30 more lines: library (ProfileLoader,
useMapProvider, ApproxPinNote, listSelection, colocation), the gallery's embed-contract card id, the gospel
plugins' source notes and build scripts, a regions script note and one gate description. Comments and notes
only, except the Gospel x Internet CSV export's provenance line, which no longer names who screened the links.
2026-10-01 05:42:24 +00:00
Doxa Maps
42a444edb8 Posterverse: the home link's fallback label in the reader's language
With home-href but no home-label, VerticalTabsLayout falls back to labels.home,
which Posterverse did not pass, so every locale read the English default. The
shell now passes labels.home from its own strings in all 11 locales, the same
words the Research Gallery uses. A host's own home-label still wins.
2026-10-01 05:42:05 +00:00
Doxa Maps
32a9b41bc0 Posterverse: pass the host's homeHref / homeLabel to the layout
VerticalTabsLayout draws a host's "Back to homepage" link directly above
Collapse (the top of the drawer on a phone); the Research Gallery already
forwards it. Posterverse now accepts the same two props (or profile-config
homeHref / homeLabel). Both default to '', which draws no link, so every
existing embed is unchanged.
2026-10-01 05:42:05 +00:00
Doxa Maps
47c5c68c69 Merge origin/development into gospel/gi-csv-guard 2026-10-01 05:37:47 +00:00
Doxa Maps
77751ddcb6 Merge origin/development (53fcf6d09) into studio/p-assembly 2026-10-01 05:32:16 +00:00
Doxa Maps
315dc92a65 Merge remote-tracking branch 'origin/development' into wall-of-people-groups-plugin/work 2026-10-01 05:31:29 +00:00
Doxa Maps
cfab45ff97 Merge remote-tracking branch 'origin/development' into wall-of-people-groups-plugin/work
# Conflicts:
#	package.json
2026-10-01 05:19:07 +00:00
Doxa Maps
b6777218e3 Merge remote-tracking branch 'origin/development' into poster-design-plugin/zero
# Conflicts:
#	public/dx-maps/doxa-maps-spa/manifest.json
#	public/dx-maps/manifest.json
#	public/dx-maps/my-upg-100-list/my-upg-100-list.js
#	public/dx-maps/my-upg-100-list/poster-wall/index.html
#	public/dx-maps/my-upg-100-list/upg-100-list/index.html
#	public/dx-maps/my-upg-100-list/upg-100-mfe/index.html
2026-10-01 05:18:28 +00:00
Doxa Maps
289d31e3f4 Merge remote-tracking branch 'origin/development' into upg100/batch-tap
# Conflicts:
#	public/dx-maps/doxa-maps-spa/manifest.json
#	public/dx-maps/manifest.json
#	public/dx-maps/my-upg-100-list/my-upg-100-list.js
#	public/dx-maps/my-upg-100-list/poster-wall/index.html
#	public/dx-maps/my-upg-100-list/upg-100-list/index.html
#	public/dx-maps/my-upg-100-list/upg-100-mfe/index.html
2026-10-01 05:12:05 +00:00
Doxa Maps
9de5da9e4a Country Posters: the India section's header counts its states and union territories, not "countries"
The India section's cards are India itself, its 34 state and union territory posters and the two with none listed,
so "· 37 countries" was untrue. Through PosterWall's sectionItemCountKey, that section alone counts its state cards
(36, from the data) with countryPosters.indiaItemCount; every other section keeps the countries count.
The key in all 11 locales, in each locale's own plural forms (the same form counts as regions.countryCount).
2026-10-01 05:11:52 +00:00
Doxa Maps
d3ceb95711 Poster Design: Styles counts its sections in templates
The Styles wall passes item-count-key="posterDesign.templateCount", so a
section head reads "4 templates" where it read "0 people groups · 4
lists".
2026-10-01 05:10:55 +00:00
Doxa Maps
e38103149d Country Posters: previews for the 34 India state and union territory posters
Each state's sheet drawn from live records with the browser's own inputs (SPARSE 3x3, the indiaState series, the
served boundaries and places), shot in the shared browser at 3000 px, and reduced by make-previews.py to the 560 px
card thumbnail and the 1500 px download, as the country previews are. Every record pinned; every layout octilinear.
2026-10-01 01:03:51 +00:00
Doxa Maps
ddb7a4850c Country Posters: India is its own section, first, above Asia, counted once
India's country card, its 34 state and union territory posters and the two with none listed now share one section,
headed by India's name and counted once (855, through PosterWall's sectionTotal), which puts it above every regional
section. One line at the top of the wall says why India is set apart. Asia keeps every other Asian country.
check:country-sheet-one-path ARM E: the wall passes sectionTotal, India's card is in the India section, PosterWall's
default is still the card sum, and over the real data India comes first with 855 (India 855 > Asia 454 > Africa 314).
2026-10-01 01:03:50 +00:00
Doxa Maps
4de20daed6 P assembly: the last census lines, stated neutrally
The census on the assembled branches still found eleven comments that attributed a choice to a dated
request, quoted it, or spoke in the first person: pplr-data-maps (geocoder, pin card, pin indicator, tree,
families, religion, semantic trees), research-dashboard's ramp note, upg-100-list's funnel note, and two
dated QA tags each in countries-map and research-map. Comments only; behaviour unchanged.
2026-10-01 00:57:41 +00:00
Doxa Maps
e7a1c940ef P: merge 202a0244e 2026-10-01 00:56:03 +00:00
Doxa Maps
95a84b7775 P: merge 087e852c4 2026-10-01 00:56:03 +00:00
Doxa Maps
241e37b3c6 P: merge fd325336c 2026-10-01 00:56:03 +00:00
Doxa Maps
0f7d69918c P: merge bba382d9a 2026-10-01 00:56:02 +00:00
Doxa Maps
ab4461d46b P: merge e0ca45d6b 2026-10-01 00:56:01 +00:00
Doxa Maps
5a4611d291 P: merge af5ed4c27 2026-10-01 00:56:01 +00:00
Doxa Maps
6a8f6f6804 P: merge c1a2f3698 2026-10-01 00:56:01 +00:00
Doxa Maps
ea6ba0e126 P: merge 3aa3d8dde 2026-10-01 00:56:00 +00:00
Doxa Maps
a204752597 P: merge 2c397d25e 2026-10-01 00:55:59 +00:00
Doxa Maps
202a0244e2 Privacy: neutral comments in Country Posters (no quotes, date tags or agent names)
Comments only; behaviour unchanged. Each rewritten line keeps its technical fact and drops the attribution:
- design-note and brief quotations restated as plain design statements (country-poster-wall.vue, index.js,
  countries-map.vue);
- "(qa: <date> …)" tags and "user feedback / user reported" attributions removed (countries-map.vue);
- fleet agent names replaced by what was measured (countries-map.vue, country-posters-mfe.vue);
- series.json's India-state note: the approval date is gone; the wording stays the editable default.
2026-10-01 00:51:05 +00:00
Doxa Maps
087e852c4e Prayer Progress: the basemap-label comment states its reason without a pointer
Comments only. The pointer named a document that is not in the repository; the
reason is already stated in the sentence before it.
2026-10-01 00:49:02 +00:00
Doxa Maps
d8107decba Prayer Progress: comments state the reason, not who asked or when
Comments only. Eleven comments in doxa-simple-map.vue carried an agent name, a
"user request" / "user feedback" attribution, or a dated QA tag; each now keeps
its reasoning and drops the attribution and the date.

The built bundle changes only in the component's scope id (Vue derives it from the
source in production builds); every other token is identical, so behaviour is
unchanged. Source only: the assembler rebuilds.
2026-10-01 00:44:38 +00:00
Doxa Maps
2c397d25ef Source comments state design history and measurements as facts, without quoting or naming anyone
Comments in library/ and internal/ that quoted a person, attributed a decision to one, used first person,
named fleet agents or carried private host names now state the same technical fact in neutral words:
poster-render (including the comments it writes into generated posters), packet-render, the poster and
research scripts, PosterWall, DataTable, the legends, the layouts and the gates. The network-policy note
states the policy itself. Behaviour is unchanged: a few printed gate messages and reason labels drop an
agent name, the poster-render integrity pin follows its comment-only edit, and series.json changes only in
its _meta and _why notes. The historical poster design snapshots (library/scripts/posters/snapshots/),
which nothing reads, are removed.
2026-10-01 00:37:17 +00:00
Doxa Maps
3aa3d8dde6 doxa-research-map: drop qa date tags from comments
Remove the private-process (qa: date) provenance tags from four
comments, keeping each technical fact. Comments only; behaviour unchanged.
2026-10-01 00:35:26 +00:00
Doxa Maps
2d172a7735 cities-internet + research maps: finish neutral comments
Scrub remaining internal role names, quoted directives, person-tied
dates and first-person phrasing from comments in connectivity-list.vue,
build-adm1-internet.mjs, research-map.vue and research-map-plus-grid.vue,
keeping each technical fact. Comments only; behaviour unchanged.
2026-10-01 00:33:19 +00:00
Doxa Maps
848ea64b95 Wall of People Groups: the poster says up front that it is for a print shop, as a PDF
Every Bless size is 2-8 ft, paper no desktop printer takes, and the print dialog then shows a 3 ft
page with no hint of what to do with it. A note under the header (Bless mode) now says: "This poster
is for a print shop: in the print dialog, choose 'Save as PDF', then send the file to the print shop."

The sentence lives in a NEW catalogue area, wallPrint (11 locales), which only this bundle names, so it
ships in the wall's bundle and in no other (measured: 0 other bundles carry it; the shared wall area
ships in 9). Shown in en and ar at 1440.
2026-10-01 00:24:32 +00:00
Doxa Maps
fd325336cc Regions dashboard: comments describe measurements without naming who took them 2026-10-01 00:24:01 +00:00
Doxa Maps
e0ca45d6b0 my-upg-100-list: neutral wording in comments and provenance notes
Rewrites comments and the underscore-prefixed notes in data/adm0/PROVENANCE.json
so they keep the technical fact without quoting anyone, naming process roles or
speaking in the first person. Comments and doc keys only: with comments (and
_-keys) stripped, every changed file is byte-identical to its parent.
2026-10-01 00:23:55 +00:00
Doxa Maps
bba382d9af Comments only: neutral wording in research-dashboard, pplr-data-maps and the Research Gallery
Quoted remarks, attributions and person-tied dates in comments become plain statements of the same
technical fact, and the names of internal tools and roles become neutral descriptions of the check that
was run. No code, markup or style changes: the rebuilt bundles are byte-identical apart from Vue's
scoped-style ids, which hash each component's source, comments included.
2026-10-01 00:23:12 +00:00
Doxa Maps
8918d11c01 Wall of People Groups: desktop only; a phone gets the house notice instead of a poster it cannot finish
A 5 x 8 ft poster ran past 60 s on a phone without finishing, and no phone prints 3-8 ft paper. The
profile now declares mobile: desktop-only (SPEC-MOBILE-FLAG). On a narrow screen the shared screen
gate shows messages.desktopOnlyNotice ("... only supports desktop", all 11 locales) and never mounts
the wall: measured at 390, en and ar, no canvas and 0 photo requests. Desktop is unchanged (1440: the
wall mounts). The Research Gallery disables the tab on a phone, and Posterverse defers to the
child's own notice.
2026-10-01 00:22:31 +00:00
Doxa Maps
06a48a9b42 plugin-designs: neutral comments in shared/ownerless maps
Rewrite code comments across doxa-research-map, upg-neighbor,
research-map-plus-grid, rudder-voice, people-groups-grid, big-picture,
prayer-walk-planner and all-people-groups to drop internal role names
from measurement and provenance notes, keeping each technical fact.
Comments only; behaviour unchanged.
2026-10-01 00:22:13 +00:00
Doxa Maps
af5ed4c275 Gospel Resources and Gospel x Internet: comments state the technical facts in neutral terms, without attributions or agent names 2026-10-01 00:17:53 +00:00
Doxa Maps
c1a2f36983 Wall of People Groups: comments state what was measured without naming who measured it
Five comment lines in the Wall's sources named a fleet agent as the measurer. They now keep the
measurement and drop the name. Comments only; no behaviour changes.
2026-10-01 00:17:18 +00:00
Doxa Maps
35c68048e8 cities-internet, key-cities: neutral source comments
Rewrite code comments to drop quoted directives, person-tied dates,
internal process and role names, and QA run references, keeping each
technical fact intact. Comments only; behaviour unchanged.
2026-10-01 00:08:29 +00:00
Doxa Maps
6bc7d70bf3 Wall of People Groups: the poster prints from 20 MB of photos instead of 133 MB, and says how far along it is
The print waits for every card's photo before the print dialog can open. 77 of the 939 photos are IMB
originals at 1024 px (~1.5 MB each), 114 MB of the 133 MB: on a home connection a minute or more
with nothing on screen but a busy button.

- Photos load at the size they print (photoUrl.js): the IMB host's own 320 px copies (1.3 MB for all
  77). 320 px covers the largest printed photo (5 x 8 ft, ~0.97 in, 291 px at 300 dpi) and the canvas's
  cap. A resized copy that fails falls back to the original, in print and on screen. Every other photo
  (Joshua Project, doxa, already 150-250 px) is untouched.
- Measured on the print flow, 3 x 4 ft: 133 MB -> 19 MB; 5 x 8 ft: 20 MB; 0 photos failed.
- While it prepares, the shared print card (MapPrintProgress) shows "Preparing the poster: n of N
  photos" with a clock and a bar, in the middle of the screen.

check:wall-photo-weight (gates:pre, headless) pins the mapping on both IMB hosts, the fallback, the
untouched hosts, and that the print HTML and the canvas both use it. It fails when either reverts to
the originals.
2026-10-01 00:03:56 +00:00
Doxa Maps
1e300309c8 Country Posters: one poster for each of India's states and union territories
The unfiltered wall gains an "India — states and union territories" section: 34 cards, one per state or union
territory with people groups listed (from the shared india-states table, fetched and sha-checked only when the
section is shown), each with its poster, prayer packet and cards. Nagaland and Mizoram get a card saying no
unreached people groups are listed there, so no division silently disappears. A host's filtered wall
(countries/region) is unchanged and never loads the table.

src/indiaStateSheet.js draws a state's sheet through ONE path: its records by slug, its outline from the
ADM1 boundaries the renderer already loads (matched on shapeName; the shared collection is copied, never
mutated), India's hue, and the indiaState series ("India State Maps", map N of 34). Show on map for a state
frames India, since the countries map draws countries.

check:country-sheet-one-path grows the state arms: inside this plugin only the helper calls generateSheet,
the wall must use makeIndiaStateSheet, and over the served table + ADM1 file: 36 divisions, the 34 with groups
numbered 1..34 each with an outline, the rest named, the ADM1 collection unmutated. Self-test 10/10.
Rendered headlessly through poster-render for Gujarat (90 pins), Lakshadweep (1), Andaman and Nicobar (9):
the state's name as title, "India State Maps", its series position, no country-series text, no "Province".
2026-09-30 23:33:34 +00:00
Doxa Maps
2e6f6a59e6 UPG-100 batch mode: a tap on a people-group pin selects the territory under it and opens no detail sheet (the sheet covered the whole batch HUD on a phone, and in a dense state nearly every tap lands on a pin); outside batch mode pins behave as before. Gated; my-upg-100-list rebuilt with the tree and SRI 2026-09-30 23:17:20 +00:00
Doxa Maps
3f7d489409 Merge remote-tracking branch 'origin/development' into poster-design-plugin/land 2026-09-30 23:12:35 +00:00
Doxa Maps
111c17d499 Poster Design: draw the sample country sheet through makeCountrySheet
The Styles tab called generateCountrySheet directly and built the country
without its region, so the sample would have printed in the old flat teal
while the Country Posters wall prints it region-hued. It now draws through
the one shared path (library/packet/countrySheet.js), which carries the
region and computes the series the way the wall does; the inline series
arithmetic is gone. check:country-sheet-one-path passes.
2026-09-30 22:54:56 +00:00
Doxa Maps
28cb482c79 Merge remote-tracking branch 'origin/development' into wall-of-people-groups-plugin/work 2026-09-30 22:49:32 +00:00
Doxa Maps
0e069e5aaf Posterverse: Poster Design's ids are confirmed, and composes declares it
poster-design/poster-design-mfe is the id poster-design-plugin ships, so its row
is no longer provisional, and posterverse.meta.json composes it. This commit
must land in the SAME push as the poster-design bundle: without the bundle the
ref is unresolved (check:capability-derived) and check:posterverse-shelf fails
arm D; with the bundle and without this commit, arm D fails the other way.
2026-09-30 22:42:05 +00:00
Doxa Maps
c394533fc8 Research Gallery: Poster Design joins Prayer Mobilization
Prayer Mobilization now reads Prayer Progress, UPG 100 List Posters, Country Posters, then Poster Design.
The row mounts the Styles + Sizes composite (bundle poster-design, profile poster-design-mfe), uses the same
tab id as the Posterverse shell, and carries the same label and subtitle in all 11 languages. As a curated
row it never appears on the Experimental shelf.
2026-09-30 22:42:05 +00:00