Boudewijn Rempt

Boudewijn Rempt

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:

  • S is now for color Selector
  • C is now for Common colors
  • H is now for colour History
  • M is for Mypaint shade selector
  • N is for miNimal shade 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:

  • Ctrl+[ -- rotate left 15deg
  • Ctrl+] -- rotate right 15deg
  • Ctrl+' -- reset canvas position

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

An app isn't just about development and developers. Users are just as important. And Krita has reached a really cool milestone: the first comic book page done in Krita! By Animtim -- and don't you agree with me that there are shades of Gotlib and Alexis here? As well as other influences, of course. But it's the bottom-left panel that keeps me coming back to it. Here it is:

The only problem is that I want to read the text -- and the rest of the story!

Saturday, 25 September 2010 09:08

Last week in Krita -- week 38

Release

So... Where do we stand with our release preparations. There are still quite a few hurdles to take: we are at 68 bugs now, of which there is 1 critical, 5 are major (and thus release blockers) and 14 crashes. And it goes without saying that there are some bugs we really want solved among the rest as well. Krita gets a lot of testing these days (though more is always welcome!) and that means that while we're resolving lots of issues, we're finding new ones as well. There are still a number of unittests that fail -- one of them has been tracked down to a difference between version 0.6 and 0.8 of the jpeg library, but there are others. Those need to be solved before we can release as well. Finally, we might need to do some more work on the way our tools queue their actions. It's too early to say whether this means the release date will have to slip or not, but if it has to, then we will slip.

Still, we're getting close to about a hundred commits a week so the pace is pretty fast!

Another thing is user documentation. I'm still working on the updated manual, but I've also created something new: a Krita image that will show on the very first run and has a numbe rof layer groups, with every group explaining something cool about Krita. Unfortunately, this is only in English and I haven't found a good way to make translated versions. Especially since the file is rather big. We might end up only loading it when Krita run in an English locale.


Erm... We might want to go into the look of this a bit with some qualified artist...

Code

Everyone is really busy fixing bugs, so there are no exciting new features to report on. Still, bear with me for a report on what got fixed and what got broken!

Adam Celarek fixed the display of the soft-brush curve and fade sliders. He fixed a crash that occurred when switching paintops while the canvas was being updated, fixed the autoupdate for the image colors in the new color selector and optimized the speed of updating. A small new feature, in the KOffice-essen branch (which is the feature branch we open during trunk freeze): a template for new docker plugins, which was then used as the base for a docker for presets. Adam also beatified the transform/warp tool option pane. And -- and this is really nice -- fixed the scratchpad in the brush designer to work correctly in wash mode.

Boudewijn Rempt did some cleanup, fixed the gradient, fill and transform tool to lock the current layer while a long-running task is running, added the comic-book templates Animtim created, created the first-run picture and make it show up. Krita now also warns when you are running with a version of Qt earlier than Qt 4.6.3 -- below that, you will not be able to use your tablet. In response to a requirement from Lukas, he implemented a white-list mechanism for blending modes: some brush engines, like the pixel brush can't do anything useful with, for instance, the COPY blending mode, while others, like deform or smudge, absolutely need those. Finally, Boudewijn made sure the quick-access palette has some default content and fixed a number of memory leaks.

Cyrille Berger sneaked off to present his wife to his family in Normandy -- all the while thinking hard on a rounding problem in Krita's integer maths. He also fixed the display of the rotation feature in the pixel brush. And he painted a tree in Krita:


Dmitry Kazakov in his first month of sponsored part-time development (thanks to Silvio Grosso!) moved the pan and color picking feature of the freehand tool down the tool hierarchy: all tools support pan on middle-click now, and all painting tools can also pick a color from the canvas. He fixed the brush outline updating on the QPainter-based canvas and made sure the tool decorations are also shown on the canvas outside the image boundaries. Finally, he fixed the application of masks and filters when there is a selection.

Jonathan Riddell proposed a patch by Emmet Hikory from Ubuntu to make it possible to compile Krita on ARM processors. This got reviewed, ported by Boudewijn, updated by Emett and then committed by Jonathan. Of course, we are heavily dependent on distributions for patches of this kind --  Ana Beatriz Guerrero López from Debian is a regualar in this blog for fixing Krita to compile on ARM.

José Luis Vergara spent a lot of time fixing the smudge paintop, together with Cyrille and Lukas. The problem here is that Krita is way more flexible with smudgiing than any other application: we support various blending modes for smudge, as well a variable size of the smudge area depending on tablet pressure.

Lukas Tvrdy made it possible to test the dynabrush brush engine in the scratchpad, fixed the slow performance of the spray, hairy and chalk brush on CMYK images (but please remember this: the best colorspace to paint on is 16 bit RGBA with a linear-light profile! Try it -- the difference is amazing!). When working with the duplicate brush editor the scratchpad is now disabled (there's nothing to duplicate from, so it didn't make sense). Lukas fixed a number of memory leaks as well. He fixed the outline of the dyna tool, got a job with Ixonos, improved the dynabrush brush engine even more and fixed a crash. Lukas spent a lot of time investigating the remaining issues with our smudge brush as well.

Marc Pegon spent time polishing the transform/warp tool: he fixed the tool handles to make them visible on dark images, a number of crashes, fixed the perspective feature and made some fixes to the warp feature.

Sven Langkamp, in between exams at university, fixed a total of nine bugs in one week, and found time for a lot of fixes that weren't in bugzilla yet. Among other things, the filter dialog now is a lot faster, the convolution code got fixed, fixed a nasty bug with the move tool where a new layer would be created on every mouse-click, improved the locking of nodes by the tools, fixed the updating of previews in the layer box, and fixed a number of memory leaks.

Conclusion

There are still plenty of changes, so we're not near the Release Candidate. Please help us find more bugs by testing Krita -- and if you like some nice coding, why not join the team? Lots of nice bug fixing to be done!

Monday, 18 October 2010 08:17

One beta released, another beta to go

So, quite silently (because I was too lazy^Wbusy to write the announcement) Krita 2.3 beta 2 has been released. However, we had to decide to have another beta since the number of release blockers hasn't materially decreased and the number of crash reports has increased. Now this doesn't mean Krita's quality has detoriated: it means that more people have tested Krita and reported issues. And that, actually, makes me very happy. We need people to test Krita and report issues if we want this release to be great!

And it's not like no work has been done in the meantime. Lukáš Tvrdý has joined Ixonos as a Qt developer -- and here's an example for students at universities all round the world: if you join an open source project like Krita and prove your worth it can be worth a lot to you when you get your degree. Having this kind of experience working in an international team developing an application for actual uses does put you miles ahead of your fellow students who've done nothing but school projects and perhaps some php for the local soccer club. Get involved! You have got nothing to lose but some time and everything to gain -- a fun time, fun, friends and a really good story for your first job interviews.

Anyway, even though Lukáš has joined Ixonos, he's still be doing stuff in his spare time. Dmitry is now our sponsored student. Sven, even though in the middle of exams has kept up his bug fixing. Cyrille, me -- everyone is pulling together to make Krita 2.3 release-ready. But if it's necessary, we will slip the release date.

Of course, release-ready doesn't mean that every imaginable feature has been implemented. David Revoy has asked where his mixing brush is -- we will do that for 2.4. Would, actually, make a great little project for a student eager to get to know Krita development before applying for Google Summer of Code next year... The 2.4 feature plan is already bulking out -- as I said the other day when someone asked about KDE 5, I hope we haven't got any big porting effort for the next ten years, but just development of features and increasing stability and performance!

Andreas Esau is the latest artist to discover Krita. First he produced this enormously powerful sketch:


Then followed on with one of the first screencasts for Krita 2.3. Watch and enjoy!

