Skip to content

feat: undo/redo, real-time progress, app icon#9

Merged
Wintersta7e merged 10 commits intomainfrom
feature/progress-undoredo
Mar 6, 2026
Merged

feat: undo/redo, real-time progress, app icon#9
Wintersta7e merged 10 commits intomainfrom
feature/progress-undoredo

Conversation

@Wintersta7e
Copy link
Owner

Summary

  • Undo/redo system — full command-pattern undo/redo for all editor actions (add, delete, move, connect, disconnect, config changes) with Ctrl+Z / Ctrl+Y and 25-step history
  • Real-time progress reportingPipelineProgressEvent discriminated union with phased progress (Enumerating → Processing → Complete), live file discovery count, and per-file status in both UI and CLI
  • Application icon — anvil-with-node-circuits icon for window title bar, taskbar, and Windows executable
  • 66 new tests (309 total) covering undo/redo manager, all 6 command types, progress events, execution log VM, and editor integration
  • Code review fixes — SemaphoreSlim disposal race, command loss on exception, IsConnected multi-connection recalculation, execution log 5K entry cap, CLI thread safety

Key additions

  • UndoRedoManager with linked-list stack, 25-entry cap, PushOrCoalesce for config keystroke coalescing
  • 6 undoable commands: AddNodeCommand, RemoveNodesCommand, MoveNodeCommand, ConnectCommand, DisconnectCommand, ChangeConfigCommand + CompositeCommand
  • PipelineProgressEvent types: PhaseChanged, FilesDiscovered, FileProcessed
  • Updated README, USER_GUIDE, and CHANGELOG for v1.3.0

- Fix SemaphoreSlim disposal race in PipelineRunner
- Fix command loss on exception in UndoRedoManager
- Fix IsConnected recalculation in RemoveNodesCommand
- Add PushOrCoalesce for config field keystroke coalescing
- Add CompositeCommand for batch undo operations
- Add execution log 5000-entry cap
- Add CLI progress thread safety (lock)
- Restore selection state on undo of node deletion
- Refresh properties panel on undo/redo via StateChanged
- Report PhaseChanged(Complete) only on success
- Add 66 new tests (309 total)
- Update README, USER_GUIDE, CHANGELOG for v1.3.0

Co-Authored-By: Rooty
- Add icon.png as Avalonia window icon (title bar + taskbar)
- Add icon.ico as Windows executable icon (Explorer + pinned taskbar)
- Multi-resolution ICO: 16, 32, 48, 64, 128, 256px

Co-Authored-By: Rooty
@Wintersta7e Wintersta7e merged commit 9bfb822 into main Mar 6, 2026
2 checks passed
@Wintersta7e Wintersta7e deleted the feature/progress-undoredo branch March 6, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant