SUMMARY STEPS TO REPRODUCE 1. Select Basic-5 Size brush 2. Enable Fuzzy Dab on Size 3. Change curves calculation mode to Maximum 4. Draw a line with the mouse (which always registers as 100% pressure) OBSERVED RESULT Brush size changes randomly per dab EXPECTED RESULT Every dab should be at 100% size. SOFTWARE/OS VERSIONS Krita Version: 5.0.2 Languages: en_US, en Hidpi: true Qt Version (compiled): 5.12.12 Version (loaded): 5.12.12 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: linux Kernel Version: 5.8.0-50-generic Pretty Productname: Ubuntu 20.04.2 LTS Product Type: ubuntu Product Version: 20.04 Desktop: LXDE
Hi, thank you for your report. I can confirm with the Krita Version: 5.2.0-prealpha (git 5c98a72) Appimage with Qt 5.15.7
I would be careful about fixing this bug, because judging from the code in here: "KisCurveOption::ValueComponents KisCurveOption::computeValueComponents(const KisPaintInformation& info) const" (kis_curve_option.cpp, line 389) https://invent.kde.org/graphics/krita/-/blob/master/plugins/paintops/libpaintop/kis_curve_option.cpp#L389 it seems like it was a design choice. There are a few types of sensors and apparently Fuzzy Dab, Fuzzy Stroke, Rotation, Tilt and Drawing Angle are calculated separately from the rest. Whole logic was designed and explained here: https://invent.kde.org/graphics/krita/-/commit/159a61263e6d4f7812ba56e38fa29a1a02dcae11 It seems like it might be necessary for values like Hue etc.
I'm afraid that is an intentional behavior. Sensor mode is applied only to "scaling" sensors, which are all sensors except of Rotation, Fuzzy Dab, Fuzzy Stroke, Tilt Direction and Drawing Angle. The latter ones are considered "additive" and they just add up to the final value of the option value. I don't think we can change that without breaking sanity of the brush behavior in special cases, like Rotation and HSV values.