c56ce72a9b
- Add comprehensive widget dashboard system design - Add schema system architecture with ECS pattern - Add detailed implementation plan with 8 epics - Include task breakdown with checkboxes for progress tracking - Document widget development guide - Document formula engine and YAML schema format - Add migration strategy and backward compatibility plan - Estimate 12-14 weeks total development time This branch will contain all v2.0 development work: - Widget dashboard with drag-and-drop - Schema system with YAML definitions - Formula engine with @ references - Schema-driven widgets - AI integration updates - Mobile responsive improvements Each epic builds on the previous with clear dependencies. All features designed for progressive enhancement without modes.
RPG Companion Documentation
This directory contains all design and implementation documentation for RPG Companion v2.0.
Documentation Index
Implementation
- IMPLEMENTATION_PLAN.md - Complete implementation roadmap
- 8 epics with detailed tasks and subtasks
- Checkboxes for progress tracking
- Dependencies and timeline estimates
- Each task builds on the previous one
Feature Design
-
Widget Dashboard System - Dashboard architecture
- Dynamic tabs with create/rename/delete
- Widget grid system with drag-and-drop
- Edit mode and layout persistence
- Mobile responsive design
- Widget development guide
-
Schema System Architecture - Schema system design
- Entity-Component-System (ECS) pattern
- YAML-based system definitions
- Formula engine with @ references
- Character instance validation
- Storage layer (IndexedDB + File System API)
- AI prompt generation and parsing
Quick Start
For Developers
- Start here: Read IMPLEMENTATION_PLAN.md
- Understand the dashboard: Read Widget Dashboard System
- Understand schemas: Read Schema System Architecture
- Pick a task: Find unchecked tasks in implementation plan
- Build incrementally: Each task builds on previous ones
For Contributors
- All major features documented in
/docs/features/ - Implementation plan tracks progress with checkboxes
- Each epic is a major deliverable
- Commit messages should reference task numbers
- Example:
feat: implement grid engine core (Task 1.1)
Architecture Overview
RPG Companion v2.0 Architecture
┌─────────────────────────────────────────────────────────┐
│ User Interface Layer │
│ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐│
│ │ Tab Navigator │ │ Widget Grid │ │ Edit Mode UI ││
│ └───────────────┘ └───────────────┘ └──────────────┘│
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Widget System Layer │
│ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐│
│ │ Widget │ │ Grid Engine │ │ Drag & Drop ││
│ │ Registry │ │ │ │ Handler ││
│ └───────────────┘ └───────────────┘ └──────────────┘│
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Schema System Layer │
│ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐│
│ │ Schema │ │ Formula │ │ Character ││
│ │ Validator │ │ Engine │ │ Manager ││
│ └───────────────┘ └───────────────┘ └──────────────┘│
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Storage Layer │
│ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐│
│ │ IndexedDB │ │ File System │ │ Extension ││
│ │ │ │ Access API │ │ Settings ││
│ └───────────────┘ └───────────────┘ └──────────────┘│
└─────────────────────────────────────────────────────────┘
Key Concepts
Widget Dashboard
- Dynamic Tabs: Users create unlimited tabs with custom names
- Widget Grid: 12-column responsive grid with drag-and-drop
- Edit Mode: Visual editor for arranging widgets
- Persistence: Layouts save automatically
Schema System
- System Definition: YAML files define RPG system rules
- Character Instance: JSON data validated against schema
- Formula Engine: Calculate derived stats with @ references
- AI Integration: Dynamic prompts and parsing based on schema
Progressive Enhancement
- No Modes: Single flexible system with toggles
- Backward Compatible: Existing features work without schemas
- Opt-In Complexity: Users enable advanced features when ready
Epics Overview
| # | Epic | Status | Duration | Description |
|---|---|---|---|---|
| 1 | Dashboard Infrastructure | Not Started | 2 weeks | Core grid engine, tabs, drag-and-drop |
| 2 | Widget Conversion | Not Started | 2-3 weeks | Convert existing sections to widgets |
| 3 | Schema Infrastructure | Not Started | 3-4 weeks | YAML parser, formula engine, validation |
| 4 | Schema-Driven Widgets | Not Started | 3-4 weeks | Widgets that render from schemas |
| 5 | Schema Editor UI | Not Started | 2-3 weeks | YAML editor and visual builder |
| 6 | AI Integration | Not Started | 2-3 weeks | Schema-based prompts and parsing |
| 7 | Polish & Mobile | Not Started | 2-3 weeks | Responsive, animations, accessibility |
| 8 | Documentation | Not Started | 1-2 weeks | User docs, migration, templates |
Total Estimated Time: 12-14 weeks (3-3.5 months)
Design Principles
KISS (Keep It Simple, Stupid)
- Vanilla JavaScript, no frameworks
- Progressive enhancement over feature flags
- Clear APIs over clever abstractions
User Freedom
"This is SillyTavern - users should be able to do whatever the fuck they want"
- No arbitrary limitations
- Everything customizable
- Full GUI editing
- Import/export everything
Backward Compatibility
- Existing features must keep working
- Graceful fallbacks everywhere
- Migration wizard for v1.x users
- No data loss scenarios
Performance First
- Widgets lazy-load
- Formulas memoized
- Drag-and-drop throttled
- Mobile optimized
Contributing
Before Starting a Task
- Read the task description in IMPLEMENTATION_PLAN.md
- Check dependencies are complete
- Review relevant design docs
- Understand acceptance criteria
While Working
- Mark task in progress (comment or
[~]) - Follow code style in CLAUDE.md
- Test incrementally
- Check console for errors
- Add debug logging
After Completing
- Test acceptance criteria
- Mark task complete (
[x]) - Commit with conventional commit message
- Update epic progress
- Document any blockers or deviations
Commit Message Format
type(scope): description
Examples:
feat(dashboard): implement grid engine core (Task 1.1)
fix(widgets): resolve user stats rendering bug
docs(schema): add formula engine examples
refactor(storage): optimize IndexedDB queries
Testing Strategy
Manual Testing
- Test in SillyTavern with extension enabled
- Check console for errors
- Test on different screen sizes
- Verify data persistence
- Test edge cases
Browser Compatibility
- Chrome/Chromium (primary)
- Firefox
- Safari (if possible)
- Mobile browsers
Accessibility
- Keyboard navigation
- Screen reader support
- Focus indicators
- Color contrast
Support
Getting Help
- Check CLAUDE.md for development guidelines
- Review relevant design docs in
/docs/features/ - Check implementation plan for dependencies
- Ask questions in Discord
Reporting Issues
When stuck or blocked:
- Document the blocker in implementation plan
- Include error messages and logs
- Describe what you tried
- Note which task is blocked
Future Enhancements
Ideas for post-v2.0:
- Widget marketplace for community widgets
- Layout templates for different RPG systems
- Widget linking (skills affect stats, etc.)
- Conditional widget visibility
- Real-time collaboration
- Cloud sync
- Advanced formula functions
- Visual node-based formula editor
- Drag-and-drop formula builder
License
See LICENSE for details (AGPL-3.0).
Last Updated: 2025-10-23 Version: 2.0.0-dev