Markku Myllymäki from Finland has been experimenting with the vector support of Krita:


Code

We had particular trouble with the smudge brush engine in this period. The source of all our trouble is that we want to make it possible for the footprint of the smudge area to change following pressure during painting -- something no other applications support.

Boudewijn Rempt made sure Krita 2.3 doesn't load incompatible plugins, fixed a crash that happeend when closing krita while the filter dialog is open, fixed some memory leaks, removed the old perspective transformation tool (the new one has the beginning of the same functionality and can be extended to provide the full functionality; the old perspective transformation tool was now too different from the normal transformation tool to be kept around). Boudewijn added an improved cross-hair cursor (nicked from the Gimp) and fixed the comic book templates icons with icons provided by Animtim.

Lukáš Tvrdý fixed the rectangular brush mask with spikes, simplified and sped up the brush mask cursor for brushes with a lower density, optimized painting some more and added oversampling to curve-based brush masks. Lukáš separated the mature and the experimental brush engines in the gui. Note that we do not yet guarantee preset compatibility for the experimental brush engines!

Cyrille Berger Skott fixed the rectangular brush mask, the merging layers with different colorspaces than the grouplayer, the rotation of layers using the menu as well as the rotation of layers and images at 90, 180 and 270 degrees. He fixed the usefulness of the color-to-alpha filter on transparent layers and a problem with the smudge paintop. He fixed a crash when moving a layer using the move tool, as well as moving of group layers. The feather selection action crashed; after getting the Cyrille treatment, it knows how to behave. And the convolution worker now respects the channel flags again. A crash that happened when applying a color transformation filter like brightness/contrast to EXR layers (like 32 bit float RGB) got temporarily fixed by downscaling to 16 bit LAB and then back.

Dmitry Kazakov made the flatten operation not lose layer data outside the image bounds. He also fixed the checkers painting in the OpenGL-based canvas. Dmitry fixed a paint bug in the duplicate brush, a usability bug in the same brush engine, the brush outline when the color picker is activated and made the maximum RAM usage of Krita configurable. Following up on his summer-of-code work, Dmitry removed two (and-a-half...) race conditions in the tile backend and one in the image merger that computes the final image from that layers. Dmitry made all Krita tools support panning and color picking.

Sven Langkamp fixed problems with the move tool, especially when moving shape selections and when moving masks. He fixed the loading of old-style brush presets, fixed a crash that occurred on adding a mask to a shape layer. Sven fixed removing shapes from shape selections, the display of local selections in the layer box thumbnails and the updating of the selection projection.

Adam Celarek, in the Essen feature branch (so this is for 2.4 already), improved his next generation curve selection widgets. He improved the performance of the NG color selectors. Adam fixed the scratchpad to support transactions so experimenting with the filter brush engine in the scratchpad is now possible.

Marc Pegon fixed several bugs in the new transformation tool, especially initializing the perspective transformation option and warp mode. Marc also submitted his internship paper on writing the transform tool to his university. You can download it here -- a good example of combining work on Krita, the Google Summer of Code and internship requirements at university.

Envoi

Cyrille Berger put the Krita extensions website online. This is the natural home for all plugins that don't really fit in the Krita vision, aren't totally ready yet or that the author is unsure about submitting in trunk. There's a build service and a page for every extension. So if you have a great idea for a photo-manipulation plugin for Krita -- write it, and submit it! For now, just mail us at the mailing list, ping us on irc or post it on the forum. We're working on a sumbissions page.

Thursday, 28 October 2010 10:05

Last Week in Krita 42 -- release update

Well... Krita 2.3 hasn't been released yet. The third beta has been tagged this week, and will be released soon. Lots of bug fixes there! But there are still a number of bugs that block release as well as some failing unittests. We don't want to release with known crashes, for instance. So all those blockers need to be fixed before we can create the first Release Candidate.

You might also have heard something about problems in the KOffice community. Since Krita is based on KOffice technology, those problems might affect our release schedule. There's nothing fatal going on, though.

