diff --git a/reports/ev-2018/krita_sprints.html b/reports/ev-2018/krita_sprints.html index 8ca0e92..ddfa843 100644 --- a/reports/ev-2018/krita_sprints.html +++ b/reports/ev-2018/krita_sprints.html @@ -1,338 +1,344 @@

Krita Sprints, May & October 2018, Deventer

By Boudewijn Rempt

May Sprint

On May 17th 2018, Krita developers and artists from all around the world came to the sleepy provincial town of Deventer to discuss all things Krita-related and do some good, hard work. After all, the best cheese shop in the Netherlands is located in Deventer - as are the Krita Foundation headquarters! We started the sprint on Thursday, and the last people left on the following Tuesday.

Events like these are very important: bringing people together, not just for serious discussions and hacking, but for lunch and dinner and rambling walks. It makes interaction much easier when we go back to our IRC channel, #krita. Also, we didn't have a big sprint in 2017, so the last event like this was in 2016.

So...what did we do? We first had a long meeting where we discussed the following topics:

The 2018 Fundraiser

We received about €2000 a month in donations and have about eighty development subscribers. This is pretty awesome, and goes a long way towards funding Dmitry's work. Fundraisers are always a fun and energizing way to get together with our community. However, Kickstarter is out: it's a bit of a tired formula. Instead we wanted to figure out how to make this more of a festival or a celebration. The 2018 fundraiser didn't have feature development as a target, because…

...2018's focus was zero bugs! Over the prior couple of years we had implemented a lot of features, ported Krita to Qt5, and in general produced astonishing amounts of code. But not everything was done, and we had way too many open bug reports, way too many failing unit tests, way too many features that aren't completely done yet. Our goal for 2018 was to work on that.

Unfinished Business

We identified a number of areas with "unfinished business" that we needed to get back to. We asked the artists present at the sprint to rank those activities, and this was the result:

Boudewijn would work on:

Dmitry would work on:

  • Masks and selections
  • Improving the text layout engine for OpenType support, vertical text, more SVG2 text features
  • SVG leftovers: support for filters and patterns, winding mode and grouping
  • Layer styles leftovers

Jouni would work on animation leftovers such as:

  • Frame cycles and cloning
  • Transform mask interpolation curves

Wolthera would work on:

  • Collecting information about missing scripting API
  • Color grading filters

Releases and Improvements

Krita 4.1.0 was released on June 27th and we continued doing monthly bugfix releases. We asked the KDE system administrators whether we could have nightly builds of the stable branch so people can test the bugfix releases before we actually release them. Krita 4.1 had lots of animation features, animation cache swapping, session management and the reference images tool, and more.

We also discussed the resource management fixing plan, and worked really hard on making the OpenGL canvas work even smoother (especially on macOS, where it wasn't that smooth). We added ffmpeg to the Windows installer, fixed translation issues and improved autosave reliability. We also fixed animation-related bugs and implemented support for a cross-channel curves filter for color grading.

At the same time, people who weren't present worked on improving OpenEXR file loading (it's multi-threaded now, among other things). They fixed issues with the color picker, simplified its code, and added even more improvements to the animation timeline.

Wolthera, Timothee and Raghukamath also finished porting our manual to Sphinx, so we can generate offline documentation and support translations of the manual (which is over 1000 pages long!).

There were three people who hadn't attended a sprint before: artist Raghukamath, ace Windows developer Alwin Wong, and Valeriy Malov, the maintainer of the KDE Plasma desktop tablet settings utility. Valeriy worked on improving support for Cintiq-like devices during the sprint.

October Sprint

Krita's autumn development sprint coincided with the last week of the fundraiser, in which almost 5 months’ worth of bug fixing got funded.

Eight people attended the sprint: Boudewijn, the maintainer; Dmitry, whose work is being sponsored by the Krita Foundation through our fundraiser; Wolthera, who works on the manual, videos, code and scripting; Ivan, who did the brush vectorization Google Summer of Code project this year; Jouni, who implemented the animation plugin, session management and the reference images tool; Emmet and Eoin who started coding on Krita a short while ago, and who have worked on the blending color picker and kinetic scrolling.

We did a ton of work! Wolthera solved the last few problems in Michael Zhou's Google Summer of Code rewrite of the palette docker. That was merged to master, so it's now part of the Windows and Linux builds. We did some pair programming so the text tool now creates new text with the currently selected color.

Jouni made a lot of progress with the implementation of animation clones and cycles. This allows a set of frames to be "cloned" and appear in several places in your animation.

+ + +

Then we sat down and distributed bugs to the coders present, and we got rid of over 20 bugs in one session.

Adventures in Live Streaming

We continued to fix bugs for the rest of the week, and also experimented a bit with streaming. We managed to live-stream bug fixing on Twitch! During the stream, we answered questions sent by our users.

Users also voted on what we should concentrate on during the sprint:

Topic Votes
Papercuts 164
Brush Engine 103
Animation 88
Vector Objects and Tools 56
Layers 51
Text 36
Photoshop layer styles 28
Color Management 21
Resource Management and Tagging 18
Shortcuts and Canvas Input 12

The only real change with prior votes is that Resource Management dropped below Color Management in priority. For the rest, the order is pretty stable.

Wolthera made a cool video showing off gamut masks and the new palette docker, created by two new Krita contributors. We had people from the US, Mexico, Russia, Finland and the Netherlands at the sprint. For three of the attendees, it was their first Krita sprint ever. All in all, it was great to be together again, and we look forward to our next gathering!