# Specification: Undo/Redo History Support

## 1. Overview
This track implements a robust, non-provider based Undo/Redo system within the Manual Slop GUI. It allows users to revert and redo common UI actions, focusing on text inputs, control states, and discussion structure, without impacting AI-generated content or remote state.

## 2. Functional Requirements

### 2.1 Supported Actions
- **Text Inputs:** Undo/redo for system prompts, discussion entries, and any editable text boxes.
- **UI Controls:** Revert changes to sliders (Temperature, Top-P), checkboxes, and preset selections.
- **Discussion Structure:** Support undo/redo for deleting or inserting discussion entries.
- **Context Management:** Undo/redo for additions and removals of context files and screenshots.

### 2.2 History Management
- **Capacity:** A fixed limit of 50-100 actions in the undo stack.
- **Scope:** History is session-specific and not persisted between application restarts.
- **Exclusions:** Actions triggering AI vendor API requests or MMA track progression are explicitly excluded from the undo system.

### 2.3 User Interface
- **Hotkeys:** Implementation of standard `Ctrl+Z` (Undo) and `Ctrl+Y` / `Ctrl+Shift+Z` (Redo) shortcuts.
- **History List View:** A dedicated visual 'History List' panel showing recent actions, allowing users to jump back to specific points in the timeline.

## 3. Non-Functional Requirements
- **Low Overhead:** The history system must have minimal impact on UI responsiveness.
- **Thread Safety:** Ensure state snapshots and restorations are thread-safe within the GUI loop.

## 4. Acceptance Criteria
- [ ] Users can undo and redo text edits in the system prompt and discussion fields.
- [ ] UI control changes (sliders, presets) are correctly captured and restorable.
- [ ] Discussion entry deletions/insertions can be reverted and redone.
- [ ] Context additions/removals are tracked in the history.
- [ ] `Ctrl+Z` and `Ctrl+Y` hotkeys work as expected.
- [ ] The History List view accurately displays and allows jumping between states.

## 5. Out of Scope
- Undo/redo for AI model generations or vendor API calls.
- Undo/redo for MMA execution state transitions.
- Persistent history across application restarts.