Within the KOffice community there has been a long-standing disagreement about the architecture of the core component called "Flake" -- the object component technology that ties together various kinds of content in one document and that is used for the vector layers in Krita, as well as the tool system.  Beyond those disagreements, there are also interpersonal issues that have been plaguing the KOffice (but not the Krita!) community for a long time.

What is going to happen now is that the people who cannot come to agreement anymore go their own way, each of them taking a version of KOffice and pursuing their vision. It's best characterized as a divorce: there will be, at least for some time, two projects based on KOffice.

Krita is not going to strike out on its own -- although the developers and contributors discussed that amongst themselves. But Krita is not going to be part of both versions of KOffice: there's one Krita project and one team, and Krita will continue in one of those versions of KOffice. Worst thing that might happen is that people running trunk will have to use "svn switch" to move to another source tree checkout.

The most important thing to note here is that the Krita developers are all together. There's no loss of focus or of fun for us, and we're pulling together to make Krita 2.3 really ready for artists. We're working and looking towards releasing Krita 2.3 this year, after fixing the release blockers.

The bottom line: Krita 2.3 will still be released this year, and it will rock!

News

Krita featured in the second installment of the KDE Commit Digest, where Boudewijn gave an overview of some of the core techological advances in Krita 2.

Sven Langkamp discussed his attempt at gaining the next level in painting performance, 500 pixel diameter brushes on 6000x6000 pixel canvas using Qt Concurrent.

And Cyrille Berger presented his rendition of the Övertorneå Kyrka:



Code

It might seem slow going, but we managed to get down to four failing unittests, two major bugs, thirteen known crashes, making 67 bugs in all. A new face^Wname on Krita's irc channel, William Steidtmann is diving deep into Krita's histogram calculation code where he has discovered some bugs. No commits  yet -- but very promising hints of fixes coming up.

Cyrille Berger fixed the loading of jpg images with some invalid exiv tags as well as a very nasty rounding bug in the channel scaling code.

Dmitry Kazakov fixed a lot of bugs in Krita's vector layers, made it possible to add effect masks to shape layers (though there are still performance issues here that might be difficult to solve) and fixed a memory leak that occurred when showing filter previews.

Laurent Montel in one of his regular sweeps through the entirety of KDE's code repository fixed a bunch of memory leaks.

Lukáš Tvrdý fixed border artifacts when using the Gaussian blur filter in an effect mask or layer, fixed the small-tiles filter and a bunch of smaller bugs.

Sven Langkamp fixed a bug where the ordinary tools could paint on local selection masks -- this sounds cool, but in practice the painting was limited by the selection itself and nothing really worked. He fixed scaling for vector layers, mirroring of layers, improved the performance of the specific color selector and fixed a bug where the popup palette was very slow when selecting a color with the tablet.

Envoi

It's difficult to say whether we will need a fourth or even a fifth beta, but we are committed to making this release great. I think we have fixed the original set of crash bugs by now, but the really good work-out given to Krita by everyone who's been testing has uncovered new bugs -- and that's great! We don't mind at all if you use the beta's to find new bugs for us to fix.

Wednesday, 01 December 2010 19:33

Very Nearly Release Candidate Time!

Towards the First Release Candidate (inches at a time)

You might be feeling that we're twiddling our thumbs in the Krita community -- but nothing could be less true! The last bugs to fix, the last tests to fix before a release (we don't have any unittest failures anymore!), especially an important release like tend to be tricky and time-consuming. Of course, there are also real-life issues that make people busier than usual. Work, a new job, the renaming of the KOffice project, school and university -- all that stuff can't be ignored forever.

Still, it's time for an update.

Next week we hope to release the first release candidate of Krita 2.3. This is the big one, the one that you need to test. Because if nobody tests it, nobody will find the last few bugs and we will release another abst&uumlrzfreudig Krita. I would prefer a hundred bugs found that make us postpone the release to January to a release on time, with a hundred bugs found once Krita appears in distribution's repositories.

