darktable-org / darktable-org/darktable
Issues on Mask manager and masks groups
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.1k
- Forks
- 1.4k
- Avg merge
- 22h 14m
- Merged PRs (30d)
- 198
Description
Is there an existing issue for this?
- I checked and did not find my issue in the already reported ones
Describe the bug
Hello,
I'm using a lot of masks in darktable and I'm often doing the following workflow to get organized in my editing:
- Creating multiple masks
- Creating a group with those masks
- Use the group instead of multiple separated masks for the modules
However, I noticed multiple strange behaviors I will try to describe here the best I can with simple examples. Hope my description will be clear enough, otherwise don't hesitate to ask for more details.
Issue 1
When editing the properties of a mask in my group, the UI always send me in the module section where this group is used and collapse the group itself. this is very annoying especially when I have a lot of masks with a lot of groups, I always have to go back in the group itself to continue my masks properties modifications. Moreover, it doesn't make sense because the group could be use by multiple different modules, there is no reason to jump to one of them (I tried doing the same manipulation with two modules using the same group and the UI jumps again in the last module activated using the group).
Here is a capture of the issue:
https://github.com/user-attachments/assets/771a4568-7da2-4a91-89e5-2881ce0aebc2
Issue 2
Right-click and add a mask on a group doesn't add the mask to the group itself:
https://github.com/user-attachments/assets/ea291d52-b827-4f21-93ac-3e51e46d17d3
Issue 3
When I create a group after selecting all my masks, the icon mode doesn't appears anywhere on any masks belonging to the group. But the icon appears properly when I manually add a mask to the group.
Capture of the issue:
https://github.com/user-attachments/assets/a81e1ee7-ac94-4fa8-a750-304b771511a0
Issue 4
Modes "difference"and "exclusion" seems to be inverted. For exclusion I expect to remove everything covered by my mask and for difference I expect to only keep the parts that are different between my masks (and here we can again see the issue 1):
https://github.com/user-attachments/assets/cfd0dbd1-80b5-4ab9-958a-adbd32a89111
Moreover, as in the issue 3, the icon of the mode doesn't appears. Other modes are correct for me.
Issue 5
If I do similar manipulations as in the issue 4 but with a third mask on the top of the list, it just becomes more confusing because the checkbox doesn't change when changing the mode:
https://github.com/user-attachments/assets/158cb654-80e3-4707-bba9-3539beffbe0a
This final example is good because it summarize 4 of the 5 issues I'm reporting here.
Issue 6
The mode of the last mask in a group cannot be changed but we can move down a mask with any mode and this doesn't really make sense, we should be able to change it or it should automatically be put back to in union default mode:
https://github.com/user-attachments/assets/70c9d535-30ad-4ed6-a6ff-9cdd55624e2a
We can again notice here the inconsistency of the icons and checkbox which are appearing/disappearing or in a wrong state. Small idea: why not adding a specific icon that indicates this is the bottom mask?
Small improvements
I think if these small issues are fixed the mask manager will be in a good state, however here are my few recommendations for a better and intuitive interface:
In my opinion, we could just disable the possibility to expand the groups in the group section of the modules because it is redundant (we already know what masks are in the group by opening the group itself) and doesn't add any value because in all case we cannot do anything but "delete unused mask" which is already accessible anywhere by right-clicking in the mask manager. It just make things more confusing and redundant.
Second point, it would be really nice to have the possibility to disable any mask just by right-clicking on it with a checkbox on the menu:
When assembling a lot of masks in a group, it would be very useful to have the possibility of temporary disabling a mask. We could even add this option for the groups themselves.
Again, I hope everything is clear enough. Thanks for your hard work, I really enjoy this product.
Steps to reproduce
Captures attached explains the steps to reproduce.
Expected behavior
No response
Logfile | Screenshot | Screencast
No response
Commit
No response
Where did you obtain darktable from?
darktable.org / GitHub release
darktable version
5.4.1
What OS are you using?
Windows
What is the version of your OS?
Windows 11 Pro
Describe your system
No response
Are you using OpenCL GPU in darktable?
Yes
If yes, what is the GPU card and driver?
GeForce RTX 4070 Ti Super
Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the mask-manager workflows described in the issue on darktable 5.4.1 under Windows 11, using the attached captures as reference. Check each reported group, mask mode, icon, checkbox, ordering, and module-navigation behavior separately. Done means the reported inconsistencies are resolved and the proposed interface improvements have an explicit decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100