agent: lumotia-rebrand — frontend strings (svelte + i18n + design-system)
Some checks failed
check / cargo check (macos-latest) (push) Has been cancelled
check / cargo check (ubuntu-22.04) (push) Has been cancelled
check / cargo check (windows-latest) (push) Has been cancelled
check / svelte build + lint (push) Has been cancelled

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 <title>.
- 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>
This commit is contained in:
2026-05-13 12:29:37 +01:00
parent 16081095e0
commit 681a9b26dc
37 changed files with 115 additions and 115 deletions

View File

@@ -5,7 +5,7 @@
// centre. Completion plays a gentle chime, flashes a success ring
// for 3 s, then disappears. Cancel button appears on hover.
//
// Mounted once in +layout.svelte. Listens for `magnotia:start-timer`
// Mounted once in +layout.svelte. Listens for `lumotia:start-timer`
// events from anywhere in the app (e.g. MicroSteps) and delegates
// to the focus-timer store.
//
@@ -63,7 +63,7 @@
return "var(--color-accent)";
});
// Event handler: start a timer when any component fires `magnotia:start-timer`.
// Event handler: start a timer when any component fires `lumotia:start-timer`.
// Payload shape from MicroSteps.svelte and task row buttons:
// { taskId?: string, seconds: number, label?: string }
function handleStartEvent(evt: Event) {

View File

@@ -26,7 +26,7 @@
]);
// Map KeyboardEvent.code (physical key, layout-independent, shift-independent)
// to the unshifted name the magnotia-hotkey evdev parser understands. Browser
// to the unshifted name the lumotia-hotkey evdev parser understands. Browser
// e.key returns "+" for Shift+Equal — parser wants "=". Same for | → \, etc.
const codeToParserKey: Record<string, string> = {
Equal: "=", Minus: "-",

View File

@@ -72,7 +72,7 @@
<h3 class="text-[18px] font-semibold text-text mb-2">Download Whisper Model</h3>
<p class="text-[13px] text-text-secondary mb-1">
Magnotia needs the <span class="font-medium text-text">{modelSize}</span> model to transcribe speech.
Lumotia needs the <span class="font-medium text-text">{modelSize}</span> model to transcribe speech.
</p>
<p class="text-[12px] text-text-secondary mb-6">
{currentModelInfo?.size ?? "?"} · {currentModelInfo?.accuracy ?? "?"} accuracy · 100% offline

View File

@@ -1,6 +1,6 @@
<script lang="ts">
// Invisible resize-handle overlays around each Magnotia window edge.
// Needed because Magnotia runs with decorations off, so the WM
// Invisible resize-handle overlays around each Lumotia window edge.
// Needed because Lumotia runs with decorations off, so the WM
// provides no resize affordance on KDE/GNOME Wayland.
//
// Architecture: eight fixed-position divs are the click target for
@@ -10,9 +10,9 @@
// a window move. This gives us a clean separation: resize wins on
// the edges, drag wins on the titlebar.
//
// Hit zone sizes come from CSS custom properties so every Magnotia window
// across the app stays identical. See the magnotia-resize-edge and
// magnotia-resize-corner custom properties in app.css.
// Hit zone sizes come from CSS custom properties so every Lumotia window
// across the app stays identical. See the lumotia-resize-edge and
// lumotia-resize-corner custom properties in app.css.
//
// Placement requirement: instances of this component MUST be mounted
// as a sibling of the animated/transformed layout root (not a child),
@@ -48,20 +48,20 @@
{#if enabled}
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-n" onpointerdown={(e) => startResize(e,"North")}></div>
<div class="lumotia-rh lumotia-rh-n" onpointerdown={(e) => startResize(e,"North")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-s" onpointerdown={(e) => startResize(e,"South")}></div>
<div class="lumotia-rh lumotia-rh-s" onpointerdown={(e) => startResize(e,"South")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-w" onpointerdown={(e) => startResize(e,"West")}></div>
<div class="lumotia-rh lumotia-rh-w" onpointerdown={(e) => startResize(e,"West")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-e" onpointerdown={(e) => startResize(e,"East")}></div>
<div class="lumotia-rh lumotia-rh-e" onpointerdown={(e) => startResize(e,"East")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-nw" onpointerdown={(e) => startResize(e,"NorthWest")}></div>
<div class="lumotia-rh lumotia-rh-nw" onpointerdown={(e) => startResize(e,"NorthWest")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-ne" onpointerdown={(e) => startResize(e,"NorthEast")}></div>
<div class="lumotia-rh lumotia-rh-ne" onpointerdown={(e) => startResize(e,"NorthEast")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-sw" onpointerdown={(e) => startResize(e,"SouthWest")}></div>
<div class="lumotia-rh lumotia-rh-sw" onpointerdown={(e) => startResize(e,"SouthWest")}></div>
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div class="magnotia-rh magnotia-rh-se" onpointerdown={(e) => startResize(e,"SouthEast")}></div>
<div class="lumotia-rh lumotia-rh-se" onpointerdown={(e) => startResize(e,"SouthEast")}></div>
{/if}