And right now we need people to help triage the crash bugs using Krita from subeversion. There are a number of open crash bugs that we cannot reproduce ourselves; and that makes fixing real hard. If other people can reproduce, we might learn more about the circumstances those crashes occur.

Krita on Meego

Following hot on the heels of FreOffice and KOffice on MeeGo, I made it possible to compile Krita on MeeGo, using the mobile profile of the KDE libraries. Kevin Ottens did most of the work on that profile, with me and Marijn Kruisselbrink helping. Marijn then did the packaging using the MeeGo OBS build system. All that was left to do was to remove all deprecated KDE code from Krita and run!

I have a WeTab at home, which is a fun little device. The hardware looks pretty cool, and after a series of updates the software isn't half bad either. It's fun to finger paint, but frankly, without a pressure-sensitive stylus a tablet is never going to be a great platform for art.


And for keyboard-less tablet usage, Krita's user interface needs a bit of tweaking, to say the least!

Google Code-In

Krita is part of Google's Code-In program. It's a busy time for our project, so we probably could be more active in mentoring and creating tasks. But there are some very nice results already and I'm very impressed by the people joining us on #krita.

Matus Talcik had the first version of the history docker done before Google Code-In actually had started! He's now working on refining it, to show snapshots for every history step in the docker.

Salma Sultana has prepared a really nice screencast about Krita 2.3:

Other people are hacking on VBR brush support and other items. What we need, though, is more mentors with more spare time -- and someone to go through our bugs and wishes on bugs.kde.org and select suitable tasks for students.

Code

No exciting new features, of course! Everyone has been trying to fix the last bugs and unittests that prevent us from delivering a release.

William Steidtmann has been fixing bugs in the histogram code; with that done, he's now focussing on fixing the filters that show histograms.

Boudewijn Rempt has been replacing deprecated calls to KDE library classes and removing warnings.

Francisco Fernandes has started hacking on Krita -- his first patch fixed the usage of the Delete key. It now always clears the selection, no matter the layer type. See his blog for details! Welcome Francisco!

Dmitry Kazakov fixed loading, saving and recalculation of clone layers. He also fixed handling the various grids and the grid tool and the convolution code.

Cyrille Berger fixed several unittests. He also squashed a very nasty bug where dolphin, plasma or even konsole would hang when starting krita, for instance by clicking on a jpeg image. Cyrille improved the performance of the (ancient) raindrops filter enormously.

Lukas Tvrdy fixed the jpeg unittest and several issues in the autobrush unittest.

Sven Langkamp cleaned up the paintop settings selection list and fixed a crash in the shape selection. And that fixed another unittest.

And there were many, many more fixes -- too many to enumerate here. Go, update your checkout and test, test, test!

Monday, 06 December 2010 08:20

Moving to Git!

Or... Where did my Krita go?

For about five years, until 2005, Krita was developed in KDE's CVS repository. In 2005, it moved to subversion. And now, in 2010, Krita will move to KDE's git infrastructure. This is a much bigger change than from CVS to SVN, and people will have to learn some new habits. We might even change some of our ways of working.

And at the same time, the name of the parent project changes from KOffice to Calligra. This is in recognization of the fact that the "KOffice" technology Krita is based on has a wider purpose than just enabling office applications. See the Calligra announcement for more information!.

In any case, if you were one of the brave people following Krita development, you'll have to adapt a bit. Where you previously checked out the Krita source code from subversion and kept up to date with "svn up", you'll have to do the following:

Download the latest repository tarball*:

$ wget -c http://anongit1.kde.org/calligra/calligra-latest.tar.gz

Unpack it:

$ tar -xzf calligra-latest.tar.gz

Initialize the repository:

$ cd calligra; ./initrepo.sh

And from now on, with a simple*

git pull

You can keep up to date! All the building steps are still exactly the same.

