Jump to content

GSoC/2019/StatusReports/tusooa: Difference between revisions

From KDE Community Wiki
Created page with "== 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 t..."
 
Update DONE/DOING/TODO list
Line 15: Line 15:
   
   
* Research into solutions for copy-on-write mechanism
* Research into solutions for copy-on-write mechanism
* Snapshot Docker
 
=== Doing ===
=== Doing ===
   
   
* Snapshot Docker
* COW vector layers: Make members of KoShapePrivate implicitly-sharable
   
   
=== Todo ===
=== Todo ===
Line 33: Line 34:
Blog posts:
Blog posts:
   
   
* [https://tusooa.github.io/2019/05/13/GSoC-2019/ A Summary]
* [https://tusooa.github.io/2019/05/13/GSoC-2019/ An introduction]
* [https://tusooa.github.io/2019/05/18/Polymorphism-and-Implicit-Sharing/ Some Strategies for COW]
* [https://tusooa.github.io/2019/05/18/Polymorphism-and-Implicit-Sharing/ Some Strategies for COW]
* [https://tusooa.github.io/2019/05/30/Assistants-copy-share-assignment/ An example for the undo system to use clones]
* [https://tusooa.github.io/2019/05/30/Assistants-copy-share-assignment/ An example for the undo system to use clones]

Revision as of 08:33, 20 June 2019

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.

Progress

Done

  • Research into solutions for copy-on-write mechanism
  • Snapshot Docker

Doing

  • COW vector layers: Make members of KoShapePrivate implicitly-sharable

Todo

  • COW vector layers
    • Make members of KoShapePrivate implicitly-sharable
    • Make KoShape hierarchy implicitly-sharable
    • Create undo commands that switch between states of vector layers

Links

Blog posts: