Skip to content

Last Week in Krita -- Week 32 and a bit of 33

Previous Post | Friday, 20 August 2010 | Reading time: 4 minutes | Next Post

Today is the final day of the Google Summer of Code period. For Krita, this year's Google Summer of Code has been an amazing success. The ming boggles at the results the students have achieved, especially when you realize that during the Krita sprint we seriously considered not joining this year because we were afraid it would detract from our goal of making Krita 2.3 ready for serious users!

Well, with the multi-threaded canvas updating, canvas rotation, next-generation color selector, transformation tool, hatching brush and phong bumpmap filter, we're getting so close! Now it's time for stabilizing, polishing and.... bug fixing! Here's a screenshot of Krita showing off the canvas rotation and canvas border color:

Bug Day

As Lemma has blogged this Sunday is Krita bug day. We have a set of 21 bugs that we would like to validate on as many different systems as possible.

The advantage of joining in Bug Day is that it means getting a recently compiled Krita from svn on your system -- and that means you can also play with all the cool stuff that's going to be in 2.3! I'll be around most of today and tomorrow on #krita to help people getting Krita compiled. Start with the build guide!

Blogs

Code

Adam Celarek added shortcuts to the color selector:

Then he implemented drag and drop for colors, added hsv to the minimal shade selector as well as the ability to create a custom gradient, improved the layout of the color selector, prettified the Mypaint-style color selector by using anti-aliasing -- and then started on a new curve widget. This will be the third curve widget in Krita. Incrementally, we'll be getting there. Adam is now enjoying a well-earned vacation!

Boudewijn Rempt improved performance of convolution filters by improving the performance of the calculation of the exact bounds of a layer: in Krita, like in Photoshop, but unlike, Gimp, layers are as big as their contents, they don't have a fixed size. That makes it pretty hard to figure out how big layers, are, exactly, though, and that is often very useful information. Boudewijn also replaced the themable cross-hair cursor with a custom cross-hair cursor. Next step should be making the cross-hair cursor scale with the zoom factor...

Cyrille Berger improved the robustness of the new lcms2 based color engine, disabled spellchecking in the text text shape for Krita -- no more red squiggles under your text! -- fixed a regression in saving and polished the color selection mechanism a bit: now Krita remembers which colorspace you used last.

Dmitry Kazakov re-implemented canvas mirror and implemented canvas rotation. This really is awesome and so smooth! Use the pan tool to rotate the canvas: if you press shift, a dial will appear in the middle of the screen and you can rotate the canvas around that dial. Click on the dial and the rotation will be reset. There are also keyboard shortcuts:

José Luis Vergara polished the gui for the phong bumpmap filter and implemented a number of extensions to the filter to make it much more versatile. The filter is a bit slower now under some circumstances -- though optimizations are being investigated -- but it's still real-time if you use it as a filter mask or filter layer.

Lukáš Tvrdý implemented a global curve for pressure mapping, implemented added a configuration option to set the background color of the area around the canvas, following a suggestion by David Revoy, prepared the chalk brush engine for merging with the soft brush engine (which might itself be merged with the autobrush engine at one point), improved the color selection strategy for the freehand tool and improved the separate color picker tool to follow the freehand tool color picker improvements. Lukáš is now on vacation as well.

Marc Pegon added similitude and rigid functions to the warp transformation, made sure that if the layer is warped beyond the image borders, the pixels are not cropped off and fixed two bugs in the transform tool, a crash when transforming a flake layer and a bounds error