Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KFsGHju9szibJJa2YJcdbg
1.9 KiB
1.9 KiB
Phase 5 — Polish & quality of life
Goal: the app feels like AI Dungeon — cohesive dark UI, smooth flows, safe data handling.
UI/UX pass
- Theming: refined dark palette, serif story typography, subtle textures/gradients à la AI Dungeon; consistent buttons, panels, modals; responsive layout.
- Home: adventure cards with scenario name, last-played time, action count; search/filter; scenario gallery with tags.
- Play screen: collapsible right side panel (Memory / Cards / Scripts / Insights tabs), keyboard shortcuts (Enter send, Ctrl+Z undo, Ctrl+R retry), smooth streaming autoscroll that pauses when the user scrolls up.
- Scenario placeholders:
${Character name}style variables in prompt/memory prompt the player for values when starting an adventure (AI Dungeon behavior).
Data & robustness
- Adventure export/import (full JSON: actions, memory, cards, script state) — backup/share.
- Delete confirmations (trash/soft-delete skipped — plain confirm dialogs).
- SQLite migrations story (versioned schema bootstrap via PRAGMA user_version —
backend/app/migrations.py). - Request logging + a debug page tailing recent provider requests/responses (bodies redacted of API key) — "Recent AI requests" on the Settings page.
- Graceful handling: provider timeout/cancel (stop generation button), concurrent turn lock per adventure.
Nice-to-haves (only if time/interest)
- Multiple provider profiles with quick switching (e.g. local Ollama vs OpenRouter).
- Per-scenario generation params overriding global settings.
- Retry with "give me something different" (temperature bump / anti-repeat nudge).
- Basic light theme toggle.
Exit criteria
A friend could sit down at localhost, start a scenario with placeholders, play comfortably,
peek at Insights, and you can back up / restore everything via export files.