Commit graph

22 commits

Author SHA1 Message Date
Doxa Maps
6baf6dba65 Keep the reason, drop the speaker, across all three plugins
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.
2026-09-29 09:06:28 +00:00
Doxa Maps
c73a0be9da Shipped code cited a document nobody outside this machine can open
Seven comments across six files pointed at SPEC-GOSPEL-INTERNET-DASHBOARD, which
lives only in _qa-cycle: never cloned, never published. A reader of the public
source met a citation they could not follow, which is worse than no citation —
it implies the reasoning is written down somewhere they may look for.

The durable part is now plugin-designs/gospel-internet/README.md, written as
BUILT rather than as specced: the views and their shared URL state, the list
model and its fail-closed rule, the two set charts (rings, bands, the label
keep-out, fit vs fill-all and why band depth is the binding constraint), why the
charts fit their box, the data joins, the columns, and the gates that guard each
of those. Section 13's honesty rules are carried over close to verbatim, because
they are constraints on the product and not notes: pins are approximate, never
"reached", never who works where, internet figures are the country's, public data
only.

Two citations did not become README links, deliberately. The facet rail's quoted
a design INSTRUCTION ("comes from the kit; do not re-implement"), so the
instruction is kept and only the unreachable document name dropped — inventing a
README section to host it would be citing myself. board.meta.json's and the
instances file's now point at the README section that actually describes the
URL-state behaviour they depend on.

The instances file is edited through the JSON parser: my first attempt did string
surgery and put unescaped double quotes inside a string value, which JSON.parse
caught before it could ship.
2026-09-29 03:34:22 +00:00
Doxa Maps
e1221a503d Gospel x Internet: an always-on Glottolog credit; old links with map state still open the map 2026-09-28 01:49:44 +00:00
Doxa Maps
f0a3141133 Gospel x Internet opens on the language tree and its legends start collapsed 2026-09-28 01:36:32 +00:00
Doxa Maps
a44d88730f check:gospel-internet renders every panel in zh, ru and hi too
The production bar's cell E names en, ar, zh, ru and hi; the render check
measured two. It now server-renders the board in all five and requires
each panel to render with no error and the board's text to be the
locale's, not English.
2026-09-28 00:47:58 +00:00
Doxa Maps
5c811128f9 gospel-internet data carries no internal role vocabulary
The join table's never_read note said 'pending the Driver'; it now says
'pending a product decision' (check:public-hygiene, the giveaway's
white-label gate). Fixed in the builder that writes it.
2026-09-28 00:40:38 +00:00
Doxa Maps
570f521910 Gospel x Internet: a shared tree link restores its rows, and FCBH's verse scope counts
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
A ?tree= link applied its node as soon as the tree file loaded; if that was
before the rows, the node's on-board languages were the empty set and the
grid restored to 0 (rega F1). The node now applies once both have loaded.

