doxa-maps/documentation
Doxa Maps 51ef6f7ec4 One phone flag per map, and the leaf page follows it as well as the Gallery
A map says how it behaves on a narrow screen once, in its <profile>.meta.json:
"mobile": "desktop-only" (blocked on a phone) or "larger-screens" (opens,
under a dismissible notice). Absent means phone-ready. Until now the rule
lived only in the Research Gallery, as two hard-coded id sets, so a map
opened standalone on its own leaf page on a phone got neither the block nor
the notice.

- profile-meta.mjs knows the vocabulary; generate-tree and the dev manifest
  carry the flag into each profile's manifest entry, and generate-tree into
  the leaf page's BASE_CONFIG (with the map's name for the desktop-only
  sentence).
- ProfileLoader mounts library/components/LargerScreenNotice.vue on a screen
  under 640px: for desktop-only the profile is never mounted and a centred
  message says why; for larger-screens a slim in-flow bar sits above the map
  (it cannot cover the map's controls), dismissible per profile for the
  session, in the element's own locale and direction. Inside the Gallery it
  stays quiet: every Gallery pane now carries data-doxa-gallery.
- One text: the Gallery's two sentences moved into the library catalogue as
  messages.largerScreenNotice / desktopOnlyNotice (+ noticeDismiss), all 11
  locales moved as they were, and the Gallery reads them from there.
- The Gallery derives its rules from the manifest's flags. On a phone it
  mounts nothing until the manifest has landed: its baked first tab (Big
  Picture) would otherwise mount there before the flags say it is
  desktop-only.
- dashboard-plus-grid is desktop-only and gospel-internet/board is
  larger-screens, the two sets the Gallery held; nothing changes for either.
- check:mobile-gating now asserts the vocabulary, that each flagged leaf page
  carries its flag, the Gallery's derivation and its closed-before-manifest
  rule, that Big Picture stays desktop-only, the 11 locales, and the
  notice's mounting. Its self-test plants one failure per rule.
2026-09-29 07:31:16 +00:00
..
architecture Delete useMapPacket.js: nothing imports it since both packets print through the shared HTML renderer 2026-09-28 06:44:14 +00:00
assets consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
contributing README: lead with the objectives, showcase the Research Gallery, teach the agent swarm 2026-09-24 18:34:02 +00:00
needs-eyes The partner-embed check becomes something a person can open 2026-09-26 00:47:12 +00:00
readme-images README shots: retake the 3 stale shots on b37138d7 2026-09-27 09:58:51 +00:00
screenshots consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
CLOUD-DEVELOPMENT-ENVIRONMENT.md A laptop that follows the table says when it needs credentials, and the last main defaults say development 2026-09-29 00:59:14 +00:00
CONTRIBUTING.md CONTRIBUTING: source and build output as two commits in one push (not two pushes), with the two exemptions 2026-09-28 13:05:56 +00:00
DEPLOY.md README + DEPLOY: no links into private repos; the web folder's size is measured by a gate 2026-09-29 05:26:25 +00:00
develop-a-plugin-and-see-it-live.md README: three outputs, not five methods; a Languages section; screenshot gates see every shot again 2026-09-25 19:40:03 +00:00
explanation.md consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
how-to.md Decouple prose: no go-base / nuxtbase / nuxtinator / doxa-base names in plugin comments and docs 2026-09-26 17:28:45 +00:00
HOWTO-build-the-desktop-app.md bun run desktop:build <plugin> packages a desktop plugin as an app; check:targets keeps non-web plugins out of the web build 2026-09-28 06:44:14 +00:00
HOWTO-join-the-table.md A laptop that follows the table says when it needs credentials, and the last main defaults say development 2026-09-29 00:59:14 +00:00
HOWTO-which-gates-need-a-browser.md documentation: the browser guard, and ask the repo rather than grepping 2026-09-28 09:07:30 +00:00
PRESET-PLUGIN-STANDARD.md A preset keeps its profile's defaults: instance props merge over the meta config instead of replacing it 2026-09-28 03:12:45 +00:00
README-embed-example.md consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
README-embed-gospel-resources.md The map learned to name peoples, not just their languages 2026-09-27 02:40:12 +00:00
README-SECTION-3-cli-commands.md Docs: an iframe updates itself; a script embed's integrity hash pins the bytes, so re-copy it after each release 2026-09-26 02:07:14 +00:00
README.md The embed contract, written down for partners 2026-09-26 17:24:55 +00:00
reference-capability-exemplars.md Three post-landing gates green again: the library index, the capability table, Path2D 2026-09-29 02:35:35 +00:00
reference-library-index.md One phone flag per map, and the leaf page follows it as well as the Gallery 2026-09-29 07:31:16 +00:00
reference-universal-props.md List names speak the reader's language: listLabel and listDefinition 2026-09-26 08:39:52 +00:00
reference.md One server for a site and its maps: bun run dropin, and the drop-in goes straight into the site's public/ 2026-09-29 03:03:51 +00:00
THIRD-PARTY.md Doc audit: five stale claims a newcomer would have acted on 2026-09-28 03:40:55 +00:00
tutorial.md Docs: every build line a reader copies now carries BUILD_ALLOW=1 2026-09-25 03:07:52 +00:00
vendored-font-noto-serif-devanagari.md Move the vendored font's README out of the served folder 2026-09-24 04:15:26 +00:00
vendored-fonts.md Every vendored font ships its own licence 2026-09-28 01:30:47 +00:00
why.md consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00

documentation/ — pick your path

        "what is this?"          "teach me"        "how do I …?"       "look it up"      "all the detail"
             │                       │                   │                  │                  │
         why.md  ──────────►  tutorial.md  ────►  how-to.md  ────►  reference.md  ───►  architecture/
        (2 min, 1 diagram)   (first map)         (task recipes)     (tables)           (contracts)
  • why.md — the problem and the "map islands" idea. Start here.
  • tutorial.md — build your first map, no jargon.
  • how-to.md — recipes: embed, iframe, SPA, colors, CDN, mobile, tokens.
  • reference.md — config fields, build scripts, the profile-config contract.
  • explanation.md — the model in 15 lines.
  • architecture/ — the deep end: full contracts, the per-file catalog.
  • README-embed-example.md — the drop-in README used when this bundler is embedded inside a host repo.
  • README-embed-gospel-resources.md — the gospel map's URL contract for partner embeds: bring your own ISO 639-3 list, one country, one group, or the zero-access view.

Working on the repo:

Nothing on the simple path is longer than a few minutes; everything complex lives in architecture/, linked from where you'd need it.