From 681a9b26dcce5d5611ddcc8b60ebf65802f385b1 Mon Sep 17 00:00:00 2001 From: Jake Date: Wed, 13 May 2026 12:29:37 +0100 Subject: [PATCH] =?UTF-8?q?agent:=20lumotia-rebrand=20=E2=80=94=20frontend?= =?UTF-8?q?=20strings=20(svelte=20+=20i18n=20+=20design-system)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 8 of the rebrand cascade. Every rendered string is now Lumotia; no Magnotia surface visible in the UI. Sweep replaced \bmagnotia\b -> lumotia and \bMagnotia\b -> Lumotia across all .svelte / .ts / .js / .css / .html / .json (excluding package-lock.json which regenerates, target/, build/, node_modules/). Surfaces touched: - src/app.css — design-token comment header and .magnotia-rh-* CSS resize-handle class selectors (also the consuming elements in components/ResizeHandles.svelte and src/routes/*/+layout.svelte). - src/lib/i18n/locales/{en,de,es}.json — brand name in translations. - src/lib/i18n/index.ts — header comment. - src/lib/Sidebar.svelte and most pages under src/lib/pages/ + src/lib/components/ — title bars, document titles, default filenames (lumotia-YYYY-MM-DD.* etc), toast strings, error messages, dialog headers. - src/routes/+layout.svelte, +page.svelte, viewer/, float/, preview/. - src/app.html page . - src/lib/utils/settingsMigrations.ts — fallback toast copy. - src/design-system/{colors_and_type.css,SKILL.md,README.md, ui_kits/{Sidebar.jsx,index.html}} — design-tokens, doc strings, preview wordmark in the kit. - package.json — name + description. NOT touched (deferred / immutable): - package-lock.json — regenerates on next npm install. - The two migration-call sites in stores reference the legacy magnotia keys deliberately; restored after the sweep clobbered them. - docs/, README.md, HANDOVER.md — Phase 9 scope. npm run check: 0 errors / 0 warnings (3958 files). cargo test --workspace: 339 pass / 0 fail. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --- package.json | 4 +- src-tauri/tauri.linux.conf.json | 2 +- src/app.css | 74 +++++++++---------- src/app.html | 2 +- src/design-system/colors_and_type.css | 6 +- src/design-system/preview/brand-wordmark.html | 2 +- .../preview/components-toasts.html | 2 +- src/design-system/preview/type-body.html | 2 +- .../preview/type-transcript-mono.html | 2 +- src/design-system/ui_kits/Sidebar.jsx | 2 +- src/design-system/ui_kits/index.html | 4 +- src/lib/Sidebar.svelte | 6 +- src/lib/components/FocusTimer.svelte | 4 +- src/lib/components/HotkeyRecorder.svelte | 2 +- src/lib/components/ModelDownloader.svelte | 2 +- src/lib/components/ResizeHandles.svelte | 26 +++---- src/lib/i18n/locales/de.json | 2 +- src/lib/i18n/locales/en.json | 2 +- src/lib/i18n/locales/es.json | 2 +- src/lib/pages/DictationPage.svelte | 6 +- src/lib/pages/FilesPage.svelte | 2 +- src/lib/pages/FirstRunPage.svelte | 6 +- src/lib/pages/SettingsPage.svelte | 18 ++--- src/lib/stores/completionStats.svelte.ts | 8 +- src/lib/stores/nudgeBus.svelte.ts | 4 +- src/lib/stores/page.svelte.ts | 8 +- src/lib/stores/toasts.svelte.ts | 2 +- src/lib/types/app.ts | 2 +- src/lib/utils/export.ts | 2 +- src/lib/utils/frontmatter.ts | 4 +- src/lib/utils/hotkeyValidity.ts | 2 +- src/lib/utils/localStorageMigration.ts | 2 +- src/lib/utils/settingsMigrations.ts | 2 +- src/routes/+layout.svelte | 8 +- src/routes/+page.svelte | 2 +- src/routes/float/+page.svelte | 2 +- src/routes/viewer/+page.svelte | 2 +- 37 files changed, 115 insertions(+), 115 deletions(-) diff --git a/package.json b/package.json index 6e1e963..4734754 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "magnotia", + "name": "lumotia", "version": "0.1.0", - "description": "Magnotia — Think out loud", + "description": "Lumotia — Think out loud", "type": "module", "scripts": { "dev": "npm run dev:frontend", diff --git a/src-tauri/tauri.linux.conf.json b/src-tauri/tauri.linux.conf.json index 68b544c..6b91ab9 100644 --- a/src-tauri/tauri.linux.conf.json +++ b/src-tauri/tauri.linux.conf.json @@ -3,7 +3,7 @@ "app": { "windows": [ { - "title": "Magnotia", + "title": "Lumotia", "width": 1020, "height": 720, "minWidth": 960, diff --git a/src/app.css b/src/app.css index 455a0cd..80c2e4d 100644 --- a/src/app.css +++ b/src/app.css @@ -48,7 +48,7 @@ @import "tailwindcss"; -/* === Magnotia Design Tokens === */ +/* === Lumotia Design Tokens === */ @theme { /* Surfaces — warm layered depth */ --color-bg: #0f0e0c; @@ -131,9 +131,9 @@ --duration-decorative: 300ms; /* Window resize hit zones — consumed by ResizeHandles.svelte. One source - of truth so every Magnotia window feels identical. */ - --magnotia-resize-edge: 12px; - --magnotia-resize-corner: 20px; + of truth so every Lumotia window feels identical. */ + --lumotia-resize-edge: 12px; + --lumotia-resize-corner: 20px; } /* === Button Component Classes === */ @@ -507,7 +507,7 @@ textarea, input, [data-no-transition] { parse it as a per-component virtual CSS module, which triggers an "Invalid declaration" error on plain CSS inputs in some Tailwind v4 + Svelte 5 combinations. */ -.magnotia-rh { +.lumotia-rh { position: fixed; z-index: 2147483646; background: transparent; @@ -517,67 +517,67 @@ textarea, input, [data-no-transition] { -webkit-user-select: none; } -.magnotia-rh-nw, -.magnotia-rh-ne, -.magnotia-rh-sw, -.magnotia-rh-se { +.lumotia-rh-nw, +.lumotia-rh-ne, +.lumotia-rh-sw, +.lumotia-rh-se { z-index: 2147483647; } -.magnotia-rh-n { +.lumotia-rh-n { top: 0; - left: var(--magnotia-resize-corner); - right: var(--magnotia-resize-corner); - height: var(--magnotia-resize-edge); + left: var(--lumotia-resize-corner); + right: var(--lumotia-resize-corner); + height: var(--lumotia-resize-edge); cursor: n-resize; } -.magnotia-rh-s { +.lumotia-rh-s { bottom: 0; - left: var(--magnotia-resize-corner); - right: var(--magnotia-resize-corner); - height: var(--magnotia-resize-edge); + left: var(--lumotia-resize-corner); + right: var(--lumotia-resize-corner); + height: var(--lumotia-resize-edge); cursor: s-resize; } -.magnotia-rh-w { - top: var(--magnotia-resize-corner); - bottom: var(--magnotia-resize-corner); +.lumotia-rh-w { + top: var(--lumotia-resize-corner); + bottom: var(--lumotia-resize-corner); left: 0; - width: var(--magnotia-resize-edge); + width: var(--lumotia-resize-edge); cursor: w-resize; } -.magnotia-rh-e { - top: var(--magnotia-resize-corner); - bottom: var(--magnotia-resize-corner); +.lumotia-rh-e { + top: var(--lumotia-resize-corner); + bottom: var(--lumotia-resize-corner); right: 0; - width: var(--magnotia-resize-edge); + width: var(--lumotia-resize-edge); cursor: e-resize; } -.magnotia-rh-nw { +.lumotia-rh-nw { top: 0; left: 0; - width: var(--magnotia-resize-corner); - height: var(--magnotia-resize-corner); + width: var(--lumotia-resize-corner); + height: var(--lumotia-resize-corner); cursor: nw-resize; } -.magnotia-rh-ne { +.lumotia-rh-ne { top: 0; right: 0; - width: var(--magnotia-resize-corner); - height: var(--magnotia-resize-corner); + width: var(--lumotia-resize-corner); + height: var(--lumotia-resize-corner); cursor: ne-resize; } -.magnotia-rh-sw { +.lumotia-rh-sw { bottom: 0; left: 0; - width: var(--magnotia-resize-corner); - height: var(--magnotia-resize-corner); + width: var(--lumotia-resize-corner); + height: var(--lumotia-resize-corner); cursor: sw-resize; } -.magnotia-rh-se { +.lumotia-rh-se { bottom: 0; right: 0; - width: var(--magnotia-resize-corner); - height: var(--magnotia-resize-corner); + width: var(--lumotia-resize-corner); + height: var(--lumotia-resize-corner); cursor: se-resize; } diff --git a/src/app.html b/src/app.html index 322eb0d..828f39c 100644 --- a/src/app.html +++ b/src/app.html @@ -4,7 +4,7 @@ <meta charset="utf-8" /> <link rel="icon" href="%sveltekit.assets%/favicon.png" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <title>Magnotia + Lumotia %sveltekit.head% diff --git a/src/design-system/colors_and_type.css b/src/design-system/colors_and_type.css index a69e960..98dfa93 100644 --- a/src/design-system/colors_and_type.css +++ b/src/design-system/colors_and_type.css @@ -1,5 +1,5 @@ /* ============================================================ - Magnotia — Colors & Type (preview surface only) + Lumotia — Colors & Type (preview surface only) Reflects the runtime tokens defined in src/app.css @theme. The runtime app reads from app.css; this file exists so the @@ -11,7 +11,7 @@ pages buildless. ============================================================ */ -/* --- Brand Webfonts (local woff2, shipped with Magnotia) --- +/* --- Brand Webfonts (local woff2, shipped with Lumotia) --- Mirrored from src/app.css. Duplication is intentional: this file is loaded directly by buildless preview HTML under design-system/preview/, which does not go through Tailwind/Vite, so the fonts must be declared @@ -308,7 +308,7 @@ a:hover { color: var(--accent-hover); } } :root[data-theme="light"] .grain::after { opacity: 0.015; } -/* Magnotia sinhala glyph ක (U+0D9A) — wordmark companion */ +/* Lumotia sinhala glyph ක (U+0D9A) — wordmark companion */ .k-glyph::after { content: '\0D9A'; color: var(--accent); margin-left: 0.25em; display: inline-block; } @media (prefers-reduced-motion: reduce) { diff --git a/src/design-system/preview/brand-wordmark.html b/src/design-system/preview/brand-wordmark.html index 9e425a4..df20c57 100644 --- a/src/design-system/preview/brand-wordmark.html +++ b/src/design-system/preview/brand-wordmark.html @@ -12,7 +12,7 @@
-
Magnotia
+
Lumotia
Think out loud
diff --git a/src/design-system/preview/components-toasts.html b/src/design-system/preview/components-toasts.html index e792365..9a67089 100644 --- a/src/design-system/preview/components-toasts.html +++ b/src/design-system/preview/components-toasts.html @@ -14,6 +14,6 @@
Toasts · bottom-right · sticky on error
Could not start recording
Audio device disconnected. Plug it back in and try again.
-
Dropped 2s of older audio
Magnotia is keeping up in real time.
+
Dropped 2s of older audio
Lumotia is keeping up in real time.
Saved · 3 tasks extracted
Your audio is saved. Open Tasks to review.
diff --git a/src/design-system/preview/type-body.html b/src/design-system/preview/type-body.html index 67841d8..f6d27e2 100644 --- a/src/design-system/preview/type-body.html +++ b/src/design-system/preview/type-body.html @@ -4,7 +4,7 @@ .row{display:flex;align-items:flex-start;gap:18px;margin-bottom:14px} .l{font:400 11px var(--font-mono);color:var(--text-tertiary);min-width:110px;padding-top:4px} -
Body · 16/1.5
Magnotia listens more than it speaks. Press the hotkey, speak your thought, and your words appear — saved, searchable, left exactly where you put them.
+
Body · 16/1.5
Lumotia listens more than it speaks. Press the hotkey, speak your thought, and your words appear — saved, searchable, left exactly where you put them.
Body large · 18/1.6
A calm friend who has already done the anxious part for you.
Small · 13
Press record or Ctrl+Shift+R
Caption · 12
12 words · 00:47 · live
diff --git a/src/design-system/preview/type-transcript-mono.html b/src/design-system/preview/type-transcript-mono.html index 8ccdd14..bb85caf 100644 --- a/src/design-system/preview/type-transcript-mono.html +++ b/src/design-system/preview/type-transcript-mono.html @@ -8,6 +8,6 @@
Transcript · 16–24px · 1.85 · +0.01em · liga + kern
So the thing I wanted to capture is — if we move the onboarding to the second screen instead of the first, the friction around first launch basically disappears. That feels right.
-
~/Library/Application Support/Magnotia/transcripts.db
+
~/Library/Application Support/Lumotia/transcripts.db
CtrlShiftRGlobal record toggle
diff --git a/src/design-system/ui_kits/Sidebar.jsx b/src/design-system/ui_kits/Sidebar.jsx index cdddf5c..fea26b0 100644 --- a/src/design-system/ui_kits/Sidebar.jsx +++ b/src/design-system/ui_kits/Sidebar.jsx @@ -32,7 +32,7 @@ function Sidebar({ current, onNav, taskCount = 0, status = 'Ready', statusColor return (