* NOTE: Problems have been seen when doing git pull, if the second step (unpacking the .tar.gz) is done on an NTFS partition. This may also apply to Fat 16 and Fat 32 partitions. Typically these are not partitions created by Linux, but by Windows or on removable drives.

If the experience of other KDE projects that have moved to git is anything to go by, this move will make Krita development go even faster!

Monday, 10 January 2011 20:39

Last Week/Year in Krita

2010 -- what a ride! Krita as a project came together, acquired a vision and really invested an enormous amount of energy in making Krita ready for real users. There'll always be bugs, I'm afraid, and there'll always be new improvements to make and the next release will always be better than the previous one. But there's no doubt that with Krita 2.3.0 we've created something quite solid.

Here's the result of ace tester and champion bug reporter Sinozukke's experiments with the sketch brush:


Going over my old Last Week in Krita posts, I'm myself amazed at how much has actually happened in 2010 -- apart from two major releases, 2.2 and 2.3! And the growth of the team is stunning as well. We're planning a 2011 sprint, but we won't fit in my house anymore!

For me personally, 2010 was quite a bit rockier than 2009. Parts of it were excellent, parts of it were plain tough, and I have learned that commuting for three hours a day gave me lots of time for Krita that I somehow don't have when working from home. But...

2011 is going to rock!

Since Krita development has moved to git, together with the change from KOffice to Calligra Suite, it's much easier to do development in branches. That means that features land in master (what used to be called trunk) much later, but in a more complete state. It also makes it trickier to report on what's going on!

Together with MyPaint maintainer Martin Reynolds, Sven Langkamp has been busy fixing the MyPaint brush engine plugin for Krita. A really nice example of cross-project cooperation, and the mypaint brush engine is very nearly ready for prime-time. Some brushes are still a bit slow -- and the Krita mypaint plugin will never be as fast as using the brushes natively in MyPaint since we need to convert between the way the MyPaint brush engine code expects image data and the way Krita stores it. But it's usable, not just a really cool hack. And moreover, it's a great example of the way different projects can work together!

Cyrille Berger is busy with a special vector shape to make it easy to create a layout of boxes for comics -- and possibly speech bubbles as well. He also made it possible to use a pattern as a source for your brush coloring, added progress reporting to the macro replayer and made it possible to record applying filters in a macro. Plus the long-standing filter api refactoring...

Geoffry Song and Cyrille Berger have improved the assistant feature that has been a promise for so long and made it usable. With assistants you can construct your image using ellipses, boxes, splines and lines. Then you can paint, and if you come near one of the lines, your brush will be magnetically attracted (and the strength is a setting) but you're still painting. You can modify, move and delete the assistants on the canvas and even load and save a construction of assitants for reuse in another painting.


Silvio Heinrich worked on improvements of the usability of the present management.

Boudewijn Rempt has made a feature return we lost in 2006 -- guides that you can drag out of the rulers. One small bug left, though -- the guides aren't long enough. It's likely, too, that Krita users will let the guides remain in the their repository in the rulers and use the ultra-cool assistants instead to construct their paintings!

Matus Talcik implemented a brand new history docker with thumbnails -- and now is investigating OpenCL integration in Krita.

Lukas Tvrdy created a new brush engine inspired by alchemy and made mirroring work -- not the canvas mirroring one uses to check the painting now and then, but painting and seeing the mirror half appear. As demonstrated by Animtim:


And there's much more coming: everyone is full of plans for cool stuff -- and we're not forgetting to keep the bugs down either.

Krita Sprint

The Krita team is growing and growing... Last month, we've seen Silvio Heinrich, Matus Talcik and Geoffry Song produce patches! So much that for the next sprint, we can no longer use my kitchen table. We're trying to find a nice new location.

But apart from a location, a t-shirt is a must as well! So... Go to the forum and show us what you think a well-dressed Krita contributor should wear in 2011! b

Wednesday, 02 February 2011 09:03

Krita Update!

