Bug 417748 - "Detailer soft" brush from David Revoy's brushpack v3 is broken
Summary: "Detailer soft" brush from David Revoy's brushpack v3 is broken
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: 4.2.8
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Tiar
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-02-16 15:13 UTC by Konstantin Dmitriev
Modified: 2020-02-24 09:20 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin Dmitriev 2020-02-16 15:13:35 UTC
SUMMARY
Incorrectly interpreted strength curve in "Detailer soft" brush from David Revoy's brushpack v3 (https://www.davidrevoy.com/article180/ressource-krita-brushes, direct download link - https://www.davidrevoy.com/data/documents/2013-08-14_deevadkrita-V3.zip)

The issue appears starting from Krita 4.2.7.1. Happens with 4.2.8 as well.

The issue doesn't happen on Krita 4.2.6 and below.


STEPS TO REPRODUCE
1. Download Brush Pack from this link - https://www.davidrevoy.com/data/documents/2013-08-14_deevadkrita-V3.zip
2. Unpack and copy "Detailer_soft.kpp" to ~/.local/share/krita/paintoppresets (on Linux)
3. Launch Krita 4.2.8
4. Select "Detailer soft" brush
5. Open brush editor and select "Strength" parameter to view its curve 

OBSERVED RESULT
Here's how Strength curve looks in 4.2.8 - https://morevnaproject.org/wp-content/uploads/2020/02/screenshot_krita-4.2.8.png

You can also try to paint using mouse and it paints nothing (because of right point is set to zero on curve).

EXPECTED RESULT
...and here is how Strength curve looks in 4.2.6 - https://morevnaproject.org/wp-content/uploads/2020/02/screenshot_krita-4.2.6.png


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Linux Mint 19
(available in About System)

ADDITIONAL INFORMATION
Tested on Appimage versions.
Comment 1 Ahab Greybeard 2020-02-16 20:02:43 UTC
I can confirm this but it's not just for the brush preset mentioned. It happens throughout the range of pixel engine brushes in 4.2.8 to the latest 4.3.0 prealpha appimage.

Open the brush editor and expand the preset management section to the left.
Scroll to the b) Basic brushes and select any of them and highlight Strength in the list of parameters.
They all have a double hump transfer curve but they all paint with the mouse or with the stylus at maximum pressure.

Select any of the presets and untick the 'Share curve across settings' box for Strength.
It changes to a straight line curve. Then retick the box and it stays a straight line.
All the presets now have a straight line Strength curve.

If I then select a preset I already have which has a Pattern enabled, the Strength curve is double hump and other presets go back to having double hump for Strength, but not all of them.

If you restart krita, the situation goes back to all having a double hump Strength curve.
Comment 2 Halla Rempt 2020-02-17 11:51:37 UTC
The one commit that I can suspect is 

commit a2a86bd9a7c0c595fa6f7e6a7bcfb44144c00e4c
Author: Agata Cacko <tamtamy.tymona@gmail.com>
Date:   Thu Aug 22 11:12:14 2019 +0200

    Fix curve changing with sensors w/ Use Same Curve
    
    Before this commit, curve would change semi-randomly in some cases
    if you change from some specific sensors to some other specific sensors
    (having a complex curve and clicking randomly should show a bug though)
    when "Share curve across all settings" is selected.
    This commit fixes that behaviour.
    
    BUG:383909
    CCBUG:410158
Comment 3 wolthera 2020-02-17 12:48:40 UTC
reverting that commit indeed fixes everything...
Comment 4 Tiar 2020-02-21 14:06:38 UTC
Git commit 369d552c3ca96ff1e7b379d570ea73914726f213 by Agata Cacko.
Committed on 21/02/2020 at 14:05.
Pushed by tymond into branch 'master'.

Fix incorrect common curve in very old presets

Before this commit, some very old presets would get an incorrect
curve with a weird two hills characteristics, which is a specific curve
chosen to point out the inconsistencies in curves options code.
This commit fixes that by checking if the curve has been set and if not,
setting a clean empty curve instead.

M  +25   -9    plugins/paintops/libpaintop/kis_curve_option.cpp
M  +13   -0    plugins/paintops/libpaintop/kis_curve_option.h

https://invent.kde.org/kde/krita/commit/369d552c3ca96ff1e7b379d570ea73914726f213
Comment 5 Konstantin Dmitriev 2020-02-21 14:18:08 UTC
Thank you so much! ^__^
Comment 6 Halla Rempt 2020-02-24 09:20:20 UTC
Git commit 3b7cc6f704cfa2eacfb00651e4959240897d266b by Boudewijn Rempt, on behalf of Agata Cacko.
Committed on 24/02/2020 at 09:20.
Pushed by rempt into branch 'krita/4.2'.

Fix incorrect common curve in very old presets

Before this commit, some very old presets would get an incorrect
curve with a weird two hills characteristics, which is a specific curve
chosen to point out the inconsistencies in curves options code.
This commit fixes that by checking if the curve has been set and if not,
setting a clean empty curve instead.
(cherry picked from commit 369d552c3ca96ff1e7b379d570ea73914726f213)

M  +25   -9    plugins/paintops/libpaintop/kis_curve_option.cpp
M  +13   -0    plugins/paintops/libpaintop/kis_curve_option.h

https://invent.kde.org/kde/krita/commit/3b7cc6f704cfa2eacfb00651e4959240897d266b