The New Testament rule also reads FCBH's own verse scope (people-group-pins
codes[iso].au.vsc, 27 or 66 parts), gospel-plugin's pointer: green 128 ->
195. Kyrgyz (33 parts) and three languages with no scope stay yellow.
2026-09-27 19:42:03 +00:00
Doxa Maps
c65e1a5f9c Gospel x Internet shares a tree family by its id alone
A family click wrote ?tree=<id> AND its whole language list (hundreds of
codes for a big family), a link that breaks in chat apps and SMS. The
board's writer now runs after the kit's and removes 'language' while a tree
node is active; ?tree= alone restores the node and its languages.
2026-09-27 19:37:09 +00:00
Doxa Maps
6e41ef9fda check:gospel-internet derives the sub-ladder counts from the table
The OR-within-key assertion compared with typed numbers (57 + 806), which
break whenever the gospel pools are corrected (one is: 806 -> 518). It now
checks the rule against the table's own coverage report.
2026-09-27 18:57:56 +00:00
Doxa Maps
9296aa9cc6 WIP Gospel x Internet adopts the kit's useShareableView for its share links
Query mode, the published names as an alias map (links already shared
keep restoring), write only on our own leaves. The board's own writer now
keeps only view/group/panel/tree. NOT READY: an old multi-value link
(band=yes|partial) reads back as one value until the kit reads '|' on
parse; the model check pins that case and fails until it does.
2026-09-27 18:57:26 +00:00
Doxa Maps
71f524cd52 Gospel x Internet: translation readiness, from open data
For an AI or Bible-translation team choosing where a first New Testament
draft is feasible: per language, five named open signals, each cited and
licensed: Glottolog's most extensive description (CC BY 4.0), Scripture
books found (eBible), a language Wikipedia (CC BY-SA 4.0), Common Voice
validated speech hours (CC0) and FLORES+ (CC BY-SA 4.0). A dated snapshot
the build reads; no live fetch. The board shows 'Open data (of 5)', a
sortable column (with the signals in the CSV), a drawer section with each
signal and its source, and a line on the tree card. It is a count of named
facts, not a score. Codes that could not be mapped are listed (6 Wikipedia
codes), and the 31 languages Glottolog lacks read as unknown, never none.
Of the 736 languages with no New Testament found: 20 have 3+ signals.
2026-09-27 17:51:54 +00:00
Doxa Maps
da30333f6d Gospel x Internet interop: selection leaves as a link and an event; Gospel Resources' links arrive
Out: the grid's 'Open in Gospel Resources' opens the selected peoples in
resources-map by its ?groups= contract (DOXA slugs: all 2,107 of the
board's slugs are Gospel Resources' pin slugs; capped at 300). And every
committed selection is dispatched as a bubbling, composed
gospel-internet:selection event with codes (slugs, ISO 639-3, ISO 3166),
the host captured in setup. In: ?groups= arrives selected, ?codes= and
?code= narrow by language, exactly as Gospel Resources reads them.
2026-09-27 07:33:18 +00:00
Doxa Maps
af2e609ddb Gospel x Internet: four charts that each answer a question, and show the gaps
Each chart's title is its question, its subtitle says what a bar is and
counts, and a computed takeaway answers it in words. 1: what they have in
their own language. 2: the largest people groups with nothing in their own
language, by name (7 of the 8 largest on the roster are Deaf communities).
3: of those with nothing, how many live where the country is online.
4: which languages most need the New Testament, by people who speak them
(736 languages, 153 million people). The stacked chart, the social
platform chart and the app chart are gone: no readable answer, or not a
gap.
2026-09-27 07:20:11 +00:00
Doxa Maps
7f15a86ec0 Language tree: print it as a 3 x 3 or 4 x 4 ft poster
A vector SVG of the current selection, one sheet of the chosen size,
printed in place (library printInPlace) or downloaded for a print shop.
Every label is placed so that none overlaps another or covers a circle:
families on top of their dish, leaf names running outward like spokes,
the rest beside their dot, and a name that cannot fit is left off and
counted on the sheet. The poster has its own layout (build step), with
slots for languages only, because resources are catalogued per language:
671 of 858 languages named at 3 ft, 779 at 4 ft (all families), 0 overlaps.
check:language-tree measures both sizes.
2026-09-27 05:40:38 +00:00
Doxa Maps
a5078869dd Gospel x Internet: your selection, and combinations to run
A strip under the title shows what is selected, as the kit's removable
filter chips (the board is DashboardFilterChips' second consumer: it
provides selectionBus and dashboardConfig), with a language-tree node
named as the node, not its language codes. Beside it, seven combinations
a mobiliser would run, each with its live count for the current list:
nothing in their language in a country 60%+ online (220), hear but cannot
read in an online country, nothing in their language offline, in a
WhatsApp or a Telegram country, where a Deaf bridge exists, and India and
China. A combination is a filter set on the one bus, so the map, the
language tree, the charts and both tables all follow it.
2026-09-27 05:34:08 +00:00
Doxa Maps
cf0430291c Language tree: room to zoom out further
The tapestry is laid out at half its former size in the map's world square,
so from the opening view the reader can zoom out two levels instead of
one. Every zoom-dependent stop (dot sizes, label entry zooms, framing
limits) moves up one level with it, so the opening view looks the same.
2026-09-27 05:27:34 +00:00
Doxa Maps
13c9ad4763 Gospel x Internet credits Glottolog on the board
The language tree's source (Glottolog 5.2.1, CC BY 4.0) joins the board's
standing sources line and the CSV provenance, read from the snapshot's own
citation.
2026-09-27 02:26:09 +00:00
Doxa Maps
b125278f8a Gospel x Internet: the language tree and the gospel resources tab
Every language family of the board's people groups, drawn as a radial tree
(family, branches, languages, dialects) on a whiteboard, the families
packed like cells in a dish with no overlaps. Green: a New Testament or
full Bible found in the language; yellow: something found but no New
Testament; red: nothing found. A family shows the worst colour inside it;
a dialect carries its language's colour, lighter, because every source
catalogues resources by language. Click a circle to narrow the board to
it. The table under the centre gains a Gospel resources tab listing every
screened link for the languages in scope.

The tree is Glottolog 5.2.1 (CC BY 4.0), snapshotted to the languoids the
roster needs: 833 of 864 codes, the 31 IMB private codes kept under their
own node. The layout is computed at build time and drawn by the same map
engine the board already loads, so zooming out draws less and labels
never overlap.

check:gospel-internet now also measures the tree (complete, coloured by
its rule, no overlapping families) and server-renders every panel with the
real data in en and ar: profiles-mount never renders a profile's children,
and a throw planted in a panel passed it.
2026-09-27 02:24:52 +00:00
Doxa Maps
fbf1e115ca Gospel x Internet: the Platforms view
Which apps would carry a bridge-language resource into the countries in
scope: the top messaging app (Apple top-free, iOS only, a download rank)
and the top social platforms (StatCounter referrals, which cannot see
messaging) per country, never on one scale, each with its own source's
caveats. A country outside Apple's feed is 'not measured', never dropped.
The preset opens on the 220 groups with nothing in their own language in
countries 60% or more online.
2026-09-27 01:53:16 +00:00
Doxa Maps
61e1d417f6 Gospel x Internet reads each group's province from gospel-plugin
gospel-by-province-groups.json replaces this builder's own point-in-polygon
(which agreed with it group for group: 0 province changes on rebuild). One
assertion stays: the aggregate's groups sum to the per-group rows, so a
stale copy of one file beside a fresh other refuses to build. The rebuild
also inherits gospel-plugin's fix for 3 retired film links.
2026-09-27 01:46:01 +00:00
Doxa Maps
48866948af Gospel x Internet board: coded labels, its own gates, the built bundle
Every label built from a code falls back to readable English. check:gospel-
internet runs the model rules against the real table and the kit bus, then
every catalogue key the bundle names in all 11 locales; each half has a
poison arm. Built, tree regenerated, SRI in agreement.
2026-09-27 01:40:31 +00:00
Doxa Maps
802cccd66e Gospel x Internet board: a new plugin on the dashboard kit
One row per people group joining what the gospel sources hold in its own
language to how much of its country (or Indian state) is online. The join
builder refuses to write if any join drops a row or if its province
placement disagrees with gospel-by-province. Board, zero-access and
India/China views over one selection bus; facets, map on both engines,
charts, grid, drawer and CSV export.
2026-09-27 01:29:34 +00:00