Files
404-Layers/reference
ncode 1a8a12f7f3 Phase 1: wrap the reference web app in Capacitor for Android
Wraps reference/sp404-layers as a sideloadable APK without editing the
reference, which stays the frozen spec for the Phase 2 React port.

- sync-www.sh builds www/ from reference/ + native/, asserting each patch
  anchor so a reference change fails loudly rather than shipping broken
- drops the service worker (would serve a stale app after an APK update)
- haptics via a navigator.vibrate override, so buzz() needs no change
- localStorage mirrored into Preferences; sync load()/save() untouched
- hardware back: sheet -> Explore tab -> exit
- edge-to-edge handled in MainActivity: Android 16 + targetSdk 36 removes
  the opt-out, and a WebView never fills env(safe-area-inset-*), so insets
  are pushed into CSS custom properties instead

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 00:26:35 +03:00
..

SP-404MK2 layers (PWA)

Static files only. Serve this folder over HTTPS (required for install and offline).

Quick options:

  • Nginx container behind Nginx Proxy Manager: mount this folder at /usr/share/nginx/html.
  • docker run -d --name 404layers -p 8404:80 -v $PWD:/usr/share/nginx/html:ro nginx:alpine, then add a proxy host in NPM with a Let's Encrypt cert.
  • Any static host (Cloudflare Pages, GitHub Pages).

On the phone: open the URL in Chrome, menu, "Install app" / "Add to Home screen".

Updating: edit files, bump V in sw.js, redeploy. The page is fetched network-first, so it updates on next open when online.