title | aliases | tags | created | updated | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Journal System |
|
|
2024-12-28 |
2024-12-28 |
The journal system provides automatic logging of game events, character interactions, and player actions.
The Journal System documentation aims to:
- Provide technical implementation details for developers
- Document journal entry types and management
- Serve as a reference for journal-related components
- Maintain consistency across system integrations
The journal system provides automatic logging of game events, character interactions, and player actions while supporting entry creation and organization. It integrates closely with both the [[../core-systems/ai-integration|AI System]] and [[../core-systems/combat-system|Combat System]].
interface JournalEntry {
type: 'narrative' | 'combat' | 'inventory' | 'quest';
timestamp: number;
content: string;
narrativeSummary?: string;
}
interface CombatJournalEntry extends JournalEntry {
type: 'combat';
combatants: {
player: string;
opponent: string;
};
outcome: 'victory' | 'defeat' | 'escape' | 'truce';
}
interface InventoryJournalEntry extends JournalEntry {
type: 'inventory';
items: {
acquired: string[];
removed: string[];
};
}
The JournalManager class provides core functionality for managing journal entries:
- Narrative entry creation with AI-generated summaries
- Combat result logging with outcome tracking
- Inventory change recording
- Entry filtering and search capabilities
For current enhancements, see [[../features/_current/journal-enhancements|Journal Enhancements]].
- Displays chronological entries
- Shows narrative summaries
- Includes combat results
- Maintains formatting
- Implements virtualized scrolling
- Handles different entry types
- Optimized for large journal lists
For UI details, see [[../features/_current/narrative-formatting|Narrative Formatting]].
-
Narrative Entries
- Story progression
- Character interactions
- World events
- Player decisions
-
Combat Entries
- Battle outcomes
- Damage reports
- Tactical decisions
- Combat statistics
-
Inventory Entries
- Item acquisitions
- Equipment usage
- Resource management
- Inventory changes
-
Quest Entries
- Mission updates
- Objective tracking
- Progress markers
- Completion status
- Automatic narrative summary generation
- Context-aware entry creation
- Theme-appropriate formatting
- Event significance detection
For AI details, see [[../core-systems/ai-integration|AI Integration]] and [[../ai/prompt-engineering/storytelling|Storytelling Prompts]].
- Automatic combat logging
- Wound and damage tracking
- Battle outcome recording
- Statistical tracking
For combat details, see [[../core-systems/combat-system|Combat System]] and [[../boot-hill-rules/combat-rules|Combat Rules]].
- Automatic state persistence
- Entry versioning
- Data integrity checks
- Recovery mechanisms
For state management details, see [[../core-systems/state-management|State Management]].
- Automatic item tracking
- Equipment changes
- Resource management
- Trade records
For inventory details, see [[../features/_current/inventory-interactions|Inventory System]].
interface JournalFilter {
type?: 'narrative' | 'combat' | 'inventory' | 'quest';
startDate?: number;
endDate?: number;
searchText?: string;
}
- Content cleaning
- Metadata extraction
- Summary generation
- Format standardization
- Virtualized scrolling for large lists
- Memoized entry rendering
- Efficient state updates
- Debounced search operations
- Entry batching
- Lazy loading
- Cache management
- Storage optimization
- Entry validation
- State restoration
- Corruption detection
- Backup mechanisms
- Enhanced search capabilities
- Advanced formatting options
- Media attachments
- Export functionality
- Timeline visualization
- Character relationship tracking
- Quest progress visualization
- Custom entry templates
For planned features, see [[../planning/roadmap|Development Roadmap]].
- [[../features/_current/journal-enhancements|Journal Enhancements]]
- [[../architecture/state-management|State Management Architecture]]
- [[../technical-guides/testing|Testing Guide]]
- [[../boot-hill-rules/game-overview|Game Rules Overview]]