This commit is contained in:
parent
8e71537d57
commit
fcc18ddcc8
96 changed files with 8074 additions and 214 deletions
36
README.md
36
README.md
|
|
@ -1,27 +1,49 @@
|
|||
# Lumen — offline-first festival PWA
|
||||
|
||||
Stage 1 foundation only. No feature code per `IMPLEMENTATION-CONTRACT.md`.
|
||||
Implementation is complete through Stage 8 (A/B activation). UI feature views and transport orchestration remain staged work per `IMPLEMENTATION-CONTRACT.md`.
|
||||
|
||||
- **Validated architecture:** `ARCHITECTURE-VALIDATION.md` (SPIKE-01…08 reconciled)
|
||||
- **Contract:** `IMPLEMENTATION-CONTRACT.md` — single source for implementation rules, boundaries B-1…B-7, invariants I-1…I-17
|
||||
- **Stage 1 work:** dedicated git repo + TypeScript strict + lint/format + directory structure + import boundaries + CI + boundary tests
|
||||
- **No PWA / IDB / sync / mesh / accounts yet** — see contract Stages 2…19
|
||||
- **Implemented:** strict TypeScript foundation, PWA shell/service worker, package schema and pipeline, IndexedDB A/B persistence, signed-package verifier, and activation/rollback coordinator
|
||||
- **No transport/network orchestration, mesh, or accounts yet** — see contract Stages 9…19
|
||||
|
||||
## Quick start (Stage 1)
|
||||
## Quick start
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run typecheck # tsc --noEmit strict
|
||||
npm run lint # eslint with boundaries B-1…B-7
|
||||
npm run format # prettier --check
|
||||
npm test # vitest — boundary tests
|
||||
npm run ci # typecheck + lint + format + test
|
||||
npm test # vitest — unit and contract tests
|
||||
npm run ci # typecheck + lint + format + test + build
|
||||
```
|
||||
|
||||
## Project structure
|
||||
|
||||
See `IMPLEMENTATION-CONTRACT.md §4` and per-directory `README.md`.
|
||||
|
||||
## Navigation
|
||||
|
||||
The desktop shell uses a fixed 240px sidebar on the left. It contains five large,
|
||||
evenly spaced vertically stacked navigation buttons:
|
||||
|
||||
- **HOME** — the launcher landing page at `/`, showing a centered 2×2 grid of the four
|
||||
destination tiles.
|
||||
- **EMERGENCY** — the emergency destination and retains its red (rose) background.
|
||||
- **SCHEDULE** — the existing schedule route and functionality.
|
||||
- **MAP** — the existing map route and functionality.
|
||||
- **INFORMATION** — the navigation label previously shown as **FESTIVAL**; the existing
|
||||
`/festival` route and page functionality remain intact.
|
||||
|
||||
The root route `/` boots into the home launcher (no redirect). On every destination
|
||||
page, the header brand ("LUMEN") acts as a home/back button — it is highlighted with
|
||||
a leading chevron and returns to the launcher in one tap.
|
||||
|
||||
The sidebar preserves the SolLunar deck aesthetic, thin borders, typography, and
|
||||
visual hierarchy. On smaller screens it becomes a responsive fixed bottom navigation
|
||||
bar. All routes, one-tap emergency access, active-route state, and navigation
|
||||
behavior remain unchanged.
|
||||
|
||||
## Branches
|
||||
|
||||
- `main` — validated architecture + Stage 1 foundation (YELLOW device/content/ops gates tracked in `ARCHITECTURE-VALIDATION.md §7`).
|
||||
- `main` — validated architecture plus implemented stages (YELLOW device/content/ops gates tracked in `ARCHITECTURE-VALIDATION.md §7`).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue