document the toolchain-free mobile contract check in both deploy tables

This commit is contained in:
doxa-maps-88655c70 2026-09-20 08:19:30 +00:00
parent cdfb895a9d
commit 3516a854b2
2 changed files with 15 additions and 3 deletions

View file

@ -167,7 +167,7 @@ Quick reference:
| # | Deploy method | Install first | Command(s) |
|---|---------------|---------------|------------|
| 1 | **iframe embed** | Bun | `bun install` → `bun run build` → `bun run serve` (or drop `public/doxa-maps/` on any host) |
| 2 | **Mobile (Android)** | Bun · Android SDK + `adb` · JDK 17 · Capacitor (devDep) | `bun run phone` |
| 2 | **Mobile (Android)** | Bun alone for `check:mobile`; Android SDK + `adb` + JDK 17 for the APK | `bun run check:mobile` (contract check, no toolchain) → `bun run phone` (full APK path) |
| 3 | **Direct-JS / dashboard** | Bun | `bun run build`, then paste the `<script src> + integrity` snippet from `manifest.json` |
| 4 | **WordPress** | Bun | `bun run build`, then install the `wordpress/doxa-maps-embed/` PHP plugin (shortcode + Gutenberg block) *(built + contract-proven via `bun run check:wp-embed`; not yet shot on a live WP install)* |
| 5 | **Desktop (Tauri)** | Rust + Tauri CLI *(not yet scaffolded)* | *aspirational — no Tauri code exists yet* |

View file

@ -44,7 +44,7 @@ The scripts these commands are grounded in (from this branch's `package.json`):
| # | Deploy method | Install first (prereqs) | Command(s) |
|---|---------------|-------------------------|------------|
| 1 | **iframe embed** | Bun | `bun install` → `bun run build` → `bun run serve` (or drop `public/doxa-maps/` on any host) |
| 2 | **Mobile app (Android)** | Bun · Android SDK + `adb` on PATH · JDK 17 (Gradle) · Capacitor (already a devDep) | `bun run phone` (= `apk:debug` build + `apk:install` to a connected device/emulator) |
| 2 | **Mobile app (Android)** | Bun ALONE for `check:mobile`; + Android SDK · `adb` on PATH · JDK 17 (Gradle) for the APK | `bun run check:mobile` (sync + webDir assertion, NO toolchain needed) · `bun run phone` (= `apk:debug` + `apk:install` to a device/emulator) |
| 3 | **Direct-JS / dashboard** | Bun | `bun run build`, then paste the `<script src> + integrity` (SRI) snippet from `manifest.json` |
| 4 | **WordPress** | Bun (+ `php` CLI to run the contract gate) | `bun run build`, then either paste the iframe/script snippet into a **Custom HTML** block, **or** install `wordpress/doxa-maps-embed/` (shortcode + Gutenberg block). `bun run check:wp-embed` verifies the emitted markup. *(Contract-proven; not yet shot on a live WP install.)* |
| 5 | **Desktop (Tauri)** | Rust toolchain + Tauri CLI *(not yet scaffolded)* | **Deferred POC** — no command exists on this branch yet. |
@ -81,9 +81,21 @@ external absolute base, set `embedBaseUrl` in the build config before building.)
so `bun install` covers them). A connected device or running emulator for install.
```bash
bun run phone
bun run check:mobile # CONTRACT check — needs NO JDK/SDK/device
bun run phone # full path — needs the toolchain above
```
**`check:mobile` is runnable anywhere.** `cap sync` is a file copy plus plugin wiring, so it
needs no Android toolchain at all; `cap:verify` then asserts
`capacitor/android/app/src/main/assets/public/index.html` exists. That guards the soft
failure `capacitor.config.json` warns about — *a wrong `webDir` yields an EMPTY
`assets/public` and a BLANK WHITE SCREEN at launch, not an error*. Verified 2026-09-20 with
`java`, `gradle`, `adb` and `sdkmanager` all absent: sync EXIT=0, 21 bundles staged,
`cap:verify` OK. Negative-tested by removing `index.html` — EXIT=1.
**Status: built + contract-proven; not shot.** The APK itself (`gradlew assembleDebug`) and
its launch on a device still need JDK 17 + the Android SDK + `adb`.
`phone` chains the whole path: `apk:debug` (which runs `bun run build`, then
`cap:sync` to copy the web output into the Android project, then `cap:verify`, then
`./gradlew assembleDebug`) and finally `apk:install` (`adb install -r ...`) onto the