Parent: #121. ADR: docs/adr/0033-migrate-server-to-rust-web-to-svelte.md (private overlay)
Scope: web-svelte/ — Vite + Svelte 5 + TS + Tailwind v4 (tokens from current index.css, Obsidian Immersive unchanged). Client router (~9 routes). Port src/lib/api.ts verbatim (fetch wrapper + shared domain types + arrgh:unauthorized event, no hard redirect). App shell: sidebar nav (Library/Discover/Downloads/Settings), top bar, version display. Vitest + @testing-library/svelte set up.
Gate: web-svelte builds, shell renders, hits real /api/version.
Parent: #121. ADR: docs/adr/0033-migrate-server-to-rust-web-to-svelte.md (private overlay)
Scope:
web-svelte/— Vite + Svelte 5 + TS + Tailwind v4 (tokens from currentindex.css, Obsidian Immersive unchanged). Client router (~9 routes). Portsrc/lib/api.tsverbatim (fetch wrapper + shared domain types +arrgh:unauthorizedevent, no hard redirect). App shell: sidebar nav (Library/Discover/Downloads/Settings), top bar, version display. Vitest + @testing-library/svelte set up.Gate:
web-sveltebuilds, shell renders, hits real /api/version.