What is Krita The present: Krita 1.6 The future: Krita 2
Krita: Present and Future A look at some of Krita’s more recent developments, both in the present 1.6 branch and in the new 2.0 branch
Bart Coppens
FOSDEM 2007
Bart Coppens Krita: Present and Future What is Krita The present: Krita 1.6 The future: Krita 2
What is Krita
The present: Krita 1.6 The short road since the previous release The feature thaw of the 1.6 series
The future: Krita 2 Qt4 and KDE4 KOffice2 technologies Krita design revisited
Bart Coppens Krita: Present and Future What is Krita The present: Krita 1.6 The future: Krita 2 What is Krita
I The KOffice painting and image editing application
I Started in 1999
I Most recent release: Krita 1.6.2 on February 21, 2006
I In Swedish, Krita means ‘chalk’ or ‘crayon’.
I http://www.koffice.org/krita/
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 What happened in the last year?
We released 2 major versions
I Release of KOffice 1.5.0 on April 11, 2006
I Release of KOffice 1.6.0 on October 16, 2006 Some of the new features in Krita 1.6.0 include
I Layer masks
I Perspective grid → perspective cloning, manipulation
I Curves: magnetic outline, b´ezier
I Improvements in loading and handling huge files
I New filters (lens correction, better blur, ...)
I Tablet pressure curve editing
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 Layer masks
I Merge parts of two layers without destroying the original contents
I Masks out a part of the regular composite operation
I Paint on it like a regular greyscale layer, or like on a selection
I Can prevent you from ‘drawing outside the border’ (create from selection)
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 Perspective cloning
I Regular cloning: does not keep into account perspective changes
I Perspective cloning adds a grid that visualises ‘perspective’
I Cloning is done, but the cloned part is transformed according to the perspective grid
I Unfortunately: no multiple grids can be combined (GUI would suck even more, but perhaps for Krita 2)
I A good demonstration of how it works at http://www.koffice.org/krita/videos.php
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 Curves
I Developed during last summer’s Google Summer of Code
I Has a added generic framework for drawing curves in Krita
I First application: B´ezier curves
I Second application: Magnetic outline
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 Curves: Magnetic Outline
I Create a curve following your mouse
I Tries to follow edges in the neighbourhood of the mouse
I Inserts nodes at regular intervals near the mouse position, tries to detect the best line between two nodes
I The more contrastful and sharply outlined the area, the better the result
I Hard-to-find feature: Press Ctrl for ‘Manual mode’ (move nodes, insert, remove)
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 The feature thaw of the 1.6 series
I What is a feature thaw? Allowing new features to be added to a stable branch, wrongly spelled strings can be fixed.
I We unfroze for 1.6.1, 1.6.2 and maybe for the upcoming 1.6.3
I Allows for long-lived branches to be more alive than otherwise.
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 Levels in 1.6.1
I Began as a wishlist entry in the bugs database: http://bugs.kde.org/ show bug.cgi?id=129789
I Someone claimed it would be easy to implement this, we called his bluff
I Related to Brightness/Contrast
Bart Coppens Krita: Present and Future What is Krita The short road since the previous release The present: Krita 1.6 The feature thaw of the 1.6 series The future: Krita 2 Smudge in 1.6.2
I Implemented after user request
I Very easy to actually write that code
I ‘Simple Smudge tutorial’. First part at http://www.kdedevelopers.org/node/2594
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited KDE4
Qt4 and KDE4 will offer some nice new technologies that KOffice2 will be able to use.
I Qt4’s better threading, KDE4’s ThreadWeaver
I KDE4’s Phonon: Playing of audio and video objects in KPresenter KOffice also moved some code to KDELibs: Kross, so that all KDE4 applications will be able to use this.
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Flake
I Flake Shapes: everything you see is a shape
I KWord → everything is a Flake shape, even pages
I Krita → embedded Flake shapes (vector graphics, text)
I KPresenter → everything is a Flake shape
I Lightweight embeddability, compared to a full-fledged KPart like KOffice 1.x
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Pigment
The KOffice color management library. Was originally Krita’s libkritacolor.
I Offers some basic colorspaces hardcoded: Alpha, L*a*b*
I KOffice-wide plugins for the common colorspaces: RGB, CMYK
I Krita-specific plugins for natural media, HDR
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Resolution
I Often requested feature
I The Flake redesign was the ideal moment for adding working resolution to Krita.
I ‘20cm + 15mm’?
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Layers: masks, selections and filters - The Present
Our current 1.5+ design needs some reworking:
I Per-layer selections, wanted or not?
I Filter layers work on the entire stack below them
I Masks are very static, badly integrated in the layerbox
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Layers: masks, selections and filters - The Future?
There are proposals for 2.0 that could fix some of this:
I Selections: ‘controversial’ issue. Selections as a special sub-layer? Global selection?
I Let normal layers have filters as a per-layer stack of filters
I Masks could be just some layer-filter → easy to manipulate, equal integration with filters
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited OpenRaster
I Better cross-application exchange of raster data for the free software world (.kra, .xcf are too specific)
I A possible solution: ‘OpenRaster’ (http://create.freedesktop.org/wiki/index.php/ General multilayered bitmap exchange format)
I Very experimental stage at the moment
I Support for the GIMP might be delivered partly by GEGL (http://gegl.org/)
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Dynamic brush
I Proposed enhancement of the current ‘brush’ tool
I Add different actions to the tablet input
I Implemented as a separate paint operation
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited So where can you help?
You don’t need to be able to code:
I Report bugs (also for alpha and beta versions!)
I Write documentation I Report about usability issues (developers often don’t see the problems with their own applications anymore)
I Hard to discover features I Obvious actions not used for a feature I Contra-intuitive GUI design
I Keep bugging us if we don’t fix them ;-)
Bart Coppens Krita: Present and Future What is Krita Qt4 and KDE4 The present: Krita 1.6 KOffice2 technologies The future: Krita 2 Krita design revisited Questions?
Bart Coppens Krita: Present and Future