Commit graph

81 commits

Author SHA1 Message Date
doxa-maps-88655c70
2d64e21fbf 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
doxa-maps-88655c70
1a3925c6a6 Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) 2026-09-17 18:18:18 +00:00
swift-river542
47b70e4f6f Tab spacing lands the fourth tab on the page's centre line
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-09-17 02:45:51 -05:00
swift-river542
daa32d4c58 Research tabs read at 15px; the status red is a step brighter
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 02:38:38 -05:00
swift-river542
d4c0521e2e Research tabs: the selected word stands clear of the rest and its stage is easier to see
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 02:28:01 -05:00
swift-river542
d3c2fa732f Research tabs: slim stage under the selected word, quieter unselected text, spacing tuned so Regions sits on the centre line
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 02:17:01 -05:00
swift-river542
84bd691a91 Keep the rounded clip above the canvas: clipping Mapbox's canvas broke rendering
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 02:11:49 -05:00
swift-river542
11916ffb9c Research tabs: bold word with a sage stage beneath; the map canvas carries the rounded clip itself
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 02:07:10 -05:00
swift-river542
f6c86be7a9 Share menu: the multiplication steps read at 14px
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 01:59:02 -05:00
swift-river542
3d500a9e78 Rebuild bundles: canvas clip, status red
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 01:56:36 -05:00
swift-river542
79fb77abd6 Rebuild bundles: canvas corners
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 01:26:22 -05:00
swift-river542
d92318e620 Rebuild bundles: gallery base, canvas corners
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-17 01:06:08 -05:00
swift-river542
9c628e6dfb Rebuild bundles: pin invitation per visit
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 23:23:50 -05:00
swift-river542
98496ff7f9 Rebuild bundles: tappable attribution
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 23:19:19 -05:00
swift-river542
4d96f949c0 Rebuild bundles: phone search band, Share menu
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 23:03:24 -05:00
swift-river542
0bad29434d Rebuild bundles: shared control menu
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:47:42 -05:00
swift-river542
620cd54c3d Rebuild bundles: share menu next to its button
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:35:14 -05:00
swift-river542
04f57920c3 Rebuild bundles: share menu inside the map
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:31:52 -05:00
swift-river542
ac8ea64bd6 Rebuild bundles: compact share menu
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:17:57 -05:00
swift-river542
5411bc3de2 Rebuild bundles: share menu z-order and placement
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:15:39 -05:00
swift-river542
cb57fd6ed7 Rebuild bundles: image offset, gutter width
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:08:48 -05:00
swift-river542
403bfe72d4 Rebuild bundles: watermark above the collapsed strip
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 22:04:25 -05:00
swift-river542
7c6dada1d7 Rebuild bundles: phone controls back to their gutter-aligned geometry
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:56:49 -05:00
swift-river542
3ee5c41e70 Rebuild bundles: attribution watermark
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:54:47 -05:00
swift-river542
b95662d482 Rebuild bundles: phone sheet rows full width, one attribution row
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:38:29 -05:00
swift-river542
9fa5b26ae3 Rebuild bundles: phone attribution bottom-right
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:28:09 -05:00
swift-river542
39f21625fe Rebuild bundles: prayer yellow scoped
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:22:25 -05:00
swift-river542
c0d8676d24 Rebuild bundles: prayer yellow
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:20:14 -05:00
swift-river542
c33681ff9c Rebuild bundles: tab label
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:13:37 -05:00
swift-river542
01619c8a94 Rebuild bundles: tab label
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:10:25 -05:00
swift-river542
2157e948b7 Rebuild bundles: religion tab night
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:02:49 -05:00
swift-river542
742a9481f7 Rebuild bundles: simple map night on all tabs
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 21:00:57 -05:00
swift-river542
c0b05d30d6 Rebuild bundles: embed link tab, rotating ring
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 20:57:53 -05:00
swift-river542
445029677f Rebuild bundles: tab-driven basemap look, 380px legends
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 20:52:00 -05:00
swift-river542
1ae532481f Rebuild bundles: export button hidden
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 20:35:34 -05:00
swift-river542
388d04fe75 Rebuild bundles: share menu steps
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 20:25:00 -05:00
swift-river542
38bee2fdaf Rebuild bundles: share button ring
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 20:21:52 -05:00
swift-river542
b7d91e9aca Public data ships without working notes; unused data files stay out of the drop-in
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
- data/ tables and the people-groups file: meta blocks reduced to provenance (source, url,
  downloaded, rows, grain, attribution); the link-verification table keeps only state and detail
  per link; generators write the same shape
