Files
Lumotia/docs/architecture-map/01-frontend/pages-overview.md
jars a1f3f3f134 docs: architecture map (initial 5-slice generation, 105 pages)
Five-slice navigable map of the entire codebase under
docs/architecture-map/. Each slice is a self-contained
breadcrumbed sub-tree:

  01-frontend (16)              Svelte/SvelteKit UI
  02-tauri-runtime (26)         src-tauri commands + lifecycle
  03-audio-transcription (16)   audio + transcription crates
  04-llm-formatting-mcp (19)    llm, ai-formatting, mcp, cloud
  05-core-storage-hotkey-build  core, storage, hotkey, workspace,
                          (26) CI, dev glue

Plus master README.md and data-flow-end-to-end.md tracing
audio bytes from microphone to FTS5 search to MCP read.

Generated by 5 parallel subagents on 2026/05/09 against
HEAD 3c47000. Each page has YAML frontmatter, file:line code
refs, sibling cross-links, plain-English summaries.

Aggregated debt surfaced (full lists in master README):
RB-08 macOS power assertion, schema head drift v14 vs v15,
VAD blocked on ort version conflict, streaming primitives
not wired into live.rs, no prompt versioning, MCP has no
auth, cloud-providers in-memory keystore, SettingsPage
2 484 LOC, commands/live.rs 1 737 LOC, dual theme system,
brand rename to Lumenote pending across the codebase.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 14:04:13 +01:00

4.2 KiB

name, type, slice, last_verified
name type slice last_verified
Pages overview architecture-map-page 01-frontend 2026/05/09

Pages overview

Where you are: Architecture mapFrontend → Pages overview

Plain English summary. Magnotia has seven main window pages and three secondary window pages. The main window picks which to show by reading page.current (a string in the page store) and rendering the matching component. The secondary windows are routed by URL (/float, /viewer, /preview).

At a glance

  • Main window pages live at src/lib/pages/*.svelte (7 files, 6 232 LOC).
  • Secondary window pages live at src/routes/{float,viewer,preview}/+page.svelte (3 files, 1 361 LOC).
  • Switch site: src/routes/+page.svelte:18-32.
  • Driver store: src/lib/stores/page.svelte.ts:24-33 (page.current).
  • Possible values of page.current: "first-run" | "dictation" | "files" | "tasks" | "history" | "settings" | "shutdown". Plus the legacy "profiles" which is rewritten to "settings" (see README debt note 5).

Map of pages

Main window

Page File LOC One line hook
Dictation src/lib/pages/DictationPage.svelte 1 100 The hero recording surface. Streams partial transcripts via a Tauri Channel, runs the AI cleanup pipeline, paste/copy/export, extracts tasks, fills a template.
Settings src/lib/pages/SettingsPage.svelte 2 484 The configuration panel. Audio devices, vocabulary, profiles, templates, model management (Whisper + Parakeet + LLM), hotkey, rituals, nudges, accessibility, diagnostics.
History src/lib/pages/HistoryPage.svelte 974 Browse, search, play, edit, star, tag, export saved transcripts. Backed by SQLite FTS5.
Tasks src/lib/pages/TasksPage.svelte 725 Inbox/today/soon/later board with energy chips, lists, completion sparkline.
Files src/lib/pages/FilesPage.svelte 263 Drop or browse audio/video files. Calls transcribe_file.
First run src/lib/pages/FirstRunPage.svelte 337 Hardware probe (probe_system), model recommendation, model download. Auto exits to dictation.
Shutdown ritual src/lib/pages/ShutdownRitualPage.svelte 169 Evening wind down ritual. Triggered from the tray menu via magnotia:open-wind-down.

Secondary windows (URL routed)

Window label URL File LOC One line hook
tasks-float /float src/routes/float/+page.svelte 481 Detached pinned tasks window with quick add and list management.
transcript-viewer /viewer src/routes/viewer/+page.svelte 606 Transcript editor with synced audio playback and per segment editing.
transcription-preview /preview src/routes/preview/+page.svelte 274 Borderless overlay showing live transcription with copy and revert.

How navigation actually happens

  • Sidebar buttons set page.current directly (src/lib/Sidebar.svelte:24).
  • Some flows reach into page.current from outside the sidebar:
    • Hotkey press forces dictation: +layout.svelte:139, 181.
    • First run gate on mount: +layout.svelte:350.
    • Settings page "open evening wind down" button: SettingsPage.svelte:816.
    • Tray menu wind down event: +layout.svelte:251-254.
    • First run completion paths back to dictation: FirstRunPage.svelte:83, 139, 146, 155.
    • Implementation intentions store can route to tasks (implementationIntentions.svelte.ts:125, 136, 142).
    • Shutdown ritual exit: ShutdownRitualPage.svelte:67.
    • TaskSidebar "open tasks page" link: TaskSidebar.svelte:48.

Where the shell tucks pages in

The shell renders sidebar plus a single main slot: <div class="flex-1 overflow-hidden bg-bg">{@render children()}</div>. The optional task sidebar (page.taskSidebarOpen) can dock a TaskSidebar panel beside any main page that is not first run.

See also