diff --git a/README.md b/README.md index b05e56277..781f347ae 100644 --- a/README.md +++ b/README.md @@ -1,165 +1,80 @@ # dx-maps — one build, maps that embed everywhere -> **The map cruncher.** Many hand-built maps go in; one shared library, one repo and one build -> come out — and every map fans out to five deployment targets from the same artifacts. -> -> ```text -> map · map · map · map · map · map · map (7 production maps, once 7 codebases) -> \ \ | | | / / -> +----- plugin-designs/ ------+ one folder per plugin, free zone -> | -> library/ (@map) shared, parameterized, high-bar zone -> | -> ONE bun run build -> | -> doxa-maps/ (drop-anywhere tree: bundles + leaf pages + manifest.json) -> / | \ \ \ -> iframe JS-embed mobile WordPress desktop -> (proven) (proven) (built) (built) (built) -> ``` +**Write a map once in `plugin-designs//`, run one build, and drop it on any site** — +iframe, script embed, mobile app — or open every map at once as one app. Five plugin +capabilities, five deployment methods, one shared library, one build. -**A Vite bundler that turns each map into a self-contained web component.** Write a map in -`plugin-designs//`, run one build, and get a folder you can drop on any host — iframe it, -script-embed it, wrap it as a mobile app, or open every map at once as one app. +| What dx-maps set out to do | Proof | +|---|---| +| **One build → one folder** you can drop on any host | `bun run check:drop` | +| **Every map embeddable** from a copy-paste snippet | [deployment methods](#the-5-deployment-methods) · `bun run check:embed-targets` | +| **Every map interoperable** through props and events | `bun run verify:interop` | +| **One app nests every map** — and each stays embeddable on its own | [capability 5](#capability-5--app-shell-the-research-gallery) · `bun run check:composite-reg` | +| **5 capabilities × 5 deployment methods** | `bun run verify:5-caps` | +| **Shared library, private plugins** — reuse without breaking each other | `bun run check:library-index` | +| **Many agents, one green `main`** | [agent swarm](#build-it-with-an-agent-swarm) | --- -## What dx-maps is for — and how each objective is met +## The 5 plugin capabilities -Maps multiply a prayer movement only when they can live on *every* partner's site, not just one. -dx-maps exists to make that cheap. It set out to meet seven objectives; each one is met by something -you can open or run, not by a claim. +A capability is **how much a plugin nests**, from one element (1) to an app of apps (5). Every +screenshot is a real bundle from this repo's build. -| # | Objective | How it is met | See it / check it | -|---|-----------|---------------|-------------------| -| 1 | **One build → one folder.** Seven maps that were seven codebases become one repo and one build. | `bun run build` writes a single drop-anywhere tree, `public/doxa-maps/`, with a `manifest.json` describing every bundle. | `bun run check:drop` · `bun run check:settled` | -| 2 | **Every map is embeddable.** Any map, on any site, with a copy-paste snippet. | Each bundle is one custom element; `manifest.json` ships an iframe snippet and an SRI-pinned `