< GSoC‎ | 2019‎ | StatusReports
Revision as of 03:26, 26 July 2019 by Tusooa Zhu (talk | contribs)
Jump to: navigation, search

Better undo/redo for krita

This project is divided into two parts.

Snapshot Docker

Implement a docker to allow users create snapshots (shallow copies) of the current state of documents and switch back to them at a later time.

Copy-on-Write Vector Layers

Make vector layers copy-on-write so that the undo/redo system for them can be implemented by replacing the layer with another, rather than store the undo information for each command.



  • Research into solutions for copy-on-write mechanism
  • Snapshot Docker
  • COW vector layers
    • Make members of KoShapePrivate implicitly-sharable
    • Make KoShape hierarchy implicitly-sharable


  • Create undo commands that switch between states of vector layers
    • [x] Stroke & interaction strategies for vector layer interactions
    • Port interaction strategies to the new system
    • Refactor out old undo commands



Blog posts:

Content is available under Creative Commons License SA 4.0 unless otherwise noted.