GSoC/2020/StatusReports/AshwinDhakaita: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2020‎ | StatusReports
 
Line 67: Line 67:


=== List of Commits ===
=== List of Commits ===
* [https://phabricator.kde.org/R37:a4a9f2c519c84e975f0281efe8bade3d47d1a51d Added Libmypaint to Cmake]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=a4a9f2c519c84e975f0281efe8bade3d47d1a51d Added libmypaint to cmake]
* [https://phabricator.kde.org/R37:744e8d4d2651f078b5161c37a213f4a883a1076c Added MyPaint Brush engine to PaintOp Registry]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=744e8d4d2651f078b5161c37a213f4a883a1076c Added mypaint brush engine to paintop registry]
* [https://phabricator.kde.org/R37:bd395d20f44c15e3390bd557b5a2e1f72a0f7259 Added KisMyPaintBrush and KisMyPaintSurface classes]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=bd395d20f44c15e3390bd557b5a2e1f72a0f7259 Added KisMyPaintBrush and KisMyPaintSurface classes]
* [https://phabricator.kde.org/R37:14bf4538d743bee69ea250892d54fde130c85dd3 Added cursor for MyPaintOp]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=14bf4538d743bee69ea250892d54fde130c85dd3 Added cursor for MyPaintOp]
* [https://phabricator.kde.org/R37:65509baacfc3bd22401b474ef634dc09b43f4228 Implemented Load Methods for KisMyPaintBrush]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=65509baacfc3bd22401b474ef634dc09b43f4228 Implemented Load Methods for KisMyPaintBrush]
* [https://phabricator.kde.org/R37:3a02aaad385bfd4e83a6d74a9228842d00f8db66 Refactored MyPaintOpPlugin to use KisMyPaintOpFactory]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=3a02aaad385bfd4e83a6d74a9228842d00f8db66 Refactored MyPaintOpPlugin to use KisMyPaintOpFactory]
* [https://phabricator.kde.org/R37:3b90a3269362f723fbabda373259b124204cec12 Added Tests for MyPaintOp plugin]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=3b90a3269362f723fbabda373259b124204cec12 Added Tests for MyPaintOp plugin]
* [https://phabricator.kde.org/R37:2be5f080c51f2d0d9c6b48b02e0955d78e794d01 Optimized draw_dab and get_color methods]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=2be5f080c51f2d0d9c6b48b02e0955d78e794d01 Optimized draw_dab and get_color methods]
* [https://phabricator.kde.org/R37:ec2d4e934b49cbc70778cb5b8acfd0a9845bee2b Unlinked Libmypaint from libs/image]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=ec2d4e934b49cbc70778cb5b8acfd0a9845bee2b Unlinked Libmypaint from libs/image]
* [https://phabricator.kde.org/R37:a1f669c899246f64e739b898cb2fffaefea46752 Fixed Eraser not working]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=a1f669c899246f64e739b898cb2fffaefea46752 Fixed Eraser not working]
* [https://phabricator.kde.org/R37:68761daaec6d2ff7afeaef635a784f364bd332e0 Fixed broken build when libmypaint is not installed]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=68761daaec6d2ff7afeaef635a784f364bd332e0 Fixed broken build when libmypaint is not installed]
* [https://phabricator.kde.org/R37:ff81a5b213bbb020d77d7d32b26f0512779806a1 Fix for splatter-04 preset]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=ff81a5b213bbb020d77d7d32b26f0512779806a1 Fix for splatter-04 preset]
* [https://phabricator.kde.org/R37:b8957b8b3036e15d7152aa402bd3a7f82c12772e Added Classic mypaint brush presets in the default install]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=b8957b8b3036e15d7152aa402bd3a7f82c12772e Added Classic mypaint brush presets in the default install]
* [https://phabricator.kde.org/R37:413988ea2e9919b087d8b83c479ec4ef241190e0 Enable brush Resizing]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=413988ea2e9919b087d8b83c479ec4ef241190e0 Enable brush Resizing]
* [https://phabricator.kde.org/R37:b32501ce7c8f27c57910861b5246b4136e0acd19 Converted Properties to QScopedPointers]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=b32501ce7c8f27c57910861b5246b4136e0acd19 Converted Properties to QScopedPointers]
* [https://phabricator.kde.org/R37:6602bcbe2f010b5f74a9a1434217e532bdb9a778 Slight Change in dabrect]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=6602bcbe2f010b5f74a9a1434217e532bdb9a778 Slight Change in dabrect]
* [https://phabricator.kde.org/R37:0c1ac8fc938e6d28bb3fcb1f40dce052d2ea2071 Refactor to make methods non global]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=0c1ac8fc938e6d28bb3fcb1f40dce052d2ea2071 Refactor to make methods non global]
* [https://phabricator.kde.org/R37:88320134075eed51796c76bc01b30d709d885281 Fix for 1Pixel preset]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=88320134075eed51796c76bc01b30d709d885281 Fix for 1Pixel preset]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=8e73a058017ba81b5e72d80d6ce06c17d181ca73 Removed unused code from draw_dab]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=8e73a058017ba81b5e72d80d6ce06c17d181ca73 Removed unused code from draw_dab]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=b65a827c3591548f94918f3d974caed786464663 Rectified Tests for QScopedPointers]
* [https://invent.kde.org/graphics/krita/-/merge_requests/377/diffs?commit_id=b65a827c3591548f94918f3d974caed786464663 Rectified Tests for QScopedPointers]

Latest revision as of 16:38, 27 August 2020

Integrating the MyPaint Brush Engine with Krita

Summary

MyPaint developers have separated out their brush engine in the form of a library, libmypaint. Artists like MyPaint brushes a lot and it would be good to integrate the same as a new brush engine within Krita brush engine subsystem.

The project has two objectives:

  1. To integrate the MyPaint brush engine in the form of a new brush engine in Krita, enable it to load the MyPaint brushes from system and use them for painting in Krita.
  2. To implement a preset editor to edit existing brushes and also create new ones.

By the end of the project, Krita will have a new brush engine that can be used for painting with MyPaint brushes and also create and edit them.

Project Goals

  • Implement a new brush engine in Krita
         STATUS: Complete
  • Enable Krita to load installed MyPaint brushes from the system.
         STATUS: Complete
  • Implement a preset editor for editing and creating MyPaint brushes.
         STATUS: Complete
  • Documenting the brush engine.
         STATUS: Complete

Work Report

Implement a new brush engine in Krita

The first step in achieving the MyPaint Brush integration in Krita was to implement a new brush engine which makes use of Libmypaint apis at the backend for painting. This brush engine will serve as a wrapper to the one provided by MyPaint and help libmypaint in interfacing with the Krita system.

  • Status - Complete
  • Duration - 25 May - 29 June

Spray brush

Calligraphy Brush

Particules Brush

Enable Krita to load MyPaint Brushes

The newly available MyPaint brush engine is of no use if it can't load installed MyPaint brushes from the system. So, we want to enable Krita to load these brushes.

  • Status - Complete
  • Duration - 20 June - 29 June

Loaded MyPaint Brushes

Implement Preset Editor

This aims at creating a preset editor, pretty similar to the one preset in Krita already. This will help in creating new MyPaint brushes and modify the existing ones. Just think, what good a brush would be if we can't even change it's size or paint color .

  • Status - Complete
  • Duration - 30 June- 23 July

MyPaint Brush Engine Preset Editor

Documenting the Brush Engine

This completed recently. Had to create a document to help users to know about the settings that MyPaint brush engine provides. This has to added in the brush engine section of Krita Manual. The only problem with this is that mypaint is pretty complex and there is no good documentation available even on MyPaint's website. So, this is still a problem that the usability of this document is a bit minimal given that the terminologies used are pretty complicated for a beginner.

  • Status - Complete
  • Duration - 24 August - 26 August

What is Complete And What is Left

Most of my project is complete and ready to be merged. Though there are still a few small bugs that need to be resolved. They shouldn't take more than a few days to solve. Once done, the project shall be completely ready.

List of Commits

Project Links

Monthly Status Reports

Note: Phase 3 Report will be out on 31st August and will be available through my blog. All my GSoC weekly reports are also present on my blog.

About Me