Approximately 1600 commits by more than a dozen authors make up the difference between Krita 2.1 and Krita 2.2. Hundreds of bugs, too many to enumerate were fixed. While Krita 2.2 still isn't the no-excuses release that everyone should be able to use for real work, it's a very solid piece of work with many interesting new features and important improvements.
Krita 2.2 includes the first third of Lukas' sponsored work on Krita: trunk froze for the release while he was in the middle of a lot of other improvements. Those will be in 2.3!
This list is very low-level, culled from the svn commit log. For a list of highlights, see the release announcement instead.
- Improvements to the multi-platform compatibility, especially for Microsoft Visual C++
- Implement presets for brush engine settings, including loading and saving
- Enable the Tiles3 tile engine by Dmitry Kazakov as default (the image pyramid code is disabled by default)
- Many memory leaks fixed and a lot of performance improvements when painting, applying filters or redrawing the image
- New brush engine: Grid Brush
- Add color options to brush engines
- Paint vectors with the krita geometrically painting tools when painting on a vector layer.
- Resize the current brush size with shift-drag on the canvas
- Show brush outline and fix 3D brush representation on opengl canvas
- New color selector: digital mixer
- OpenShiva is now thread-safe
- Support progress report for OpenShiva-based filters
- Fix painting with OpenCTL-based colorspaces
- Fix the random generator
- Fix loading/saving of DPI information in jpeg files
- Fix loading/saving of DPI information in png files
- Add support for blending modes and opacity to masks
- Add color picker and pan mode to the freehand painting tool
- Add shortcut to toggle docker visibility
- Use Enkithan's icons in many places
- Fix loading and saving in various formats on Windows (bmp, jpeg, tiff, pdf)
- Improve performance of the PDF import filter
- Create a ppm import/export filter
- Implement keyboard shortcut to switch between foreground and background color
- Don't record layer's visibility and lock changes in undo history
- Fix crash on adding a transparency mask to a shape layer
- Fix painting in 16 bit float RGBA layers
- Spray paintop can spray images now, with scaling, rotation and hsv transformations. Many more improvements to the spay paintop.
- Fix crash when changing exposure setting when the OpenGL canvas is in us
- Create thumbnails for .kra files so file managers can show previews of the contents of .kra files
- Add a JPEG2000 import/export filter
- Add an XCF import filter
- Add a right-click quick selection palette for brushes and colors
- Add a linear-light RGB profile.
- Add many options to the Pixel brush engine, like rotation angle
- Show thumbnail for masks in the layerbox
- Enhance the dynadraw brush engine
- Fix misplacing of vector objects after cropping
- Normalize when selection is an ellipse, fixes selection when dragging right to left
- Add CTL-based color transformations
- Add dodge/burn filter
- Implement alpha-locking when painting
- Fix saving of layer groups in OpenRaster
- Improve the line tool: shift contrainst to multiples of 15 degrees.
- Optimize new layers: use default pixel color instead of filling the whole layer with real pixels
- Make autosave configurable and make it work for non-native files.
- Redesign the selection tool option widget, added keyboard shortcuts to switch between modes and reorganize the code
- Add scaling/rotate for shape layers
- Fix usability issues in the image/layer resize and scale dialog
- Fix horizontal emboss
- Improve ui of the blur filter
- Improve the convolution code and start using FFTW3
- Redesign the brush settings popup: make it detachable and add a scratch area.
- Move the rate option from the brush presets to the tool
- Re-implement the OpenEXR import/export filter
- Fix problems with OpenGL on Windows
- Refactor the geometric painting tools and improve the usability
- Add Soft Brush brush engine
- Add and then remove GIF import/export filter
- Support 16 bit/channel displays in opengl mode (don't convert a high-bit depth image to 8 bits and then back to 16 in the monitor)
- Add a "ruler" assistant
- Improve performance of thumbnails for the layerbox by caching them
- Fix perspective transformation
- Enable and improve macro recording
- Make switching to opengl safe: if your system doesn't support opengl then on restarting Krita, the normal canvas will be used
- Improve serialization of curves
- Make it possible to show the curves in the curve dialog antialiased
- Add variable radius selection feathering
- Fix saving of XMP metadata
- Improve saving of EXIV metadata
- Updated collection of Shiva filters and generators
- Improve performance of autobrush (a lot!)
- Add particle brush engine (create art strokes from travelling particles according physical laws (Euler integration, Verlet integration, etc.)
- Fix calculation of the merged image if there are filter layers
- Image brushes (.gih) can now also be rotated
- Add (basic) support for Photoshop ABR brushes
- Fix support for local selections
- Rename the Sumi-E brush to hairy brush
- Add a "soak ink" option to the hairy brush
- Add a mask option for the hairs of the hairy brush
- Re-instate the brush selection tool
- Improve performance of pixel access
- Fixes to the vector layers: duplicate now works
- Make it possible to load jpeg files that contain unicode characters in the filename
- Fix spacing for stamp-type brushes
- Add many new options to the brush settings like rotation, hue, saturation
- Add new sensors to the brush settings to influence options like darken, hue, saturation, rotation etc.
- Create a new slider widget that is easy to use for both tablet and mouse users
- Fix the 3D cursor in OpenGL mode
- Improve usability of the layer docker for tablet users
- Add a search bar to find brush presets
- Add shortcuts to resize the brush
- Remove the panorama plugin: please use Hugin instead
- Fix the smudge brush engine
- Improve fill performance
- Lots of work to work around problems in Qt's tablet handling
- Add a BMP import filter
- Implement compatibility with XMP-Multi-Media
- Increase the effect of the Smoothing slider in the freehand tool
- Fix several issues with the Crop tool
- Replace old gimp brushes with David Revoy's Chaos and Evolutions brush set
I'm really late with Last Week in Krita, am I not? Yes, I am... There are a couple of reasons, most of them concerned with plain business. Last week I was in Bangalore, helping students find their way through the KOffice source code. The week before, I was in Helsinki, trying to figure out which bugs in KOffice should have priority together with Tasos and Lassi from the Nokia mobile office team. The week before that, I was in Magdeburg, for a KO GmbH Board meeting. And in the meantime, a release candidate happened, which is always a reason for a slowdown of development, and we were busy with the Google Summer of Code preparations.
Still, let's get updated on the state of Krita! Since the last instalment, we've had a mere 50 or so commits. And we're at 59 bugs. Well, Lukáš was finishing his thesis and Cyrille was hunting for a research post at a university and everyone was preparing the 2.2 release -- still, work should pick up when the Summer of Code students get started!
Summer of Code
I already mentioned it on my blog, but there are four Krita Google Summer of Code projects this year. At the Krita sprint, we weren't sure whether we could handle a single project, since we really want to push for user-readiness for Krita 2.3. But that idea evaporated in the face of the enthousiasm of the students. Marc Pegon, mentored by Sven Langkamp is going to create a great new transformation tool for Krita -- one of the real must-haves for our vision. Adam Celarek, mentored by Boudewijn Rempt is going to work on new an innovative color choosers for Krita -- and Karbon. Pentalis a.k.a. Jose Luis Vergara Toloza, mentored by double gsoc alumnus Lukáš Tvrdý is going to add a new brush engine meant for comics and impasto to Krita. Impasto will also, if done right, be very useful for texturing. Dmitry Kazakov, mentored by Krita veteran Bart Coppens, is going to make Krita's image recomposition and display multi-threaded.
Coding will start in two weeks!
Conferences
Lukáš Tvrdý will speak about brush engines and working on Krita at the Libre Graphics Meeting in Brussels as well as at Akademy 2010. Boudewijn will be at the LGM as well, and probably at Akademy, and Cyrille intends to visit Akademy this year, but not the LGM.
Code
We didn't have a record number of commits, but we had a very pleasingly large number of contributors!
Adam Celarek worked on the magnetic selection tool, adding another algorithm for edge detection.
Ana cleaned up some of our desktop files.
Boudewijn fixed warnings in the code (a six hour train journey to Magdeburg is suitable for little else...), fixed the preset toolbar button for the preset popup and reenabled the things he was working that weren't ready for 2.2: psd import, mypaint-compatible paintop and the color mixer.
Cyrille Berger added a benchmark for the mask generator, fixed randomness in the autobrush masks, made the spacing slider exponential, added support for HSV transformations to the normal brush. He also divided the brush options into categories, a very welcome improvement. Radians and degrees don't mix -- so there was a little bug to be fixed there as well.
Dmitry Kazakov fixed a bug when showing transparency around the edges of an image, removed a bad memory leak in the memento manager (which keeps the image undo information) and generally started cleaning up Krita's tile manager core in preparation for his summer of code project
Edward Apap made the convolution code about twice as fast, fixed a problem with noise in the convolution painter, then increased the performance of the convolution code again, added a motion blur filter, made the convolution code report progress to the user (which reminds me: we still need to do the same for the load/save/import/export code!) and he finally started a lens blur filter.
Lukáš Tvrdý doubled the performance for spray paintop and did some other cleanups while finishing his thesis.
Vera Lukman made the popup color selector more precise and fixed a bug that occurred when hovering over the popup palette.
As we near the 2.2 release, the developers are getting tired with running. Or so it seems -- we only had 25 commits in Week 15. And while Lukáš now is really focussing on his thesis, Boudewijn is quite busy in his new job as a full-time KOffice developer and part-time manager, and Cyrille is busy trying to get a research place at a university. But some of the commits were quite interesting! We're still at about 56 bugs, but the number of unittest failures has decreased a lot. On the topic of bugs: testing beta and release candidates really helps! Please badger your distribution to package the beta and rc releases of KOffice so you can install Krita and give it a good test!
Code
Adam Celarek fixed a bug with tool activation on vector layers, as well as a nasty bug when you'd use the crop tool on a vector layer.
Boudewijn Rempt boldly deleted all old gimp-style brushes. You know them -- the bell pepper, the starburst, the various round and fuzzy round brushes that have been greeting the user of Krita (and Gimp) since last century. But we're not leaving our users in the lurch: instead we are the first free graphics application to package David Revoy's guaranteed useful and free set of brush tips! Boudewijn also added David's color swatches. Please give them a good workout! It might very well be necessary to tweak them a bit to account for differences in the way Krita works and Gimp works, for instance with regards to spacing. Enkithan prepared new icons for the image templates, and Boudewijn committed those as well. What we really need is a better set of templates as well. If you have good ideas, join us on irc or the forum and we'll guide you through the (intricate, but not difficult) process of creating new image templates! Boudewijn also received his Chaos & Evolutions DVD and found it money well spent!
Cyrille Berger fixed some some very stubborn crashes when converting images between different colorspaces.
Dmitry Kazakov fixed a bug that would cause crashes when painting, if Krita was built in a mode that enables asserts. Asserts are warnings a developer builds into his application so he gets alerted when the application enters into a wrong state: normally they are de-activated when an application is built for users. That doesn't mean that passing the boundaries of the expected is good for users either... In any case, great fix!
Lukáš Tvrdý was on a bit of a roll with his brush engines. The hairy brush gained anti-aliases strokes and some optimizations, as well as a way to use blending modes for brush hairs. Ink depletion is now optional, and off by default. Enable it for the authentic sumi-e effect! The hairy brush now can also use the rotation and opacity sensors. Spacing for the soft brush was changed, which makes the brush engine more useful, and, even more fun, the softness curve can be controlled using the pressure of your tablet. Look at Lukas having fun with the hairy brush:
![]()
Sven Langkamp fixed the loading of generator layers. Generators are a kind of filters that don't take input; one could create flame, dust, fog, clouds, fractal generator layers -- but right now, we've only implemented the solid color generator layer. And finally, Sven removed the non-working preset button on the toolbar (it is supposed to show a preview of the preset, but we disabled that during the sprint) with an ordinary button.
Discussions on the forum
I want to really invite everyone to join the discussion on the forum about the design of the brush options/preset selection popup. It's something we really need a proper interaction design for, but it's good to have a wide ranging discussion first. Join in!
The 2010 Libre Graphics meeting is next month. From the Krita team, at least Boudewijn and Lukas will attend. It's not just the most fun gathering of people developing and using free graphics software, but it's always a great catalyst for participating projects. For instance, working together on OpenRaster to make it easy to work on the same image in Krita, MyPaint and the Gimp happens here. Read Alexandre Prokoudine's article "Libre Graphics Meeting, why it matters" and Nathan Willis' writeup -- and consider helping the organization with a small donation!
Last Two Weeks in Krita
A two week report again -- Easter Monday I was still a bit too tired from the Easter celebrations to actually write anything.
Apart from work done on pigment and other KOffice libraries, there were 88 commits in these two weeks: everyone took it easy during Easter. Besides, the easy bugs for the 2.2 release have been fixed, what's left is pretty hard! We're now at 57 bugs for Krita. There are a number of platform bugs for KOffice that are quite as important, though.
Week 14 was the last week of the first phase of Lukas' sponsored Krita involvement. He will now focus on writing his thesis on Krita Brush Engines, do his exams and be back to work on the 2.3 release in June. But let's see what was achieved during the past period, which started end of January:
- a set of benchmarks to measure performance progress and regressions
- optimized the pixel brush (500 px brushes are now perfectly usable)
- compatibility with photoshop brushes (masks only, not dynamics yet)
- optimized pixel access (up to 6 times faster)
- optimized flood fill
- made smudge 12 times faster
- canvas mirroring (with some caveats, the work isn't completely done yet, and the paint mirroring isn't ready either.)
- Default button for brush presets
Also, since I'm bound to give a fair overview, this is what was tried but didn't work out (yet):
- One particular type of brush optimization: the compute-a-quarter, copy to the other quarters. Lukas got this working, but it turned out to be slower.
- Vectorization of blend modes.
And all the time, Lukas has also been busy improving the quality of the brush engines, of course -- his thesis will be worth learning Slovak for!
Krita 2.2
The second beta of Krita 2.2 has been released. We still know of a number of serious issues, one of the most important being the convolution code -- this is what makes the blur filter tick, and that's quite important. Also, there are still critical bugs, not all unittests run and there's some weirdness on 64-bit architectures that Boudewijn is trying to track down.
For fast painting, the OpenGL canvas is recommended. However, that has its own problems currently, notably with the brush outline cursors, so we cannot make it the default.
Now... If you want to help us find issues we are not yet aware of, try installing Beta 2.2 (or, if you're ambitious, trunk) and help testing!
Summer of Code
We have four horses running in the race for the Google Summer of code: Adam Celarek, Marc Pegon, Jose Luis Vergara Toloza and Dmitry Kazakov. Color selectors, a new tranformation tool, a comic brush and impasta and multi-threading Krita's update mechanism. Tonight we'll learn the number of slots KDE will get initially -- and soon whether any of these project proposals will get a slot. All of them are really good: as a mentor, one thing that surprised me this year was the low number of duds. There are always a number of copy-paste proposals, but none for Krita this year.
Code
Development now has split: trunk is frozen except for bug fixes, and there is a separate branch for feature development, like the default button for brush settings. That won't be in 2.2, but will be in 2.3. All in all, 2.3 looks set to become the great release we want it to be. I'm toying with the idea of renumbering it to 3.0 -- it's that big a difference from 2.0.
Adam fixed a bug where the display would show artefacts after resizing or cropping. He also fixed the crop tool: lock ratio now works correctly. In the early days of Krita 2, we considered making the root group layer visible and have it hold the global selection (Krita has per-layer as well as global selections, Krita 1 only had per-layer selections). That didn't work out, but the option to show the root group layer was still present. And buggy, so Adam removed it. Adam also fixed a crash in the text brush as well as a bug with the spacing. Drawing a line on a shape layer was fixed, and two more crashes: one in the perspective grid, one when deleting layers.
Boudewijn finished a refactoring: it's now harder for programmers to accidentally leak memory, if you forget to delete an unused undo transaction, you get an assert, but there were still places where that happened. He also played with the Get Hot New Stuff feature of KDE 4.4: it's now possible to share brush presets using Get Hot New Stuff. We disabled mipmapping, since it isn't finished yet.
Cyrille fixed a number of memory leaks in the tile engine, among others in the undo code. He also had to disable the brightness and level filters in the filter brush engine: they are currently too slow. Krita's metadata framework now recognized the XMP Multi Media Schema. Cyrille cleaned up a number of brush engines, like the grid brush. Cyrille fixed a bug when saving and loading colors to xml: this fixes saving and loading generator layers. The scratch pad didn't respect the brush spacing: now it does.
Spurred on by David Revoy's very cool set of brushes, made for the Chaos and Evolutions instruction dvd, Cyrille implemented scaling and rotation for image brushes and fixed it for animated brushes.
Krita has a special algorithm to smooth out your hand-drawn lines. It's necessary, partly because graphcs tablets don't all have a high resolution, partly because it's harder to control a stylus than a brush or a pen. Cyrille made the smoothing a little bit stronger, but it's likely something we'll have to tweak. David Revoy noted that he had to scroll to switch between the two most used blend modes: that was reason for a quick fix!
Cyrille fixed a bug when copying selections, as well as a bug in the smudge tool, several unit tests, lots of bugs when converting between color modes and finally alpha-lock painting on colormodels with high channel depths.
Dmitry fixed a crash that occurred when undoing after you cancelled adding a filter layer. He then went on to fix several bugs in the recomposition of the layer stack with masks.
Lukas added a "default settings" button to the brush settings popup. He expanded the hairy brush to have connected paths between bristles. There was a small issue where you wouldn't get feedback about the brush size when changing the size using the , and . shortcuts (those can be changed by the user, by the way), and Lukas made sure the user gets feedback now. Internally, Krita has two paint surfaces: one that autoextends, and one that is fixed. Lukas fixed a bug when using a fixed paint device as a selection mask. Finally, Enkithan created new icons for Lukas' new brush engines, and those were committed as well.

Sven fixed a crash and corruption when scaling a bitmap brush, made sure that the settings widgets for brush settings get deleted, fixed the outline of the hairy brush and made sure that if you create a canvas the size of your screen, it's in pixels, not in postscript points. Sven changed the superslider to also update the values when you move the mouse out of the widget: a really nice usability change! The popup palette didn't completely work with tablets yet -- part of it are Qt issues, but another issue, the color selection using the embedded triangle, was fixed by Sven. Finally, Sven fixed the saving of generator layers.
Finally
Make sure to check out David Revoy's Experiments with Krita on the forum!
This week, we dived under sixty bugs! Well, that's a fib, it was actually yesterday, Monday that we reached that milestone, and this report runs from Monday to Sunday, but I don't want to wait until next week to gloat! We had about sixty commits (though about half a dozen were Timothy Pearson fixing stuff for his trinity branch, a resurrection of KDE 3).
Lukáš spent most of last week working on canvas mirroring -- but also on improving his brush engines. In fact, when he was improving his brush engines in his spare time, he actually should have been writing text for his university thesis on Krita Brush Engines. The lure of the code is too strong and the brush engines are too much fun to play with! However, this meant we had to do some shuffling to make it possible for Lukáš to finish his thesis on time. Instead of working on Krita during the last three weeks of April, Lukáš will write on his thesis, after doing a yum remove gcc to avoid any and all temptation. After Lukáš' last exams in June, he will start working on Krita again, first putting in his three April weeks and then going on with the second period, the run up to the 2.3 release. This will also give me a chance to refine the Action Plan, since the rapid pace of Krita development has obsoleted large parts of it!
With the growth of the Krita community, some of our resources are getting a bit strained -- like the set of Intuos graphics tablets we have to loan to developers. So we've not only opened shop, but if you look closely, there's also a neat little donation button replacing the pledgie campaign near the top of this page. Don't hesitate to click on it!
Release
Last week, the Krita source repository was frozen for the impending 2.2 release. This means only bugfixes are allowed. Lukáš is continuing his work in the koffice-ko work branch, where he implemented the first version of canvas mirroring. The first beta for Krita 2.2 will be released this week.
It's quite a big improvement over 2.1, but it still isn't the release we're working towards, but an interim thing. There are big performance improvements, but we still have those sixty bugs, we still have a big issue with memory leaks, and we still need to do a lot of gui polishing.
So 2.2 is going to be a great release for people who want to help the Krita team make 2.3 really polished and user-ready: we need your feedback! Don't hesitate to report bugs -- feel free to ask questions on the forums, on the mailing list, on #krita on irc.freenode.net or to report your bugs directly. Don't worry too much about duplicates -- we can do the filtering for you. Get testing!
Code
Boudewijn fixed a crash when switching tools — actually just a quick hack for a regression. That was all he had time for that week, unfortunately -- on Saturday, the moment Boudewijn sat down to start fixing some bugs, his washing machine made ominous sounds and then failed. So he had to go out and get a new one, in order to retain for Krita the distinction of "Least Niffy Free Graphics Application". (A difficult feat in the face of failing shower cabins and now failing washing machines!)
Cyrille fixed the display of selections, tool overlays, grids and assistants on the OpenGL canvas. There is still an issue with Qt 4.6 and the OpenGL canvas for some people: this is a combination of a bug in Qt and issues with graphics drivers. Cyrille also refactored the way PigmentCMS stores the information about color channels for colorspaces. The metadata editor in Krita uses a Qt library (QtUiTools) that is only available as a static library, and if you try to run Krita compiled against one build of Qt, and then run Krita against another build, you'd get a crash -- Cyrille added a check for that and now doesn't load the metadata plugin anymore under those circumstances.
We had a very nasty crash happening when you'd try to undo painting after converting your image to another color space: fixed! An issue with starting to pan while painting got fixed: this fix was actually the cause of the crash Boudewijn fixed — such is life on the edge. A very subtle issue was present where the first footprint of a brush could be painted twice, and Cyrille solved that as well, as well as an issue where the drawing angle sensor was initialized incorrectly.
The new, faster smudge op wasn't quite perfect yet: there were ways to get a corrupted stroke, this got fixed as well. Finally, Cyrille fixed a bug 232441 -- krita freezes when using the crop tool on new images.
Dmitry fixed an issue where a mask updated areas outside its selection. Dmitry also added a test for convolution, showing some problems. Edward Apap was working on convolution when he got a job -- and starting on a new job always takes a lot of energy and effort, so he hasn't been around for a while, but I'm sure that we'll see him return soon. In the meantime, Dmitry fixed a bug when applying a convolution filter to a transparent layer. Finally, Dmitry fixed the order masks are applied to a layer.
There's still plenty to do in our projection code, as well as in the display code, but there is a good chance that Dmitry will either be doing that during the Google Summer of Code, or, if he doesn't get a slot, sponsored by Silvio Grosso, working two months on finishing this code in time for the 2.3 release.
Lukáš cleaned up the curve brush brush engine -- this is a fun brush engine that lets you paint wavy lines. The Sumi-E brush was renamed to "hairy brush", since it is much more versatile than a chinese brush imitation, but at the same time, we wanted to honour Strassman's seminal work. Lukáš applied a patch by Pentalis, one of the Krita Google Summer of Code hopefuls, which cleaned up the gui for the hairy brush. On the brush engine front, Lukáš added some checks and limits to the settings of the hairy brush: it is possible to tweak the settings so the hairy brush becomes a rainy brush -- and it was possible to scatter the rain so widely your computer would drown the X11 server.

On the sponsored work front, Lukáš worked on the canvas mirroring feature. This work was done in the koffice-ko feature branch since Krita 2.2 is now frozen except for bug fixes. There are still complications here: mirroring works, except when you zoom, but we'll be looking into this issue before merging after the freeze lifts. This weeks topic, by the way, is implementing a "default settings" button for the brush engines.
Following attempts to make a Krita 2.2 beta 1 package for Fedora, Rex Dieter cleaned up a lot of our .desktop files.
Sven was on a roll fixing bugs: he fixed a crash in the filter dialog, the animation of pipe brushes, wrote a test for an issue when using a "fixed-size" paint device as a mask, fixed the fill method for that type of paint device, fixed using a crash when using predefined brushes in the duplicate brush engine, fixed bug 228983 (inverting a selection hangs Krita) (and wrote a unittest so we can check whether there will be regressions), fixed the default extension of the preset files (.kpp, they are in ~/.kde4/share/config/krita/paintoppresets, if you want to share them with friends or on deviant-art), made sure we use the name of the preset (and if necessary, make it unique) instead of a number when saving presets.
Sven also fixed a crash on inserting a selection, replaced an ordinary slider with the new super slider in the text brush, fixed the text brush itself, made sure the super slider updates while dragging again, replaced ordinary sliders with super sliders in the predifined brush settings page, made sure you see at least something when using brush outline cursor while painting with brush engines that don't have an outline, like the curve or particle brush. The cursor outline for the hairy brush was broken: Sven fixed that as well. He cleaned up the layout of the autbrush widget, and finally fixed a really annoying bug: at one point, we'd broken the bounds check in the super slider, which meant that you could enter any number, and as I said above, that could make it rain all over Europe, drown your computer and make X11 abort.
Extensions
One of the things we promised when we first unfolded our vision was an extensions project where all the cool stuff that isn't ready for inclusion in Krita or doesn't fit in the vision can go. Enter Krita Extensions! The code in this repository is recompiled against Krita trunk regularly so it doesn't bitrot. Currently, it contains all the code from the old krita-plugins and krita2-plugins projects. If anyone wants to do something totally experiment or something that won't fit the vision, like clearly photo-oriented stuff, feel free to ask me or Cyrille Berger to create a repository for you. Of course, everyone is always free to work on their stuff outside krita or the krita extensions project. It's just that it's more fun to be involved with us! Anyone with questions is, of course, free to join us on #krita on irc.freenode.org, on the mailing list or the krita forums -- or through a gitorious.org merge request!
Four Krita plugins have been lost: the panorama plugin, which, despite having been a blast to develop for Cyrille is completely obsoleted by the advances in Hugin and the expand, contract and binarize filters which are being ported to OpenShiva. We might move other plugins that are currently in Krita there as well.
As you can see, there are plenty of build failures at the moment: some of these plugins were never even ported to Krita2.
Summer of Code
Currently, five people have approached the Krita team about the Google Summer of Code: Dmitry Kazakov, long-lost Krita hacker Emanuele Tamponi, of painterly colorspaces fame, Adam Celarek, Marc Pegon and Pentalis. We're all enthusiastic about the possiblities this summer. Now is the time for entering applications. If you think of also having a pop, remember this: you simply haven't got any chance at all to be selected if you don't communicate with the Krita team beforehand on irc.freenode.net, #krita. Given the strong field, we won't back any unknown horses -- and even if the field weren't so strong, we wouldn't do that anyway.
I guess it's the same for other projects; you need to establish contact with the project members beforehand. The way Pentalis has done this is quite exemplary, he even managed to show us his first Krita brush engine already! That sort of thing inspires confidence! Of course, Dmitry, Marc, Adam and Emanuele have already shown their involvement.
