[AI] Replace brush with click-based interaction for AI object mask#20595
Merged
TurboGit merged 2 commits intodarktable-org:masterfrom Mar 20, 2026
Merged
[AI] Replace brush with click-based interaction for AI object mask#20595TurboGit merged 2 commits intodarktable-org:masterfrom
TurboGit merged 2 commits intodarktable-org:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Simplify the object mask UX and improve selection quality.
Why remove brushing
The brush-first step was my initial idea to improve UX and speed up object selection - let the user quickly paint over the object instead of clicking multiple points. After extensive testing, the effect turned out to be the opposite: in many situations the initial selection was completely wrong (inverted mask, selecting background instead of object, or producing noisy fragmented masks).
The root cause: the brush approach generated 10-30+ dense point prompts from a single stroke, but SAM2 was designed for small amount of precise clicks. This caused several problems in practice:
A single click on the center of an object consistently produces a better mask than a careful brush stroke. This matches Meta's SAM demo and other segment-anything tools where click-to-select is the standard interaction.
Changes
brush_usedtohas_selection: cleaner semantics