Phase 9 of the rebrand cascade. Sweep covers everything the Phase 8
frontend pass deliberately skipped: docs/, root markdown, scripts,
Cargo.toml descriptions, code comments that survived earlier
word-boundary sed, plus a handful of identifiers caught on the final
verify pass.
transcription-app changes:
- README.md, HANDOVER.md, KNOWN-ISSUES.md, run.sh — magnotia/Magnotia
-> lumotia/Lumotia.
- docs/ — sweep across all subdirs except docs/handovers/ (preserved
as immutable audit trail). Includes architecture-map references
to magnotia_core::*, magnotia_storage::*, etc. now pointing at
lumotia_*; dev-setup.md tracing output examples (lumotia_startup
target); brief/ + superpowers/ + issues/ + whisper-ecosystem/ +
audit/.
- Cargo.toml descriptions on 9 crates (core, audio, cloud-providers,
hotkey, llm, mcp, plus referenced others).
- crates/core/src/{error,hardware,recommendation,paths}.rs +
crates/audio/src/wav.rs + crates/llm/src/model_manager.rs +
crates/cloud-providers/src/keystore.rs + crates/mcp/src/lib.rs —
doc comments and a model-manager user-agent string.
- Caught on final pass: BroadcastChannel("magnotia_task_sync") -> ...
("lumotia_task_sync"); magnotia_locale i18n localStorage key
renamed + migration shim added; CSS keyframe names
magnotiaPulse / magnotiaBar / magnotiaFade renamed in the design-
system kit; magnotia_viewer_item / magnotia_viewer_mode handoff
keys renamed in HistoryPage + viewer/+page.svelte; src/assets/
wordmark.svg text.
- src-tauri/src/lib.rs comment cleanup ("magnotia era" was sed'd
to "lumotia era" earlier — restored).
Preserved (intentional):
- crates/core/src/paths.rs — keeps "magnotia" / "Magnotia" / ".magnotia"
legacy detection strings in legacy_and_target_paths() so the
migration shim can still find user data from the magnotia era.
- src/lib/stores/{page,focusTimer}.svelte.ts + src/lib/i18n/index.ts
— migration call sites reference the legacy magnotia keys
deliberately.
- docs/handovers/ — historical audit trail.
cargo build --workspace passes. 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>
5.4 KiB
5.4 KiB
Design principles
Typography & readability
- Fonts: Lexend or Atkinson Hyperlegible Next as defaults. Clean sans-serif with large x-height. OpenDyslexic available as a user option but NOT recommended as default — peer-reviewed evidence (Rello & Baeza-Yates 2016; Kuster et al. 2018) shows it does not outperform standard sans-serif fonts. Spacing is the active typographic ingredient, not letterform (see Appendix A3). Italic text must never be used for extended reading — it significantly impairs reading in neurodivergent populations.
- Minimum 16px size, 1.5x line spacing, left-aligned text. Maximum 75-character line width to prevent line-skipping fatigue.
- Variable font support. Where possible, implement adjustable typographic axes (spacing, weight, width) so users can dynamically adapt typography to their own fluctuating visual-perceptual thresholds — not just choose between static font options.
- Bionic Reading toggle. Optional mode that bolds the first few letters of each word to create artificial fixation points. Helps ADHD brains maintain reading momentum and prevents eyes from skipping lines. Increasingly popular accessibility feature — low implementation cost, high perceived value. Should be a toggle in settings, not default.
- Rationale: Decoding text consumes high metabolic energy for dyslexic or ADHD brains. Visual crowding affects both peripheral AND central (foveal) vision in these populations. Every typographic decision should reduce that metabolic cost.
Colour system
- 85% of neurodiverse students see colours more intensely — palettes profoundly impact emotional regulation and focus.
- Never use pure white (#FFFFFF) or pure black (#000000) together. This creates "halation" — a vibrating visual effect causing severe eye strain and cognitive fatigue. Use dark charcoal text on off-white, light grey, or soft beige. Eye-tracking research (Rello 2012) found dyslexic readers read fastest with black on crème — only 13.64% preferred black-on-white vs. 32.67% of controls. Default background should be warm off-white, not cool white.
- Sensory colour zoning — use colour to cue specific mindsets:
- Deep Focus ("Cave"): Cool blues, greens, soft teals. Withdrawal effect promotes calmness and stability.
- Collaboration & Energy: Warm neutrals, soft yellows, muted oranges.
- Relaxation & Reset: Tans, browns, sage greens to balance emotions.
- Danger colours to avoid entirely: Large expanses of bright red, fluorescent/neon colours, high-contrast geometric patterns (zigzags). Proven to cause visual confusion, anxiety, and can trigger meltdowns.
Interaction & UX
- Low-dopamine design. Non-judgmental tone throughout. No guilt messaging for missed tasks. No aggressive review prompts.
- WIP limits as a design constraint. The interface must never present more than 1–3 active tasks simultaneously on the primary view. AI prioritises; the UI constrains. A brain dump can contain 50 items — the "Now" view shows only the next action. This is not a nice-to-have; it is the core mechanism for preventing the freeze response.
- Automated context restoration. Working memory traces decay within ~8 seconds of interruption. If a user clicks away, gets distracted, or closes the app mid-task, Lumotia must perfectly preserve their exact state — cursor position, active timer, active task, scroll position — so they can resume with zero "Where was I?" cognitive latency. This must be seamless and automatic. No "Resume session?" dialogue. Just open the app and be exactly where you left off.
- Literal labels always. Ambiguous icons (standalone gear, hamburger menu) force literal thinkers to guess function, expending precious mental energy. Always pair icons with literal text labels.
- Progressive disclosure. Break complex onboarding or tasks down to reveal only the immediate next step, preventing the brain from freezing.
- Motion control. All non-essential animation and auto-playing media must be off by default or controlled via a prominent "Reduce Motion" / "Calm Mode" toggle. Unexpected animations can cause physical distress and sensory overload.
- No streak-shaming. Never use streaks that reset to zero. Use "grace days" and reward the journey. A missed day must not trigger the shame spiral that leads to app abandonment.
Onboarding
- Must be understandable within 30 seconds. If a neurodivergent user can't figure it out immediately, they won't return.
- 90-second hard threshold. Empirical HCI research (see Appendix A4) shows that tools taking longer than 90 seconds to configure trigger task abandonment cascades in ADHD users, increasing cognitive load by 2.3x. No feature in Lumotia should require more than 90 seconds of setup. Voice capture must work in under 3 seconds from app open.
- Progressive disclosure applies here especially — show one step at a time, never the full complexity.
Future consideration: adaptive UI
- Sensory cookies: Allow users to save baseline sensory preferences (motion, contrast, typography) so the app instantly moulds to them across sessions and devices.
- Emotionally adaptive AI: Detect signs of emotional fatigue or frustration (e.g. erratic clicking, long inactivity) and automatically simplify the UI to reduce cognitive load. Not in MVP but a strong differentiator for v2+.