Skip to content

Implement Undo/Redo functionality#6

Draft
ExplosBlue wants to merge 32 commits intomainfrom
undo-redo
Draft

Implement Undo/Redo functionality#6
ExplosBlue wants to merge 32 commits intomainfrom
undo-redo

Conversation

@ExplosBlue
Copy link
Owner

@ExplosBlue ExplosBlue commented Mar 18, 2026

Summary

This PR implements Undo/Redo support across the editor by introducing standardized document and selection models, and integrating undo commands into property editing workflows.


Backend

Completed

  • Implemented a unified document model
  • Implemented a unified selection model
  • Added atomic getters/setters for Emitter properties
  • Added undo commands for Emitter properties
  • Added undo commands for PTCL properties
  • Added undo commands for EmitterSet property changes
  • Added undo commands for copy & paste

Pending

  • Add undo commands for adding/removing:
    • Emitters
    • EmitterSets
    • Textures

UI

Completed

  • Updated Emitter property inspectors to use undo commands
  • Updated EmitterSet property inspectors to use undo commands
  • Updated Field property inspectors to use undo commands
  • Updated Fluctuation property inspectors to use undo commands
  • Updated Child property inspectors to use undo commands
  • Replaced existing editor widgets:
    • EmitterWidget
    • ChildEditorWidget
    • FieldEditorWidget
    • FluctuationEditorWidget
    • EmitterSetWidget
    • ProjectProperties
      with a unified inspector widget

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