GSoC/2019/StatusReports/tusooa: Difference between revisions
Sharaf Zaman (talk | contribs) (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...") |
Tusooa Zhu (talk | contribs) No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
* Research into solutions for copy-on-write mechanism | * Research into solutions for copy-on-write mechanism | ||
* Snapshot Docker | * Snapshot Docker | ||
* COW vector layers | * COW vector layers | ||
** 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 === | |||
=== Todo === | |||
== Links == | == Links == | ||
* [https://phabricator.kde.org/T10901 Phabricator task] | * [https://phabricator.kde.org/T10901 Phabricator task] | ||
* [https://invent.kde.org/ | ** [https://phabricator.kde.org/T10991 Subtask 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/115 Merge Request for undo commands] | |||
Blog posts: | Blog posts: | ||
* [https://tusooa.github.io/2019/05/13/GSoC-2019/ | * [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] | ||
* [https://tusooa.github.io/2019/06/16/New-Style-Signal-Slot-Connection/ Porting the new error-preventing syntax of signal/slot connection to KisAutoSignalConnectionsStore] | |||
* [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/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] | |||
* [https://tusooa.github.io/2019/08/24/Pay-another-respect-to-kritacommand-which-we-are-going-beyond/ And we are done for now, I think] |
Latest revision as of 18:41, 25 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
- Phabricator task
- Merge Request for Snapshot Docker
- Merge Request for COW Vector Layers
- Merge Request for undo commands
Blog posts:
- An introduction
- Some Strategies for COW
- An example for the undo system to use clones
- Porting the new error-preventing syntax of signal/slot connection to KisAutoSignalConnectionsStore
- Done with the snapshots
- Making Flake as COW as possible
- Getting the interaction running in the image thread (stroke)
- Attending the community's meeting
- And we are done for now, I think