• bvandeusen released this 2026-04-28 09:13:56 -04:00 | 8 commits to main since this release

    Mirrors the FabledScribe v26.04.28.1 web design pass. Single-file change to lib/core/theme.dart — most widgets read colorScheme.primary so the palette flip alone covers a large surface.

    Highlights

    • Palette swap — dark mode flipped from cool grey to Obsidian/Iron/Pewter (#14171A/#1E2228/#3F4651). Light mode flipped from white-and-cool-blue to warm parchment (#F5F1E8/#FBF8F0). Primary color swapped from indigo #7C3AED to dusty violet #5B4A8A in both modes.
    • Action token ThemeExtension — new ActionColors extension exposes Moss / Bronze / Oxblood / Pewter outside the ColorScheme for the Hybrid rule. Read at call sites via Theme.of(context).extension<ActionColors>()!.primary etc. No widget refactors yet — extension is defined for surface-phase work to consume.
    • Typography — Inter loaded for body / labels (was system default). Fraunces still loaded for display / headline / titleLarge ≥18px. JetBrains Mono available at call sites for code.
    • GradientButton recolored — the chat send / journal send / brand-moment CTA equivalent of the web's --gradient-cta. Indigo gradient (#7C3AED#5B21B6) → dusty-violet gradient (#5B4A8A#3F3560).

    Backend requirement

    No new API surface used. Compatible with FabledScribe v26.04.27.1 and newer. Pairs cleanly with the matching FabledScribe v26.04.28.1 release for visual consistency across web and mobile.

    What's deferred

    Per-screen Hybrid-rule button reclassification (Save → Moss FilledButton, Delete → Oxblood, etc.), Lucide icon migration, chat bubble Illuminated Transcript pattern in ChatMessageBubble, input border radius adjustment (24 → 8), voice/tone touchups. Tracked in Fable task #156.

    Reference

    Web foundation pass shipped on FabledScribe at 7a9a8b7 (2026-04-27). Web design system doc: docs/design-system.md in fabledscribe.

    Downloads