Files
storyteller/docs/reference/UI_ELEMENTS_REFERENCE.md
Aodhan Collins 41975ecfe2 Phase 2 complete
2025-10-12 02:18:56 +01:00

9.7 KiB

UI Elements Reference - Storyteller RPG

Purpose: Complete catalog of UI elements for design system templates
Date: October 12, 2025


🎨 Design System Overview

Color Palette

  • Primary: Purple gradient (#667eea to #764ba2)
  • Background: Dark theme (#1a1a2e, #16213e)
  • Success: Green (#10b981, #86efac)
  • Text: White (#fff), Light gray (#aaa, #ccc)
  • Borders: Subtle white rgba (0.1 opacity)

Typography

  • Headings: 24-32px, bold
  • Body: 14-16px, normal
  • Small: 12-13px, secondary info

📄 Page 1: Session Setup / Landing Page

Purpose

Entry point for creating/joining sessions and characters

Key Sections

1. Header Area

  • App Title: "🎭 Storyteller RPG"
  • Subtitle: Brief tagline
  • Logo placeholder (future)

2. Demo Session Quick Access

  • Section Title: "🎲 Demo Session - 'The Cursed Tavern'"
  • Description text: Brief explanation
  • Three action buttons:
    • Join as Storyteller (gold gradient)
    • Play as Bargin (character 1)
    • Play as Willow (character 2)
  • Button styling: Large, prominent, with icons

3. Session Creation Section

  • Section Title: "Create New Session"
  • Description: "Start a new game as the storyteller"
  • Input field: Session name (text)
  • Primary button: "Create Session"

4. Session Join Section

  • Section Title: "Join Existing Session"
  • Description: "Play as a character in an ongoing game"
  • Form elements:
    • Session ID input (text)
    • Character name input (text, required)
    • Description textarea (3 rows)
    • Personality textarea (2 rows, optional)
    • Model selector (dropdown with optgroups)
    • Model hint text (small, gray)
  • Character creation options:
    • Primary button: " Create Character (Wizard)"
    • Divider: "or"
    • Toggle button: "Quick Create" (shows simple form)
  • Submit button: "Join Session (Simple)" (conditional)

5. Dividers

  • Horizontal rule with centered text ("OR")
  • Visual separation between sections

📄 Page 2: Character View (Player Perspective)

Purpose

Player's interface for interacting with storyteller

Layout Structure

Three-column layout: Info | Messages | Public Feed

Key Sections

1. Character Header

  • Character name (h2, white, bold)
  • Description text (gray, italic)
  • Personality traits (with emoji prefix)
  • Profile badges (if profile exists):
    • Race badge
    • Class badge
    • Personality type badge
  • Action buttons:
    • Export button (📥)
    • Connection status indicator (● Connected / ○ Disconnected)

2. Current Scene Panel (if active)

  • Section title: "📜 Current Scene"
  • Scene text (large, prominent)
  • Background: Highlighted panel

3. Public Messages Section

  • Section title: "📢 Public Actions (All Players See)"
  • Message list:
    • Message sender label
    • Timestamp
    • Message content
    • Visual distinction from private messages

4. Private Conversation Area

  • Section title: "💬 Private Conversation with Storyteller"
  • Message thread:
    • Character messages (right-aligned, colored)
    • Storyteller messages (left-aligned, different color)
    • Timestamps
    • Message bubbles
  • Auto-scroll to latest

5. Message Composer

  • Message visibility selector (dropdown):
    • Private
    • Public
    • Mixed
  • Input area (varies by type):
    • Private/Public: Single text input
    • Mixed: Two textareas (public + private)
  • Send button (primary, disabled when disconnected)

6. AI Generation Section (future)

  • Generate suggestion button
  • Prompt customization
  • Regenerate option

📄 Page 3: Storyteller View (GM Perspective)

Purpose

Game master interface to manage all players and narrate story

Layout Structure

Two-column: Character list sidebar | Main content area

Key Sections

1. Session Header

  • Session name (h2)
  • Session ID display with copy button
  • Quick copy feedback (tooltip/toast)

2. Character List Sidebar

  • Section title: "Active Characters"
  • Character cards:
    • Character name
    • "💬 View" button (per character)
    • Highlight active selection
    • Pending response indicator (red dot)
  • Scrollable list

3. Scene Narration Panel

  • Section title: "📜 Scene Narration"
  • Textarea: Large input for scene description
  • Buttons:
    • "Broadcast Scene" (primary)
    • " AI Suggest" (secondary, generates scene)

4. Public Actions Feed

  • Section title: "📢 Recent Public Actions"
  • Message list:
    • Character name
    • Action content
    • Timestamp
  • Latest 5 messages shown

5. Character Conversation View

  • Header: Selected character name
  • Conversation thread:
    • Character messages
    • Your responses
    • Timestamps
  • Response composer:
    • Large textarea
    • Button group:
      • " AI Suggest"
      • "Send Private Response"

6. Multi-Character Response (future)

  • Select multiple characters
  • Generate context-aware response
  • Broadcast to selected players

📄 Page 4: Character Creation Wizard

Purpose

6-step guided character creation with profiles

Layout Structure

Modal overlay with centered card

Key Sections

1. Wizard Header

  • Title: "Create Your Character"
  • Progress indicator:
    • 6 steps shown
    • Active step highlighted
    • Step labels visible

2. Step Navigation

  • Footer buttons:
    • Cancel (left)
    • Back (if not step 1)
    • Next (steps 1-5)
    • Create Character (step 6)

Step-by-Step UI Elements

Step 1: Basic Info

  • Form elements:
    • Name input (required)
    • Gender selector (dropdown)
  • Import section:
    • Hint text
    • Import from JSON button (file picker)

Step 2: Description

  • Form elements:
    • Description textarea (4 rows, required)
    • Background textarea (3 rows, optional)

Step 3: Race & Class

  • Selection grids: (2x3 or responsive)
    • Race cards (clickable)
    • Class cards (clickable)
  • Card elements:
    • Name (bold)
    • Description (gray)
    • Selected state (highlighted border, gradient background)
    • Hover effects

Step 4: Personality

  • Selection grid: 2x2
    • Personality type cards
    • Same card styling as Step 3
  • Additional traits textarea (optional)

Step 5: AI Model

  • Model selector: Large dropdown
    • Optgroups (OpenAI, OpenRouter)
    • Model names with providers
  • Hint text: Model personality differences

Step 6: Review

  • Preview panels:
    • Basic Information
    • Description
    • Background (if provided)
    • Additional Traits (if provided)
    • AI Model
  • Summary card:
    • Character identity statement
    • Highlighted/special styling

📄 Future Pages (Phase 3+)

Gamemaster Dashboard

  • Game creation wizard
  • Player slot assignment
  • Role management grid
  • Game state overview
  • AI control panel

Admin Panel

  • System overview
  • User management
  • LLM configuration
  • Cost tracking dashboard
  • Analytics charts

Character Sheet (Enhanced)

  • Stats display
  • Inventory grid
  • Skills list
  • Equipment slots
  • Character progression

🎨 Common UI Components

Buttons

  1. Primary button: Purple gradient, white text
  2. Secondary button: Transparent, border, hover effect
  3. Wizard button: Extra gradient styling
  4. Export/Action buttons: Subtle rgba background
  5. Icon buttons: Small, inline

Form Elements

  1. Text inputs: Dark background, subtle border, focus glow
  2. Textareas: Resizable, same styling as inputs
  3. Dropdowns: Custom styling, optgroups
  4. File pickers: Hidden, triggered by styled button

Cards

  1. Selection cards: Clickable, hover lift, selected state
  2. Character cards: Compact, button included
  3. Message cards: Bubbles, aligned left/right
  4. Preview panels: Bordered sections with headers

Indicators

  1. Status dots: Colored circles (● ○)
  2. Badges: Rounded rectangles, colored background
  3. Progress bars: Step indicators
  4. Loading states: Spinners, skeleton screens

Feedback

  1. Toasts/Alerts: Success/error messages
  2. Tooltips: Hover information
  3. Validation messages: Inline form errors
  4. Empty states: No data placeholders

📐 Layout Patterns

Responsive Breakpoints

  • Desktop: > 768px (multi-column)
  • Mobile: ≤ 768px (single column, stacked)

Grid Systems

  • 2-column: Sidebar + main content
  • 3-column: Info + center + sidebar
  • Selection grids: Auto-fit, min 200px

Spacing

  • Sections: 2-3rem padding
  • Elements: 1-1.5rem gaps
  • Inline: 0.5-1rem margins

🎯 Design Prompt Template

For UI Design LLM:

Create a modern, dark-themed UI design for [PAGE NAME] with these elements:

**Color Scheme:**
- Primary: Purple gradient (#667eea to #764ba2)
- Background: Dark navy (#1a1a2e, #16213e)
- Accents: White with 10% opacity borders
- Text: White and light gray

**Layout:**
[Describe specific layout]

**Components Needed:**
[List specific elements for that page]

**Style:**
- Modern, clean, RPG-themed
- Smooth gradients and shadows
- Glassmorphism effects
- Smooth hover animations
- Mobile responsive

**Inspiration:**
Discord's UI, modern game interfaces, fantasy themes

📊 Component Priority

Essential (Implement First)

  1. Session setup forms
  2. Message display/composer
  3. Character header/info
  4. Navigation/buttons

Important (Phase 2-3)

  1. Character creation wizard
  2. Storyteller dashboard
  3. Profile displays
  4. Export/import UI

Nice-to-Have (Phase 4+)

  1. Character sheets with stats
  2. Inventory management
  3. Dice roller UI
  4. Image generation panels
  5. Analytics dashboards

Total UI Elements Cataloged: 100+
Pages Documented: 4 (+ 3 future)
Ready for design system creation