doxa-maps/plugin-designs/gospel-internet
Doxa Maps c7edd82f9c Promote the set layouts to library, as one implementation
gospel's boundedSet and centeredSet move to library/components/charts, and every
importer follows in the same commit: gospel-internet's two components and the
gate. One implementation, no window in which someone edits the wrong copy.
gospel chose this over copying, for the reason the shared scatter already showed.

Two print-safe components come with them, adapted from gospel's rather than
written fresh: theirs fetch and hold board state, these take joined groups and
every label as props, so the packet and the board draw the same figure from the
same code. gospel's already inked their tallies and used no hover, so the
adaptation is the data path and the labels, not the drawing.

The labels had to change, and not for style: gospel's read T('gospelInternet.…'),
and a gospelInternet-namespaced key cannot resolve for another area's consumer,
so the packet would have rendered the English fallback in every locale. Labels
are props now.

Three invariants gospel gave me that the comments did not carry are pinned here:

No seed prop. Position is hashed from the group's own id, so a group lands in the
same place on every render, forever — two printings of one packet are identical
and a reader comparing sheets sees real movement rather than reshuffling. I had
specced a seed; it would have silently rescrambled every dot while the data was
unchanged, which on paper cannot be corrected. Asserted through the parser, and
adding one back turns it red.

Every ring is listed, empty ones included. Under a filter several of the nine go
to zero, and a decoder that omits its empty rows stops being a decoder: a reader
cannot tell "none here" from "this ring does not exist".

And an arrow is a claim about a relationship, so a group with no recorded
neighbour gets none rather than a default one toward the centre.

The unknown-is-counted rule is now in the module header where the next reader
meets it first, at gospel's request: a printed page has no hover, so a category
the reader cannot see is one they will assume is zero.
2026-09-28 16:49:01 +00:00
..
scripts 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
src Promote the set layouts to library, as one implementation 2026-09-28 16:49:01 +00:00
board.meta.json Gospel x Internet: the Studio rail names it 'Gospel × Internet' 2026-09-28 04:31:15 +00:00
board.vue Put the collapse guard on the host, where the rest of the fleet keeps it 2026-09-28 14:49:10 +00:00
gospel-internet.instances.json Gospel x Internet: 24 px hit area on the row checkboxes; the presets keep the coach-mark off 2026-09-28 02:03:11 +00:00
index.html Gospel x Internet board: a new plugin on the dashboard kit 2026-09-27 01:29:34 +00:00
index.js Gospel x Internet board: a new plugin on the dashboard kit 2026-09-27 01:29:34 +00:00