Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KFsGHju9szibJJa2YJcdbg
39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# Phase 5 — Polish & quality of life
|
|
|
|
**Goal:** the app feels like AI Dungeon — cohesive dark UI, smooth flows, safe data handling.
|
|
|
|
## UI/UX pass
|
|
|
|
- [x] Theming: refined dark palette, serif story typography, subtle textures/gradients à la
|
|
AI Dungeon; consistent buttons, panels, modals; responsive layout.
|
|
- [x] Home: adventure cards with scenario name, last-played time, action count; search/filter;
|
|
scenario gallery with tags.
|
|
- [x] 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.
|
|
- [x] Scenario **placeholders**: `${Character name}` style variables in prompt/memory prompt the
|
|
player for values when starting an adventure (AI Dungeon behavior).
|
|
|
|
## Data & robustness
|
|
|
|
- [x] Adventure export/import (full JSON: actions, memory, cards, script state) — backup/share.
|
|
- [x] Delete confirmations (trash/soft-delete skipped — plain confirm dialogs).
|
|
- [x] SQLite migrations story (versioned schema bootstrap via PRAGMA user_version —
|
|
`backend/app/migrations.py`).
|
|
- [x] Request logging + a debug page tailing recent provider requests/responses (bodies redacted
|
|
of API key) — "Recent AI requests" on the Settings page.
|
|
- [x] 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.
|