From 6baf6dba65f340c09cb5ca8ceda286c022dec849 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Tue, 29 Sep 2026 08:22:03 +0000 Subject: [PATCH] Keep the reason, drop the speaker, across all three plugins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 36 baselined references in gospel-internet (23), gospel-resources (9) and cities-internet (4) each wrapped a real engineering reason around an attribution. The reason is what a reader needs; the speaker is process vocabulary that does not belong in shipped text. Every one is rewritten in place, keeping the measurement and the date where they were there: "NUMERALS ARE HELD fleet-wide (2026-09-26)", "(2026-09-27: one more level of zoom-out was needed)", "Reported from use: it overlapped the bottom of the page". Where a quote carried the requirement, the requirement is now stated directly rather than quoted. Comment-only: 36 insertions against 36 deletions, one line for one line, and no built text changes. Route test passes — 0 files under library/ or internal/, so this self-lands rather than going through studio. Two things I nearly shipped by accident, both caught before committing: `git add -A` swept in a 1,961-line vite.config timestamp artefact from my own build, and editing the JSON meta through a parser reformatted "composes" from one line to three. The artefact is deleted and the JSON is edited as a string, so the diff is only what I meant to change. --- plugin-designs/cities-internet/connectivity-list.vue | 2 +- plugin-designs/cities-internet/connectivity-map.vue | 4 ++-- plugin-designs/cities-internet/data-tables.vue | 2 +- plugin-designs/gospel-internet/board.vue | 4 ++-- .../gospel-internet/scripts/build-language-tree.mjs | 2 +- .../scripts/check-gospel-internet-render.mjs | 2 +- .../gospel-internet/src/components/GiBoundedSet.vue | 2 +- .../gospel-internet/src/components/GiBoundedSetMap.vue | 2 +- .../gospel-internet/src/components/GiCenteredSet.vue | 6 +++--- .../gospel-internet/src/components/GiCenteredSetMap.vue | 4 ++-- plugin-designs/gospel-internet/src/components/GiCharts.vue | 2 +- plugin-designs/gospel-internet/src/components/GiMap.vue | 2 +- .../gospel-internet/src/components/GiRingLegend.vue | 2 +- plugin-designs/gospel-internet/src/components/GiTree.vue | 4 ++-- plugin-designs/gospel-internet/src/model.js | 4 ++-- plugin-designs/gospel-internet/src/nearRows.js | 2 +- plugin-designs/gospel-internet/src/treePoster.js | 2 +- plugin-designs/gospel-internet/src/useBoard.js | 4 ++-- plugin-designs/gospel-internet/src/zoneData.js | 2 +- plugin-designs/gospel-resources/data-tables.vue | 2 +- plugin-designs/gospel-resources/gospel-dashboard.meta.json | 2 +- plugin-designs/gospel-resources/gospel-dashboard.vue | 2 +- plugin-designs/gospel-resources/resources-map.vue | 6 +++--- .../gospel-resources/scripts/build-people-group-pins.mjs | 4 ++-- .../gospel-resources/scripts/fetch-doxa-people-groups.mjs | 2 +- 25 files changed, 36 insertions(+), 36 deletions(-) diff --git a/plugin-designs/cities-internet/connectivity-list.vue b/plugin-designs/cities-internet/connectivity-list.vue index 20bb43baf..e06c947d7 100644 --- a/plugin-designs/cities-internet/connectivity-list.vue +++ b/plugin-designs/cities-internet/connectivity-list.vue @@ -49,7 +49,7 @@ const profileConfig = inject('profileConfig', ref(null)) // The local fill() is gone with the guard: fillParams applies the same interpolation, except it leaves // a placeholder for a NULL value where this fill() rendered the string "null". const t = useOptionalT('connectivity') -// NUMERALS ARE HELD for the Driver (dx-shepherd, 2026-09-26): a locale-following format would switch +// NUMERALS ARE HELD fleet-wide (2026-09-26): a locale-following format would switch // 'ar' to Arabic-Indic digits. Until that is decided, numbers keep the browser-default format they // had before this pass; only the TEXT is translated. const num = (n) => (Number(n) || 0).toLocaleString() diff --git a/plugin-designs/cities-internet/connectivity-map.vue b/plugin-designs/cities-internet/connectivity-map.vue index 71a311d09..9d5470e8f 100644 --- a/plugin-designs/cities-internet/connectivity-map.vue +++ b/plugin-designs/cities-internet/connectivity-map.vue @@ -95,11 +95,11 @@ const adm1 = shallowRef(null) // { meta, byArea: { [adm1]: { name, wome const adm1Sex = ref('women') // which half of the survey the fill shows; both are in the sheet const selectedAdm1 = ref(null) -// ── People-group dots (Driver: "red dots on the map to show me where the people groups are") +// ── People-group dots — red dots showing where the people groups are // The DOXA list from pray-tools, the same list Prayer Progress draws. It carries the slug the // detail panel fetches by. The shared pin table (tables/people-group-pins.json) has no slug, // so its dots could not open that panel. -// Dark slate with a white ring (Driver 2026-09-28: the red dots looked wrong on the mostly green +// Dark slate with a white ring (2026-09-28: the red dots looked wrong on the mostly green // map). A neutral dark reads on every fill here, the green/amber/red/grey bands AND India's pale-to-deep // blues, and it carries no "good/bad" meaning the way red does on a map whose red means under 25%. // The white ring keeps it apart from the deepest blue and from the dark basemap. diff --git a/plugin-designs/cities-internet/data-tables.vue b/plugin-designs/cities-internet/data-tables.vue index 9a4cbe176..7a9c8f207 100644 --- a/plugin-designs/cities-internet/data-tables.vue +++ b/plugin-designs/cities-internet/data-tables.vue @@ -44,7 +44,7 @@ const assetsBase = computed(() => resolveAssetsBase(profileConfig.value)) // The local fill() is gone with the guard: fillParams applies the same interpolation, except it leaves // a placeholder for a NULL value where this fill() rendered the string "null". const t = useOptionalT('connectivity') -// NUMERALS ARE HELD for the Driver (dx-shepherd, 2026-09-26): a locale-following format would switch +// NUMERALS ARE HELD fleet-wide (2026-09-26): a locale-following format would switch // 'ar' to Arabic-Indic digits. Until that is decided, numbers keep the browser-default format they // had before this pass; only the TEXT is translated. const num = (n) => (Number(n) || 0).toLocaleString() diff --git a/plugin-designs/gospel-internet/board.vue b/plugin-designs/gospel-internet/board.vue index a59fff266..a66d3a059 100644 --- a/plugin-designs/gospel-internet/board.vue +++ b/plugin-designs/gospel-internet/board.vue @@ -134,7 +134,7 @@ watch(() => board.centre.value, (c) => { if (c === 'bounded') boundedEver.value = true if (c === 'centered') centeredEver.value = true }, { immediate: true }) -// The Driver's order: Language tree, Bounded set, Centered set, then Map. The centered-set +// The tab order is Language tree, Bounded set, Centered set, then Map. The centered-set // target waited for its data rather than shipping as an empty tab; ring and ringNb are // columns on near-neighbors.json now, so it is here. const CENTRE_TABS = computed(() => [ @@ -187,7 +187,7 @@ useShadowStyles( 'grid-template-columns:var(--facet-w,264px) minmax(0,1fr) var(--rail-w,360px);' + 'grid-template-rows:auto auto auto minmax(0,1fr) var(--table-h,38%);' + // The charts rail runs the full height beside the map AND the table: sized to the map row alone it was - // ~300px and clipped its four charts (rega, the Driver: "the charts don't look good"). + // ~300px and clipped its four charts (rega: the charts did not look good). 'grid-template-areas:"top top top" "combos combos combos" "note note note" "facets map rail" "facets grid rail";' + 'font:13px/1.35 Roboto,-apple-system,"Segoe UI",sans-serif;overflow:hidden}' + '.gb-top{grid-area:top;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:10px 14px;background:#fff;border-bottom:1px solid #d1d4cd}' + diff --git a/plugin-designs/gospel-internet/scripts/build-language-tree.mjs b/plugin-designs/gospel-internet/scripts/build-language-tree.mjs index 3e4b16a59..822208bc5 100644 --- a/plugin-designs/gospel-internet/scripts/build-language-tree.mjs +++ b/plugin-designs/gospel-internet/scripts/build-language-tree.mjs @@ -174,7 +174,7 @@ let ext = 1 for (const p of placed) ext = Math.max(ext, Math.abs(p.x) + p.R, Math.abs(p.y) + p.R) // The tapestry spans ~34% of the Mercator square. The engines stop at zoom 0 (the whole square), so the // smaller the drawing, the further a reader can zoom OUT from its opening view: at 68% there was about -// one level of room (Driver, 2026-09-27: "I need to be able to zoom out a bit more"); now there are two. +// one level of room (2026-09-27: one more level of zoom-out was needed); now there are two. const K = 0.17 / ext const toLngLat = (u, v) => { const X = 0.5 + u * K, Y = 0.5 - v * K diff --git a/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs b/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs index 32b201118..d2dd3ae40 100644 --- a/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs +++ b/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs @@ -84,7 +84,7 @@ try { } const en = await render('en') - // the Driver's default (2026-09-28): with no knob both legends start collapsed behind their "Legend" button + // the shipped default (2026-09-28): with no knob both legends start collapsed behind their "Legend" button const shut = await render('en', {}) ok(!/data-tree-legend|class="gim-legend"/.test(shut.html) && /class="gtr-min"/.test(shut.html) && /class="gim-legend-min"/.test(shut.html), 'en: with no knob, the tree and map legends start collapsed') diff --git a/plugin-designs/gospel-internet/src/components/GiBoundedSet.vue b/plugin-designs/gospel-internet/src/components/GiBoundedSet.vue index bfe735d83..876d97acd 100644 --- a/plugin-designs/gospel-internet/src/components/GiBoundedSet.vue +++ b/plugin-designs/gospel-internet/src/components/GiBoundedSet.vue @@ -62,7 +62,7 @@ const layout = computed(() => layoutBoundedSet(joined.value, { r: 120, spread: 2 const tally = computed(() => boundedSetTally(layout.value)) // formatCount, not toLocaleString(): a bare toLocaleString follows the READER'S BROWSER, // so one page could print 2,074 here and 2.074 in the panel beside it. formatCount holds -// en-US in one place until the Driver rules on numerals. +// en-US in one place until the numerals question is ruled on. // The `|| 0` stays: formatCount FORMATS and deliberately does not decide what empty means — // Number(undefined) is NaN, so handing it a missing count would print "NaN" where this has // always printed 0. The locale source changes; the empty policy does not. diff --git a/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue b/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue index da317ae19..8b2d75b8d 100644 --- a/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue +++ b/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue @@ -116,7 +116,7 @@ onMounted(async () => { // group, so it is filtered out by tier rather than by id. onClick: (id, f) => { if (f?.properties?.tier === TIERS.GROUP && id) openAndFrame(id, f) }, })) - // The cross marks the centre the boundary is drawn around — the Driver reported this chart had + // The cross marks the centre the boundary is drawn around — this chart was reported as having // none. Same geometry and the same call as the centered chart, so the two cannot drift apart. addCrossLayer(map, project, 'gbsm-cross') // The same ResizeObserver fit as the centered chart, and for the same reason: this panel is diff --git a/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue b/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue index 887f316a8..357037f7c 100644 --- a/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue +++ b/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue @@ -121,7 +121,7 @@ const arrows = computed(() => layout.value.placed .filter(Boolean).slice(0, 400)) // formatCount, not toLocaleString(): a bare toLocaleString follows the READER'S BROWSER, // so one page could print 2,074 here and 2.074 in the panel beside it. formatCount holds -// en-US in one place until the Driver rules on numerals. +// en-US in one place until the numerals question is ruled on. // The `|| 0` stays: formatCount FORMATS and deliberately does not decide what empty means — // Number(undefined) is NaN, so handing it a missing count would print "NaN" where this has // always printed 0. The locale source changes; the empty policy does not. @@ -189,7 +189,7 @@ useShadowStyles(