darktable-org / darktable-org/darktable

[Discussion] A new, consolidated maksing workflow (aka "Flexi" masks)

Open
#21,905 76 comments 3 reactions 1 assignee View on GitHub

@TurboGit is already working on this.

Since Aug 27, 2026.

difficulty: hard scope: image processing scope: UI
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

TL;DR

Do we want to merge Flexi masks in darktable? If yes, how?

About Flexi

In this post on Pixls I have introduced a working, fully implemented proposal (although still drafty wrt code quality) to revamp the masking UX in darktable.

The new system:

  • Uses a much simper, more intuitive mental model
  • Is much more powerful and expressive than the classic one
  • Subsumes the embedded mask panel + mask editor and provides a unified, streamlined modern masking UI (with margin for improvement, of course)

See the README and user documentation for user-facing docs and more details. I won't repeat the same things here to avoid wasting your time. The Pixls post also has some video demos, even though they are a bit outdated.

The proposal has been received quite enthusiastically by the community, and it has already undergone a few iterations of refinement.

I think that it's a good time to start considering the opportunity of merging it into master.

So, the first question is: do we want to upstream this change?

NOTE: The code is to be perfected, revised and polished (I have been iterating on it heavily and quickly),for sure there are bugs that didn't surface yet, and stuff that can be optimized, but the feature is code complete, it does what it should and it does it pretty well. So, if we decide to upstream it we can start doing it today.

What do you think?

I have not heard a lot from devs on Pixls, so I am really looking forward to hearing your thoughts.

To inform this decision, I (with the help of Claude) have prepared a couple of more technical documents:

IMPORTANT: At this stage, the discussion should really not be about what we like or don't like about the UI. If we decide that the change is overall desireable, then we want we will have plenty of time to iterate on the fine print.

@TurboGit of course your opinion is paramount, but I would like to hear from the others too.

Thank you all in advance 😃

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.