GSoC/2019/StatusReports/Albertoefg: Difference between revisions
Albertoefg (talk | contribs) No edit summary |
Albertoefg (talk | contribs) No edit summary |
||
Line 35: | Line 35: | ||
=== Load AVB === | === Load AVB === | ||
* '''Goal''': The Animated Vector Brush file should be loaded and call the proper Class, in this case | * '''Goal''': The Animated Vector Brush file should be loaded and call the proper Class, in this case ''kis_vectoranimated_brush'' | ||
* '''Status''': The implementation is done, the loading of the AVB by the user is using the +import tab. | * '''Status''': The implementation is done, the loading of the AVB by the user is using the +import tab. | ||
* '''Related blog post''': [https://albertoefg.info/blog/2019/06/2019-06-09-my_first_two_weeks.html#org54db47c My first two weeks on Google Summer of Code] | * '''Related blog post''': [https://albertoefg.info/blog/2019/06/2019-06-09-my_first_two_weeks.html#org54db47c My first two weeks on Google Summer of Code] | ||
Line 44: | Line 44: | ||
=== Parse SVG === | === Parse SVG === | ||
* '''Goal''': The SVG should be parsed and transformed to KoShape as necessary, so Krita can use them to set | * '''Goal''': The SVG should be parsed and transformed to KoShape as necessary, so Krita can use them to set ''brushTipImage'', paint dabs or change the size of the brush tip. | ||
* '''Status''': Done. | * '''Status''': Done. | ||
* '''Related blog post''': [https://albertoefg.info/blog/2019/06/2019-06-23-the_last_two_weeks_on_krita.html Basic functionality almost ready] | * '''Related blog post''': [https://albertoefg.info/blog/2019/06/2019-06-23-the_last_two_weeks_on_krita.html Basic functionality almost ready] | ||
Line 53: | Line 53: | ||
=== Render brush tips as images. === | === Render brush tips as images. === | ||
* '''Goal''': The KoShapes should be transformed to QImage as necessary, so Krita can use them to set | * '''Goal''': The KoShapes should be transformed to QImage as necessary, so Krita can use them to set ''brushTipImage'', paint dabs or change the size of the brush tip. | ||
* '''Status''': Done. | * '''Status''': Done. | ||
* '''Related blog post''': [https://albertoefg.info/blog/2019/06/2019-06-23-the_last_two_weeks_on_krita.html Basic functionality almost ready] | * '''Related blog post''': [https://albertoefg.info/blog/2019/06/2019-06-23-the_last_two_weeks_on_krita.html Basic functionality almost ready] | ||
Line 63: | Line 63: | ||
== Write a helper parasite class == | === Write a helper parasite class === | ||
* '''Goal''': Write a class that will aid the ~kis_vectoranimatedbrush~ class, holding the values of the Index and related data. | |||
* '''Status''': In Progress. Although the majority of the class works now, there is a need for comments and cleaning. | |||
* Related blog post: [https://albertoefg.info/blog/2019/07/implementing_a_derivated_class_of_kis_brushes_pipe.html Implementing a derivated class of kis_brushes_pipe] | |||
==== Commits and Differentials ==== | |||
* [https://phabricator.kde.org/T10930 Phabricator T10930] | |||
** [https://invent.kde.org/albertofl/krita/commit/065ac9ba9ce8c037f8ffeedb0ce4081bf4716bcf 065ac9ba: Added a parasite helper class] | |||
** [https://invent.kde.org/albertofl/krita/commit/4d3fbd9b40260b21f138e6df30495fe0c6b3c4f3 4d3fbd9b: Fix the segmentation fault] | |||
== Change brush tip with every dab. == | |||
=== Change brush tip with every dab. === | |||
* '''Goal''': Change the ''brushTipimage'' with every dab | |||
* '''Status''': In Progress. As of right now the images are being changed with every dab but it could be done in a faster way, not using ~prepareForSeqNo~ or limiting the amount of times it runs. | |||
* '''Related blog post''': To be written | |||
==== Commits and Differentials ==== | |||
* [https://phabricator.kde.org/T10930 Phabricator T10930] | |||
** [https://invent.kde.org/albertofl/krita/commit/2ed1c1d5acd7e5098a85f4948893ff52cfd52ac9 2ed1c1d5: Fix iteration of shapesToimages] | |||
** Save as AVB. | ** Save as AVB. | ||
- TODO | - TODO |
Revision as of 17:40, 20 August 2019
Krita: Animated Vector Brush
Summary
- Project Name: Animated Vector Brush for Krita
- Proposal: Google Docs Proposal
- Abstract: This projects aims to implement an Animated Vector Brush for Krita, which uses SVG as a source file for the brush tips. The purpose of an animated brush is to change the brush tips automatically with every dab on the canvas. This allows for a quick way to paint different images, create random and fun designs, and explore new ways to paint that are not easy in physical world. In the other hand, using SVG as a source makes it easy to share the brush tips as they are saved as plain text, as opposed to raster image brushes.
Project Goals
- Write documentation for end users as per the Krita Contribution Guide.
- Define the structure of the SVG file containing the source tips for the Animated Vector Brush
- Load AVB
- Parse SVG
- Render SVG as images
- Write a helper parasite class
- Change brush tip with every dab
- Save AVB
- Phabricator https://phabricator.kde.org/T10930
- Personal Blog https://albertoefg.info/blog/kde.html
Implementations Status
Write documentation
- Goal: The documentation should be written for end users as per the Krita Contribution Guide, it should also be sufficient for the users to understand and use the brush.
- Status: The documentation is mostly done, it is only necessary to add the proper screenshots and update in case of changes.
- TODO: Add screenshots.
- Related blog post: My first two weeks on Google Summer of Code
Commits and Differentials
Load AVB
- Goal: The Animated Vector Brush file should be loaded and call the proper Class, in this case kis_vectoranimated_brush
- Status: The implementation is done, the loading of the AVB by the user is using the +import tab.
- Related blog post: My first two weeks on Google Summer of Code
Commits and Differentials
Parse SVG
- Goal: The SVG should be parsed and transformed to KoShape as necessary, so Krita can use them to set brushTipImage, paint dabs or change the size of the brush tip.
- Status: Done.
- Related blog post: Basic functionality almost ready
Commits and Differentials
Render brush tips as images.
- Goal: The KoShapes should be transformed to QImage as necessary, so Krita can use them to set brushTipImage, paint dabs or change the size of the brush tip.
- Status: Done.
- Related blog post: Basic functionality almost ready
Commits and Differentials
Write a helper parasite class
- Goal: Write a class that will aid the ~kis_vectoranimatedbrush~ class, holding the values of the Index and related data.
- Status: In Progress. Although the majority of the class works now, there is a need for comments and cleaning.
- Related blog post: Implementing a derivated class of kis_brushes_pipe
Commits and Differentials
Change brush tip with every dab.
- Goal: Change the brushTipimage with every dab
- Status: In Progress. As of right now the images are being changed with every dab but it could be done in a faster way, not using ~prepareForSeqNo~ or limiting the amount of times it runs.
- Related blog post: To be written
Commits and Differentials
- Save as AVB.
- TODO