- 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 |
||
|---|---|---|
| .. | ||
| app-wrappers.md | ||
| color-strategies.md | ||
| components.md | ||
| data-sources.md | ||
| embeddability.md | ||
| file-map.md | ||
| i18n.md | ||
| patterns-and-provenance.md | ||
| poster-generation.md | ||
| README.md | ||
docs/architecture/ — the deep end
Everything complex lives here, on purpose. The rest of the docs stay simple ("what it does"); when a simple doc says "full contract in architecture/…", this is where it points.
| Doc | What it holds |
|---|---|
| file-map.md | every file, one line each, with the gotcha each carries |
| data-sources.md | the api/ seam — connection contract + add-a-source checklist |
| color-strategies.md | the color-strategy contract + legend wiring |
| components.md | shared component catalog + shadow-DOM conventions |
| i18n.md | the locale contract + add-a-language checklist |
| embeddability.md | the generated per-map pages + manifest that make every map embeddable by default |
| app-wrappers.md | the SPA shell: nav.js + PROFILES contracts, bun run shell pipeline |
| poster-generation.md | the poster/preview generator pipeline |
| patterns-and-provenance.md | the two multi-map patterns in depth + where the design comes from |
Simple docs: ../why.md · ../tutorial.md · ../how-to.md · ../reference.md · ../explanation.md