Difference between revisions of "GSoC/2019/StatusReports/tusooa"

< GSoC‎ | 2019‎ | StatusReports
Jump to: navigation, search
Line 19: Line 19:
 
** Make members of KoShapePrivate implicitly-sharable
 
** Make members of KoShapePrivate implicitly-sharable
 
** Make KoShape hierarchy implicitly-sharable
 
** Make KoShape hierarchy implicitly-sharable
 +
* Create undo commands that switch between states of vector layers
 +
** Stroke & interaction strategies for vector layer interactions
 +
** Port interaction strategies to the new system
 +
** Refactor out old undo commands
  
 
=== Doing ===
 
=== Doing ===
  
* 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
 
 
   
 
   
 
=== Todo ===
 
=== Todo ===
Line 35: Line 35:
 
* [https://invent.kde.org/kde/krita/merge_requests/41 Merge Request for Snapshot Docker]
 
* [https://invent.kde.org/kde/krita/merge_requests/41 Merge Request for Snapshot Docker]
 
* [https://invent.kde.org/kde/krita/merge_requests/58 Merge Request for COW Vector Layers]
 
* [https://invent.kde.org/kde/krita/merge_requests/58 Merge Request for COW Vector Layers]
 +
* [https://invent.kde.org/kde/krita/merge_requests/115 Merge Request for undo commands]
 
   
 
   
 
Blog posts:
 
Blog posts:
Line 44: Line 45:
 
* [https://tusooa.github.io/2019/06/21/Snapshot-Docker/ Done with the snapshots]
 
* [https://tusooa.github.io/2019/06/21/Snapshot-Docker/ Done with the snapshots]
 
* [https://tusooa.github.io/2019/07/09/make-j5-kritaflake/ Making Flake as COW as possible]
 
* [https://tusooa.github.io/2019/07/09/make-j5-kritaflake/ Making Flake as COW as possible]
 +
* [https://tusooa.github.io/2019/07/26/Strokes-are-Working-Now/ Getting the interaction running in the image thread (stroke)]
 +
* [https://tusooa.github.io/2019/08/21/The-Sprint/ Attending the community's meeting]

Revision as of 16:16, 24 August 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
  • COW vector layers
    • Make members of KoShapePrivate implicitly-sharable
    • Make KoShape hierarchy implicitly-sharable
  • Create undo commands that switch between states of vector layers
    • Stroke & interaction strategies for vector layer interactions
    • Port interaction strategies to the new system
    • Refactor out old undo commands

Doing

Todo

Links

Blog posts:


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