Skip to content

Tweak default threshold/fuzziness values for Fill and Contiguous Selection Tool

R. B. requested to merge tomtomtom/krita:tomtomtom/fuzzydefaults into master

BUG: 442171

This commit changes the default threshold/fuzziness values for the Fill tool and Contiguous Selection Tool.

Fill tool's default threshold value has been changed from 80 to 8. Contiguous Selection tool's default fuzziness value has been changed from 20 to 8.

Notes:

Reference palette with an artsy color shift, along with pure white and black (gray background on separate layer, sampling one layer): ref

With a Fill threshold of 80:

  • Filling 0-3 will have color filling into the entire palette aside from 6.
  • Filling 4-5 will have color filling into the entire palette.
  • Filling 6 will have color filling into 4-6.

With a Fill threshold of 20:

  • Filling 0-1 will have color filling into 0-2.
  • Filling 2 will have color filling into 0-3.
  • Filling 3 will have color filling into 2-3.
  • Filling 4-6 won't have any color filling into neighbors.

With a Fill threshold of 10:

  • Filling 0 will have color filling into 0-1.
  • Filling 1 will have color filling into 0-2.
  • Filling 2 will have color filling into 1-2.
  • Filling 3-6 won't have any color filling into neighbors.

With a Fill threshold of 8:

  • Filling 0-1 will have color filling into 0-1.
  • Filling 2-6 won't have any color filling into neighbors.

The above cases are the exact same with Contig Selection tool fuzziness.

With this test and Tyson's input in the bug report, I think changing the default values to 8 should be fine.

Test Plan

Run Krita in a clean environment (for example with HOME=/tmp/krita/ prefixing the run command), confirm new default values are used.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by R. B.

Merge request reports