building out the components, updating the UI in overview and adding a little sqlite viewer
This commit is contained in:
+5
-5
@@ -858,18 +858,18 @@ To keep AI-generated content consistent with your world:
|
||||
- [ ] Add `generate_image` Tauri command (reuse Ollama `/api/generate`, parse singular `image` field)
|
||||
- [ ] Wire ✨ generate/regenerate into NPC, Item Forge, World Builder (map), Encounter Builder (battle map + loot), Handout Renderer
|
||||
- [ ] Persist generated PNGs to `$APPDATA/dm-toolkit/images/` keyed by prompt hash (cache, don't regenerate)
|
||||
- [ ] Progress bar driven from NDJSON `step`/`total`; background task, non-blocking UI
|
||||
- [x] Progress bar driven from NDJSON `step`/`total`; background task, non-blocking UI
|
||||
- [ ] Gate image-gen UI behind macOS check; placeholder fallback elsewhere
|
||||
- [ ] Add `image_model` to `LlmConfig` + settings picker (no second settings panel)
|
||||
- [x] Then proceed to lore RAG & polish below:
|
||||
- [x] Add lore chunking + embedding storage (SQLite + brute-force cosine; `sqlite-vec` upgrade path noted)
|
||||
- [x] Inject retrieved lore into LLM prompts (shared `generate` path)
|
||||
- [ ] Soundboard / ambience module
|
||||
- [x] Soundboard / ambience module
|
||||
- [ ] Handout renderer (Markdown → PDF)
|
||||
- [ ] Polish all glassmorphism effects, micro-interactions, and gold glow states
|
||||
- [ ] Ensure WCAG AA contrast on all text over glass cards
|
||||
- [ ] Responsive bento collapse (2-column on narrow windows)
|
||||
- [ ] Accessibility pass (keyboard nav, screen reader labels, focus rings in `--gold-bright`)
|
||||
- [x] Ensure WCAG AA contrast on all text over glass cards
|
||||
- [x] Responsive bento collapse (2-column on narrow windows)
|
||||
- [x] Accessibility pass (keyboard nav, screen reader labels, focus rings in `--gold-bright`)
|
||||
- [ ] Commit and tag `v0.6.0-lore-polish`
|
||||
|
||||
### Milestone 7 — Testing, CI, Distribution
|
||||
|
||||
+41
-33
@@ -4,8 +4,15 @@
|
||||
ordered by impact, not file order. Each item ships with a concrete, checkable
|
||||
recommendation.*
|
||||
|
||||
> **Status:** in progress — P0 and P1 shipped, P2 largely done. The
|
||||
> checklist below is updated as items land.
|
||||
> **Status:** in progress — P0 and P1 shipped, P2 mostly done. Initiative,
|
||||
> Dice, Encounter, Settings, Cross-cutting, Random Tables, Session Logger,
|
||||
> Calendar, and Lore Panel are complete. NPC/Item/Quest have stat/structured/
|
||||
> reward fields shipped; remaining P2 items are larger-effort or backend-
|
||||
> gated: image-gen advanced params (Ollama API doesn't support them),
|
||||
> soundboard scenes + real ambience packs, world hierarchy tree, lore
|
||||
> directory picker (needs tauri-plugin-dialog), NPC roster / item inventory /
|
||||
> quest roster (History view covers re-opening). The checklist below is
|
||||
> updated as items land.
|
||||
|
||||
---
|
||||
|
||||
@@ -1045,7 +1052,7 @@ These are blockers or bugs that make the app feel broken.
|
||||
|
||||
### P2 — Important (next month)
|
||||
|
||||
- [ ] **Initiative Tracker**:
|
||||
- [x] **Initiative Tracker**:
|
||||
- [x] Click-to-edit initiative number
|
||||
- [x] Custom conditions
|
||||
- [x] Damage input (numeric, not +/- only)
|
||||
@@ -1055,12 +1062,12 @@ These are blockers or bugs that make the app feel broken.
|
||||
- [x] Highlight next-up combatant
|
||||
- [x] Confirm before Reset
|
||||
- [x] "Import from Encounter" button
|
||||
- [ ] **Dice Roller**:
|
||||
- [x] **Dice Roller**:
|
||||
- [x] Modifier input (saved per session)
|
||||
- [x] Spacebar rolls
|
||||
- [x] Roll templates (Attack, Save, Check, Damage)
|
||||
- [x] Clear/copy history
|
||||
- [ ] **Encounter Builder**:
|
||||
- [x] **Encounter Builder**:
|
||||
- [x] XP budget math (party size, level, difficulty)
|
||||
- [x] Color-coded difficulty
|
||||
- [x] Send to Initiative Tracker
|
||||
@@ -1070,43 +1077,43 @@ These are blockers or bugs that make the app feel broken.
|
||||
- [ ] **NPC Generator**:
|
||||
- [x] Rename "Class" to "Background" with curated list
|
||||
- [x] Expand races to 9 (Half-Orc, Goliath)
|
||||
- [ ] NPC Roster view
|
||||
- [ ] Stat block section (AC, HP, ability scores)
|
||||
- [ ] NPC Roster view (History view covers re-opening past NPCs)
|
||||
- [x] Stat block section (AC, HP, ability scores)
|
||||
- [x] Random name button
|
||||
- [ ] Save portrait (right-click)
|
||||
- [x] Edit personality/goals in-place
|
||||
- [ ] **Item Forge**:
|
||||
- [x] Click art to expand
|
||||
- [ ] Structured mechanics (attunement, charges, value, weight)
|
||||
- [ ] Save to inventory
|
||||
- [x] Structured mechanics (attunement, charges, value, weight)
|
||||
- [ ] Save to inventory (History view covers re-opening past items)
|
||||
- [x] Random item button
|
||||
- [ ] **Quest Designer**:
|
||||
- [ ] Branching quest graph (react-flow)
|
||||
- [x] Step status (Pending/Active/Done)
|
||||
- [x] Player-facing view toggle (hide Twist)
|
||||
- [ ] Reward breakdown (XP per character, gold, items)
|
||||
- [ ] Quest roster
|
||||
- [x] Reward breakdown (XP per character, gold, items)
|
||||
- [ ] Quest roster (History view covers re-opening past quests)
|
||||
- [ ] **Image Generator**:
|
||||
- [ ] Negative prompt, seed, aspect ratio, steps, guidance
|
||||
- [ ] Batch mode (2×2 variants)
|
||||
- [ ] Gallery view with thumbnails
|
||||
- [x] Persist to campaign-scoped folder
|
||||
- [x] Copy to clipboard
|
||||
- [ ] **Session Logger**:
|
||||
- [ ] Markdown editor + live preview
|
||||
- [ ] Sessions as first-class concept (multiple sessions)
|
||||
- [x] **Session Logger**:
|
||||
- [x] Markdown editor + live preview (minimal renderer; no dep)
|
||||
- [x] Sessions as first-class concept (multiple sessions)
|
||||
- [x] Streaming AI summary
|
||||
- [x] Export to Markdown
|
||||
- [x] Per-entry actions (edit, delete, highlight)
|
||||
- [ ] Tags
|
||||
- [ ] **Calendar**:
|
||||
- [ ] Custom calendar editor
|
||||
- [x] Tags
|
||||
- [x] **Calendar**:
|
||||
- [x] Custom calendar editor
|
||||
- [x] Current campaign date with "Next day" button
|
||||
- [x] Weather generator
|
||||
- [x] Moon phases
|
||||
- [ ] Event categories with colors
|
||||
- [ ] Recurring events
|
||||
- [ ] Agenda view
|
||||
- [x] Event categories with colors
|
||||
- [x] Recurring events
|
||||
- [x] Agenda view
|
||||
- [ ] **Soundboard**:
|
||||
- [ ] Real ambience pack (2–3 royalty-free loops)
|
||||
- [ ] Custom sound import (drag-drop)
|
||||
@@ -1115,33 +1122,34 @@ These are blockers or bugs that make the app feel broken.
|
||||
- [x] Always-visible Stop All
|
||||
- [x] Save/load board state
|
||||
- [x] Pre-warm AudioContext
|
||||
- [ ] **Random Tables**:
|
||||
- [x] **Random Tables**:
|
||||
- [x] 10+ more built-in tables
|
||||
- [ ] User-defined tables (create/edit/delete)
|
||||
- [ ] Table import (paste Markdown)
|
||||
- [ ] Weighted tables
|
||||
- [x] User-defined tables (create/edit/delete)
|
||||
- [x] Table import (paste Markdown)
|
||||
- [x] Weighted tables (weight % + gap warning)
|
||||
- [x] Export table
|
||||
- [ ] **World Builder**:
|
||||
- [x] Map canvas (react-konva)
|
||||
- [x] Theme presets
|
||||
- [ ] Hierarchy tree
|
||||
- [x] Persist world
|
||||
- [ ] **Lore Panel**:
|
||||
- [ ] Two-pane layout
|
||||
- [ ] Drag-drop file upload
|
||||
- [ ] Directory picker
|
||||
- [ ] Chunk preview
|
||||
- [ ] Source filter
|
||||
- [x] **Lore Panel**:
|
||||
- [x] Two-pane layout
|
||||
- [x] Drag-drop file upload (via native file input; directory picker needs tauri-plugin-dialog)
|
||||
- [ ] Directory picker (needs tauri-plugin-dialog)
|
||||
- [x] Chunk preview
|
||||
- [x] Source filter
|
||||
- [x] ★ relevance (not raw cosine)
|
||||
- [x] Confirm before "Clear all"
|
||||
- [ ] **Settings**:
|
||||
- [x] **Settings**:
|
||||
- [x] Group into fieldsets (Connection, Text, Image, Embedding, Danger)
|
||||
- [x] Connection test with model list
|
||||
- [x] Model picker with autocomplete (`GET /api/tags`)
|
||||
- [x] Provider presets (Ollama, LM Studio, OpenAI, Anthropic, Custom)
|
||||
- [x] Reset to defaults
|
||||
- [ ] Export/import config
|
||||
- [ ] **Cross-cutting**:
|
||||
- [x] Export/import config
|
||||
- [x] Configurable campaign data location (lore db, generations db, generated images) via a folder picker — migrates existing data and applies on restart
|
||||
- [x] **Cross-cutting**:
|
||||
- [x] Keyboard shortcuts: ⌘K, 1–9, Space, ⌘,, ⌘S, Esc, ?
|
||||
- [x] Skeleton loaders for all async states
|
||||
- [x] Empty states for all tools
|
||||
|
||||
Reference in New Issue
Block a user