Starting Off : GSoC 2014 with Krita

Hi, I am Mohit Goyal from BITS Pilani K.K. Birla Goa Campus and I am participating in GSoC’14 with KDE or to be more specific – Krita.

Krita is an established Digital Painting Software developed in the Calligra Suite of Desktop Applications under KDE. Its the product of a massive open source community of developers and painters alike – everybody trying to make it better each day. Here is a glimpse of some art developed by David Revoy( in Krita.

My Tryst with Krita began in mid January through another developer for Krita. It took me days to set up Calligra and Krita partially because I was somewhat lazy and because the concept of compiling from source code was new. Usually sudo apt-get was all I did.

I got some excellent help from the community from people like Paul (mifth), Boud, DmitryK to get QtCreator rightly configured and to start off with my first contribution to open source – Fuzzy Parameter rotates in one direction. Despite all the help I got — It took me more than 20 days to make any headway.

All in all, after 3 months, several patches, several screenshots and several patches to fix the previous patches – my proposal to work with Krita in GSoC’14 got accepted. The proposal also was a product of some thought from my side and heavy correction from my mentors DmitryK and Boud.

About my Project :

I will primarily be working to improve the Brush Module in Krita. There are three features I will be implementing :

  1. Whenever the settings of a brush are changed from its preset, then after the brush is changed – the tweaked settings are lost. To counter this, the tweaked settings can be saved temporarily till the end of the session in a “Dirty Preset”. This Dirty Preset will work on top of the selected Paintop’s default preset. So, the user will not have to tweak his settings every time he changes a brush.

  2. An artist in Krita often uses short consecutive strokes while using brush-based tools.Since, each stroke is considered separate, to undo the strokes, the user has to call the Undo Command several times which is quite cumbersome. Using Cumulative Undo/Redo when drawing consecutive strokes with a brush-based tool, such strokes will be regarded as a single one for the undo system. Therefore when calling the Undo/Redo command, they will be undone/redone at the same time.

  3. Whenever an artist switches from one brush to another, he has to start making the brush all over again to include his own tweaks that he had made in the previous brush. Also, he may like to have certain capabilities from the other brush as well. Hence, a Master Brush Engine can solve this issue by incorporating all compatible capabilities in one brush engine. This brush engine can also import certain settings from different brushes and put them all together.

Continue reading “Starting Off : GSoC 2014 with Krita”