WIP: Get rid of old-style undo commands in modifying vector layers
This is a working-in-progress. When done, it should
- make all operations to vector shapes (not including to operations to the node itself, e.g. moving) happen in strokes
- as a side-effect of (1), make interactions with shapes faster on older machines
- replace the whole layer when undo-/redoing
I moved a large part of stroke system into its own directory, namely libkritastroke, since flake depend on it now.
KoPathTool is now in plugins directory, since it depends on, at least, kritaimage (KisNode), now.
Problems
Shape selection is not yet kept.
Test Plan
(Shape creating tools, default tool, path tool, svg text tool and calligraphy tool should work as expected, as respond to undo commands correctly.)
Formalities Checklist
-
I confirmed this builds. -
I confirmed Krita ran and the relevant functions work. -
I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!) -- No flake tests broken under ASan -
I made sure my commits build individually and have good descriptions as per KDE guidelines. (Some commits failed to build due to wrong include paths) -
I made sure my code conforms to the standards set in the HACKING file. -
I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by Dmitry Kazakov