-
Notifications
You must be signed in to change notification settings - Fork 1
Feature 14: Character History & Undo #139
Copy link
Copy link
Open
Labels
P3: LowLow priority - future enhancementsLow priority - future enhancementscharacter-sheetCharacter sheet featuresCharacter sheet featuresdatabaseDatabase schema changesDatabase schema changesenhancementNew feature or requestNew feature or requestgame-masterGame Master mode featuresGame Master mode features
Description
Description
Track character state changes over time and allow undoing recent changes.
Priority
P3 (Low) - Future enhancement
Estimated Effort
4 days
Dependencies
- Feature 1: Add GameMasterCharacter Database Model #126 (Feature 1: Add GameMasterCharacter Database Model)
Acceptance Criteria
- History table stores all changes
- Undo button reverts last change
- History shows last 10 changes
- Changes timestamped
- Changes attributed to source (user/AI)
Implementation Details
Add to schema:
GameMasterCharacterHistory: a.model({
id: a.id(),
characterId: a.id(),
adventureId: a.id(),
questStepId: a.string(),
changeType: a.string(), // 'stat' | 'inventory' | 'hp' | 'level'
fieldChanged: a.string(),
oldValue: a.json(),
newValue: a.json(),
reason: a.string(),
triggeredBy: a.string(), // 'user' | 'ai' | 'system'
createdAt: a.date(),
}).authorization(allow => [allow.owner(), allow.groups(['Admins'])])Record changes:
const recordChange = async (change: CharacterChange) => {
await dataClient.models.GameMasterCharacterHistory.create({
characterId: characterState.id,
adventureId: adventureState.id,
changeType: change.type,
fieldChanged: change.field,
oldValue: change.oldValue,
newValue: change.newValue,
reason: change.reason,
triggeredBy: change.source,
});
};Testing
- Changes recorded to history
- Undo reverts change
- History displays correctly
- Timestamps accurate
Related Documentation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3: LowLow priority - future enhancementsLow priority - future enhancementscharacter-sheetCharacter sheet featuresCharacter sheet featuresdatabaseDatabase schema changesDatabase schema changesenhancementNew feature or requestNew feature or requestgame-masterGame Master mode featuresGame Master mode features