Krita Monthly Update – Edition 14

Welcome to the latest development and community news curated for you by the @Krita-promo team.

Jump to:

Development report

Official Recap of February’s Online Development Meeting
Last month we provided highlights of the video meeting led by @Halla, Krita’s Maintainer. She has since published a post on Krita.org presenting the challenges and opportunities that came out of that meeting.

One of the largest projects this year is porting Krita from Qt5 to Qt6 (Qt is the framework upon which Krita is built). This is a major change and will require serious development time. We invite you to read more about the considerations of this project as well as other ideas the Krita team is currently discussing and changes that have taken place within Krita’s development team. You can access it here.

Highlights of New Features Merged This Month

  • @YRH tackled @kritababy’s feature request to prevent the canvas from shifting position when toggling canvas-only mode. @Deif_Lou assisted by also merging a fix addressing a jump in canvas position.
  • @Grum999 identified an opportunity to improve grids and guides management such that settings are now saved in Krita documents. The grid offset on/off toggle was improved so that user settings are retained. Isometric grids may now be measured more accurately (Note: the original code was preserved and is now called “Isometric Legacy” to ensure compatibility with older documents).
  • The most recent text tool merge from @wolthera for 5.3 means Krita can now store units (relative units for letter spacing and font size). @wolthera reports that about half the properties are now implemented.

(Video by @wolthera)

  • Stable and unstable nightly builds are back following the migration to GitLab CI, with the exception of macOS which is being worked on. On Android, Krita will no longer be built for the 32-bit x86 architecture.

Community report

March 2024 Monthly Art Challenge
Krita-Artists members outdid themselves by creating 41 images for @Mythmaker’s challenge: Marvellous Metal. The quality and calibre of the entries made it tough to choose only two when it was time to vote. @Elixiah emerged the winner with these two images:

Vintage Forgotten Ford

Wildkat Engine


@Elixiah asked @MangooSalade and @jimplex, who tied for second place, to choose the April challenge and they have come up with a good one! Our new topic is Animal Curiosity and this time there is an additional challenge. Read all about it here.

We’re Asking for Ideas

@Mythmaker started a very positive conversation about improving the way images are selected for the featured artwork banner. We have had nomination processes in place for some time which have been somewhat effective (and you’ll see the results of our first featured artwork poll in the next section) but we haven’t landed on a system that makes it easy to nominate artwork and is manageable administratively. Take a glance at some of the proposed ideas – something in there might trigger a new idea for you to share.

We held our very first monthly poll for the Krita-Artists featured artwork banner. Five images were added to the banner so thank you for nominating and voting. Dragon Courier by @desenhunos was the #1 pick.


The March/April nomination thread will be open until April 10, 2024. Here’s how you can participate.

Noteworthy plugin

HCL Sliders by Lucifer
“HCL Sliders is a color slider plugin with various hue/colorfulness/lightness models for use with the sRGB color profile and its linear counterpart.” More details about the plugin’s capabilities can be found in Lucifer’s post.

Tutorial of the month

Wrap Around Mode by David Revoy
In just two minutes, you’ll learn what makes this feature so powerful.

Ways to help Krita

Krita is a Free and Open Source application, mostly developed by an international team of enthusiastic volunteers. Donations from Krita users to support maintenance and development is appreciated.

Join the Development Fund with a monthly donation. Or make a one-time donation here.

Notable changes in code

This section has been compiled by @freyalupen.
Mar 6 - Mar 31, 2024


Stable branch (5.2.2+):
Bugfixes:

Features:

  • [General] Tweak the Welcome Page. New/Open File labels moved beside the icons. Recent file thumbnails have a tinted background. (merge request, Agata Cacko)
  • [General] Remove the development fund banner from the Welcome Page, as it was ineffective. (commit, Halla Rempt)