- dropin.exclude in the build config: people_groups.csv, open-doors.json, platform-reachability.json
  and tables/index.json are not shipped (nothing loads them); sync-dropin honours it
- public-hygiene --strict flags note-style meta keys in shipped data
- Rebuilt bundles and gallery
2026-09-16 20:16:08 -05:00
swift-river542
063680bb4a UPG-100 bundle ships only the cluster lists from clusters.json
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
- upg-100-list and poster-wall import the three list arrays by name, so the data file's
  bookkeeping fields no longer end up in the bundle
- Share pages: one comment shortened
2026-09-16 18:30:23 -05:00
swift-river542
12d1fee133 Public build folder is three entries: index.html, assets/, doxa-maps/
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
- index.html is generated by internal/generate-spa.mjs from doxa-maps/manifest.json: one
  self-contained page that lists every bundle, profile and instance, mounts the chosen one,
  and offers Open page / Copy embed; build ends with `bun run spa` (the material shell is no
  longer installed; nav.js, icons.js, languages.js, pane-wrapper/, external/ and _headers
  leave public/)
- The website drop-in follows the same contract: dropin.include in the build config,
  sync-dropin --from-config --prune, public-hygiene --strict fails on any other root entry
- Production bundles no longer carry CSS comments: a build-only Vite plugin strips them from
  every shadow-style block (about 140 per map bundle, 5% smaller); remaining comments reworded
- Share pages and the pin renderer drop their note-style comments
2026-09-16 18:23:14 -05:00
swift-river542
7f6c2286f9 Legend table columns no longer overlap: numeric columns scale with the type
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
- SemanticTreeLegend: the UUPGs/Population columns were a fixed 44px, sized for the old
  9px header / 10.5px numbers; at the desktop scale "POPULATION" collided with "UUPGs"
  and "139.0M" spilled into the neighbouring column. Base column is now 60px, desktop
  76px (header 10px, numbers 13.5px, no wrapping)
- The panel follows --map-legend-width like the detail card and the geocoder pill; the
  research map's wide-host legend is 400px so "Full Prayer Coverage" stays on one line
- New probe: `bun run probe:legend-columns` measures cell boxes vs real text extents and
  fails on any spill or overlap (desktop and phone sheet)
