diff --git a/landing/README.md b/landing/README.md index bffda766..b96dc238 100644 --- a/landing/README.md +++ b/landing/README.md @@ -6,57 +6,42 @@ The public landing page. A separate Vite project that shares Zuno's look but non cd landing npm install npm run dev # http://localhost:5173 +npm run check # the *.check.ts self-checks npm run build # -> landing/dist ``` -## Why it is its own project - -The desktop app's Vite config has fixed Rollup inputs (`index.html`, `mini.html`), a strict dev -port Tauri depends on, and a `src-tauri` watcher. Adding a third entry point would tie a public -website's release cadence to the app's, and a stray import could pull `@tauri-apps/*` into a -bundle that has no Tauri runtime under it. - -Nothing here is reachable from the app: its `tsconfig` is `include: ["src"]` and its Rollup -inputs are the two HTML files above. Running `npm run build` in either directory leaves the -other untouched. - -## What is shared, and how - -- **Colour tokens** — `src/styles.css` carries a byte-identical copy of the app's `@theme` - block and its `html[data-theme="light"]` overrides. Copied rather than imported, because - `src/ui/styles/global.css` also contains window rounding, titlebar heights and Paper-PC rules - that a website has no use for. If the brand shifts, change both. -- **Component shapes** — `src/components/ui.tsx` reproduces the app's primary/secondary pill - buttons and its `rounded-2xl bg-card/50` section card, so the page and the product read as one - thing. -- **Icons** — OS marks come from Iconify's `logos` set via `@iconify/react`. Iconify normally - fetches at runtime and the full set is 7.4 MB, so the four marks actually used are extracted - into `src/components/brandIcons.tsx` and registered up front — no request, no pop-in. - `@iconify-json/logos` stays a devDependency as the source of record; regenerate that file from - it if a mark changes. The handful of UI glyphs are hand-rolled in `src/components/icons.tsx`. -- **Screenshots** — copied into `public/` from `docs/`. Re-copy them when the app's shots are - refreshed: - - ```bash - cp ../assets/img/Logo.png public/logo.png - cp ../docs/zuno-d.PNG public/screenshot-dark.png - cp ../docs/zuno-l.PNG public/screenshot-light.png - ``` +It is its own project so the website can ship on its own schedule, and so no stray import can +pull `@tauri-apps/*` into a bundle with no Tauri runtime under it. -## Downloads +## The demo player + +The page plays one track (`public/low-tide.mp3`), and only when someone presses play. +`src/audio/demoPlayer.ts` owns it: one `