Unstable branch (5.3.0-prealpha):
Features:

  • [Text] Allow keeping track of relative font units (em). (merge request, Wolthera van Hövell)
  • [Enclose and Fill Tool] Support gap closing in the Enclose and Fill tool. (commit, Deif Lou)
  • [Enclose and Fill Tool] Add “Include contour regions” option to the “All regions” method in the Enclose and Fill tool. (commit, Deif Lou)
  • [Vector Layers] Add an option to disable/enable anti-aliasing on Vector Layers. (merge request 1, merge request 2, Grum 999)
  • [Grids and Guides Docker] Various improvements to Grid and Guides. Grid and Guide properties are now saved into .kra files. New type of isometric grid that ensures the cell lengths match. (merge request, Grum 999)
  • [Animation Dockers] Add Lock Docker button to animation dockers. (merge request, reinold rojas)
  • [Scripting] Add various methods to Scratchpad API related to fill, zoom, and pan. (merge request, Grum 999)

Bugfixes:


These changes are made available for testing in the following builds:

(macOS builds will be available in the future.)

20 Likes

Thanks for the great job, I really appreciate it. :grinning:

I used the nightly build immediately. How can I use the text editing window shown in the demo movie? Is this a different window from the tool option docker?

3 Likes

That is still work in progress. You can follow the advances here: Draft: Text property editing. (!2092) · Merge requests · Graphics / Krita · GitLab

1 Like

Thank you for this month update!

To all of you making it possible: Thank You !
:bowing_man:

And I have to admit that I’m shocked that “.m…r.” has left the team, another hard punch in the gut. :cry:

Michelist

2 Likes

Understood. I am looking forward to it.

Thank you for this month’s update :kiki_love:

I wonder if the dropping support for 32 bit x86 architecture android builds is a decision made to not drop Android support completely (since Android’s future was unknown from last month’s update) and that remaining Android builds will get the same updates as Windows/Linux versions at the same time (hence problem solved)? I’m asking because last update seemed like the future of Android was uncertain. Is this still the case or is this decision the solution to that?

If I remember correctly, dropping x86_32 on Android was something along the lines of, KDE’s new CI infrastructure doesn’t support it. And it’s quite outdated, so there likely are very few users of it (especially to be able to run Krita decently well).

The reason Android support was uncertain was, no one was working on porting it to the new build system, and the build documentation was outdated, with Android being a bit of a complicated system to build for. But since then, Dmitry and Sharaf have gotten it figured out and working, so the Nightly builds for it are back (along with arm32, which previously did not get Nightly builds, only Release builds).

3 Likes

Follow the links given above… :wink:

… or use this one and read:

Michelist

2 Likes

Thank you for the reply, I am really glad it’s sorted out now!

I guess you’re being cryptic for a good reason, sad to see a contributor leave
Hopefully new ones will join

@sooz thanks once again for the update!

2 Likes

@Konstrukto On behalf of the Promo Team, you’re welcome.

1 Like

Thanks for the update! The blog entry was an interesting read.

I think the colossal task of porting to Qt6 could be a great opportunity to redesign how the canvas acceleration is implemented (and maybe the GPU usage in general).

Right now it seems like a lot is hardcoded to work with OpenGL. It would be great if the API was abstracted and we could have various rendering back-ends. It may be unrealistic to have multiple APIs supported (not enough maintainers), but staying tied to OpenGL feels increasingly like a liability. Would be good to at least have Vulkan, with the option to specialize for some platforms (like maybe Metal on MacOS).

2 Likes

Wow is that a lot of info! Thanks for putting it all together!

1 Like

In theory, ANGLE (if re-added to Qt6) could be used to support Metal and Vulkan in addition to its current use for Direct3D. I’m not sure how possible it is in practice.
Abstracting the rendering code away from (the increasingly deprecated) OpenGL sounds like a pretty huge task.

1 Like

Certainly. I just mean it’s good to keep this in mind if somehow porting to Qt6 requires opening up and hacking on the existing OpenGL code anyway. That should become clearer as the porting effort progresses.

ANGLE is definitely a very robust solution, but it’s a big and complex chunk of software in of itself. Also it’s made for OpenGL ES and the web, so it may be more difficult to use some bleeding edge features of the new APIs, if that ever becomes relevant to Krita.

2 Likes

Thanks to all for making Krita such an excellent drawing/painting app. Also for providing assistance when needed. Cheers!

3 Likes

Thanks for highlighting my plugin :blush:

2 Likes

Thank you very much for the development and updates, krita is really getting better and better.Long live krita!

2 Likes

I noticed that there is no link on the official website

The merge request is still not merged - Add back in nightly builds page (!49) · Merge requests · Websites / Krita.org website · GitLab

4 Likes