Calligra moved to git december 12, 2010. We're in February now, and since then there have been 2222 commits -- not counting various branch merges. There are now 37 active feature branches. Not all of that work is for Krita, but in the onslaught it's getting difficult to actually keep track of all the work!

Lukáš Tvrdý has taken over the job of planning the next Krita sprint from me -- I was just too overloaded to actually do anything. With the team growing, I'm sure this sprint will rock as much as the previous one. Just don't forget the t-shirt design effort!

Kubuntiac a.k.a. Bugsbane, webmaster of krita.org is busy working on a feature overview of Krita. We need screenshots to show off!

There's one lovely design by Animtim already, featuring a squirrel. During GCI, Heroid told us in #krita that "kirta" is Albanian for squirrel and asked us what we thought of a painting squirrel as a Krita mascot, the whole team rather fancied the idea.

New Krita user Rachepatty showed this strong self portrait in the forum gallery:


LGM

KDE e.V. has accepted the proposal to send Lukáš, me and Animtim to LGM. Animtim will hold a workshop centered around drawing comics using Krita. Lukáš intends to present the state of the art in Krita, while I want to man a booth with one or computers running the latest Krita, introducing everyone who's interested to Krita in the proposed LGM lab area.

Code

Not content with fixing bugs, for instance in the experimental paintop and the mirroring feature beloved by Animtim, Deevad and other artists, Lukáš (who is now also working profesionally on Calligra for Ixonos) has been having a lot of fun exerimenting with mirroring, in his multihand branch. For now, there is hardcoded symetry mode with the axis point in center with six brushes. Lots of fun to be had!


Cyrille Berger has started work on making it possible to have multiple inputs for every brush preset parameter -- like having both "pressure" and "random" (still called fuzzy, I think) influence the size or opacity of your brush footprint. He improved recording, in repsonse to queries by a user on the forum and made it possible to use gradients or patterns as a color source for painting. Krita 2.3 already feels old now...

Boudewijn Rempt has mostly worked on fixing bugs for Krita 2.3.x -- improving memory handling and backporting fixes from git.

Silvio Heinrich has been working on implementing new blending modes. Look at this before and after screenshot (the first is with regular Krita, the second with his new blending modes enabled).

before...

and after...


(his own artwork, by the way!)

Silvio has also worked on improving the canvas rotation, mirror and zoom, and on improving the smudge brush.

Sven Langkamp has been chipping away at user interaction niggles, imprving the toolbox, moving the mirror options to the brushes toolbar, fixing shortcuts for tools and lots more bugs. And then for kicks and giggles added a channels docker and a basic workspace manager!

Geoffry Song has improved the assistants -- freely placable guides on the canvas that make painting along lines and shapes much easier -- beyond all recognition.

Conclusion

While there are some regressions -- and we're on top of those -- and some severe bugs have been discovered after the 2.3 release, Krita really seems to fulfil its promise now; it's really quite stable under most circumstances, the performance is good and the features and improvements keep coming in. So get out your wacom and start painting. We need new entries in the showcase and the forum gallery!

Wednesday, 02 March 2011 08:35

Summer of Code 2011

Last year, Krita had a hugely successful Google Summer of Code with four outstanding projects that all delivered really great code: a new transform tool with warp and everything enabled, a new extensively configurable color selector, a hatching brush engine and finally a multi-threaded projection renderer.

So what will happen in 2011? While we are waiting to see whether KDE will be accepted as an organization this year, the Krita team is already eager to discuss ideas and plans with potential participants. We are looking for students who will stay the course, maintain their code after the Summer of Code ends and who will share the fun of working on Krita with the rest of the team. We've got some ideas that might tickle your fancy all lined up: http://community.kde.org/GSoC/2011/Ideas#Calligra_Krita -- but you might have something else in mind. Doesn't matter! Join us on #krita on irc.freenode.org and tell us your ideas!


(Image by Animtim)

joomla template
template joomla