2026-09-16 17:34:21 -05:00
swift-river542
011d686286 Rebuild bundles: prayer legend progress bar, desktop legend type scale, mobile sheet fixes
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 16:42:39 -05:00
swift-river542
fb1882420f Rebuild the served tree (basemap pin)
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 15:11:47 -05:00
swift-river542
1c86528892 Rebuild the served tree (badge, long-frames)
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 14:40:40 -05:00
swift-river542
7599e2a1a0 Rebuild the served tree after merging the all-people-groups bundle
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-16 12:13:11 -05:00
swift-river542
a876e5e97b Host-agnostic share links, token-endpoint chain, dev playground as reusable modules, share/asset gates, validated profile-type vocabulary
- ShareButton resolves its link from where the bundle is hosted (profile-config.shareUrl ->
  embedBaseUrl -> window.MAP_EMBED_BASE_URL -> the bundle's own script URL); profiles pass
  tree-relative embed pages, so links work in the playground, on doxa.life and on any CDN
- Generated leaf pages try token endpoints in order (override -> configured absolute URL ->
  same-origin) and only then offer the paste-once box; build config points at the canonical
  https://doxa.life/api/maps/token
- Dev playground extracted from vite.config.js into internal/playground/{discover,render,dev-plugin}.mjs;
  serves /assets/* like the built site so data-driven maps initialise; passes assetsBase +
  shareUrl to every element; header ladder with a Start-here primer and the five kinds of
  mounting files (single-element, preset-element, multi-view-element, composite-element, app-shell)
- New gates: smoke:playground (every element boots, with status text + data diagnostics),
  smoke:share (Share URL resolves and reopens the same map), sync:dropin (mirror public/ into a
  host checkout, never credentials), deploy:dev (build + sync)
- MapToolbar + ShareButton on every map profile; UPG-100 composite (map + prayer lists) on the
  pane layout; shared --map-radius token consumed by the legend components
- docs/reference.md: profile types table, profile-config assetsBase/shareUrl/embedBaseUrl, gates
2026-09-16 12:10:38 -05:00
doxa-maps
22eb9205a0 All People Groups: the whole task around the DOXA assignment (new bundle)
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
Every people group on earth (peoplegroups.org, 12,379 group-country rows) in
four colors: BLACK doxa (live ROP3 match vs the prayer API), RED frontier
(GSEC 0-1), YELLOW unreached (GSEC 2-3), GREEN reached (GSEC 4-6). Clickable
legend filters a category and fits the view to all of it; popups carry GSEC,
language, religion; DOXA dots link to pray with utm attribution. Uses the
shared static dataset + the standard pray-tools pipeline; renders fully by
GSEC even if the API is down. Wired into the SPA nav (the 'soon' placeholder
is now a real map) + deep-link preload. Smoke: mounts with live canvas.
2026-09-16 07:34:08 +00:00
doxa-maps
a5214fd48c Research map: all six tabs live again (typeof-null trap x3)
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
An API record with rop1:null passed 'typeof x === object' (null is 'object' in
JS) and read null.label — killing the component on the first semantic tab and
leaving every later tab dead. Null-guarded all three extractors in the affinity
tree builder; SemanticTreeLegend additionally prunes null nodes at its prop
boundary (defense in depth, warns on data holes). Headless verification:
Prayer/Engagement/People Groups/Regions/Languages/Religions all render with
live canvases.
2026-09-16 05:40:40 +00:00
doxa-maps
9c521f11d5 Public builds carry zero platform surface + copy-embed on staging
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
- Compile-time gate __DOXA_QA__ (default off): the QA corner and every string
  it carries are dead-code-eliminated from public bundles; platform builds
  opt in with DOXA_QA=1. Shell QA becomes ?qa=1 opt-in. Audit: zero platform
  strings across all bundles + shell.
- One Mapbox wordmark per page (first live map claims it; released on destroy).
- Coach-mark points at the need: 'Tap a red dot — someone still needs prayer.'
- Pray-click glow: locally-prayed groups render as Has Prayer for that visitor
  (localStorage, 7-day TTL) — lasting glow comes from the real signup via the API.
- Staging forge gains 'copy embed': snippet built at click time from
  location.href, so it carries the FULL URL of whatever host serves the tree.
2026-09-16 05:13:44 +00:00
doxa-maps
3fee91a193 Release governance: field-access data is private, never shipped
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
data-private/ is born: datasets whose publication could help close doors stay
out of the web-root and out of public repos, permanently. field-access-visas
moved there; the tables index no longer lists it; the key-cities Field Access
tab is removed from the public build; the table generator routes it (and any
future PRIVATE_TABLES entry) to data-private/ and excludes it from the index.
Public-good data (internet gaps, gospel-resource gaps, people-group pairings)
ships as before.
2026-09-16 04:34:33 +00:00