Bug 329159 - Wishlist: Temporarily storing tweaked properties on top of the base preset in order to easily switching between presets without having to reconfigure small changes every time.
Summary: Wishlist: Temporarily storing tweaked properties on top of the base preset in...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: unspecified Other
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL: http://forum.kde.org/viewtopic.php?f=...
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-23 14:57 UTC by sayantan.chaudhuri+kde
Modified: 2014-12-06 10:18 UTC (History)
2 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 sayantan.chaudhuri+kde 2013-12-23 14:57:11 UTC
This feature-request describes a way to minimize effort needed for workflows where the user switches between multiple presets, makes small cumulative changes to the presets as his needs change while working that aren't worth saving as separate presets, but need to be recreated every-time presets are switched as they reset to the base.

I propose that Krita temporarily save tweaked brush properties on top of a preset they modify -- until the original preset is manually reset, or the app is closed -- so that switching between iteratively but minutely tweaked presets while working doesn't require the changes to be remembered and remade again.

In practice, it should go like this:

-    The user can select any preset, which are all "clean" by default, and begin work.

-    If and when they make any changes to the brushes properties the new settings are retained on that same preset icon.

-    The preset icon gains a small overlay symbol in a corner that signifies that preset as "dirty", whether it is in the presets panel, the drop-down, or the right-click dial.

-    If the user changes to another preset, whether clean or dirty, the changes he made will persist on the last preset he was using. If he changes back to the tweaked preset he will be returned the same preset that he was using including the tweaks.

-    The original preset can be reset to anytime the user wants; whether by double clicking the preset, or the right-click menu, or some functionality of the small overlay symbol, as implemented.

-    The dirty preset will only persist during the current session. If Krita is closed, these changes are lost. If the user wants they can save out any changes they made to the preset just as always.

[ Link to original thread included. ]

Reproducible: Always

Steps to Reproduce:
1. User selects a preset.

2. User makes insignificant changes to the preset to fit his current focus of work.

3. User switches to another preset for some different effect.


Actual Results:  
Switching back to the preset user had tweaked to fit his needs resets to the base properties, discarding any tweaks.

Expected Results:  
This result is expected and working as intended as it stands. 

But this means the user either has to save many custom presets while he changes his chosen base preset as his requirements for the work changes, even if the changes are very minute, or remember and redo the changes that he made to fit his current focus again. 

This proposal suggests temporarily saving the tweaks on top of the base preset that can be still easily reset or saved to a custom preset for a simpler workflow.

Here I try to elaborate the proposal with my use case:

When working, I tend to move between three or four different brush presets that I find are closest to my needs. Krita has a very thorough list of presets to choose from; selecting a few, sometimes making some changes and then saving that out, and adding them to the right-click dial for quick access is simple enough. Now I can change between the presets easily, but of course, doing so switches the tool to the properties of that preset every time.

But I very rarely use a preset as is, even if I've saved it myself earlier. Almost always, I find myself at least changing to a more useful size for that particular preset's function or the region I'm working on, which is still easy enough to recreate when I change between them. But very often, I go through some more smaller changes as I continue working: such as adding grain, or changing the opacity curves, or changing between various brush tips. In these cases, any time I change to another preset, I lose the tweaks I made, even if it's just for a single stroke. I end up having to remember and recreate whatever small tweaks I made to the preset to get back to what I was doing. This is a lot of work.

I could've saved those variations as yet more presets. But that isn't always very useful. I go through these tweaks quite a few times. Often only using those tweaked brushes for five or so minutes before making another slight change as befits the region of the painting I'm working on. Saving them out every time I make a small iterative change would be quite a lot of work too, and the new presets wouldn't be of that much use to be later in the same project or other projects with different requirements.

In an app like Gimp, I might've been able to get around this by using the different painting tools it has to get: The paintbrush for a sharp brush, the airbrush for glazes, the smudge tool for some textured blending, the ink tool for sharp creases. I could slightly change those tools' settings iteratively over time and they would persist while changing between them. Krita's brush tool implements all the painting functionality that I had to switch between tools for in Gimp. It is significantly more powerful, but the preset-driven nature means I have the problem of either having to save a new preset every few minutes, or remember and remake the slight changes I made all over again when I switch between them.

This is the problem dirty-presets aims to solve. It will allow for much smoother workflow, in my opinion, for users who switch between a few presets but like to make small changes to them. And if the dirty-to-clean resetting is easy enough to invoke then users used satisfied with the existing functionality are minimally troubled, if they make any changes at all. And it can just as easily be disabled without any changes whatsoever.
Comment 1 tparrott 2013-12-23 16:18:04 UTC
I would love to have this feature included in Krita.
It would improve the workflow for me.
Comment 2 sayantan.chaudhuri+kde 2013-12-24 04:49:42 UTC
Slight modification to the proposal as per: http://forum.kde.org/viewtopic.php?f=137&t=118902&p=298843#p298832

Instead of using the entire preset icon to switch the modified temporary presets, the symbol overlay used to denote a modified preset itself may be used. This way, the main icon will switch to the base preset, as is the current behavior, but the overlay icon (if any) can still be used to switch to a "child" version that collects any tweaks the user makes while working.
Comment 3 Halla Rempt 2014-04-28 14:43:52 UTC
It's part of Mohit's gsoc this year!
Comment 4 sayantan.chaudhuri+kde 2014-04-28 15:41:50 UTC
Hurray! 

I see Mohit's proposal is here: https://www.google-melange.com/gsoc/project/details/google/gsoc2014/mohit_bits2011/5649050225344512 Is there any other way to follow this and other GSoC projects?
Comment 5 Halla Rempt 2014-04-28 15:47:11 UTC
Every student is going to have to blog, and the blogs are on 
planetkde.org.

On Mon, 28 Apr 2014, sayantan.chaudhuri+kde@gmail.com wrote:

> https://bugs.kde.org/show_bug.cgi?id=329159
>
> --- Comment #4 from sayantan.chaudhuri+kde@gmail.com ---
> Hurray!
>
> I see Mohit's proposal is here:
> https://www.google-melange.com/gsoc/project/details/google/gsoc2014/mohit_bits2011/5649050225344512
> Is there any other way to follow this and other GSoC projects?
>
> -- 
> You are receiving this mail because:
> You are on the CC list for the bug.
> You are watching the assignee of the bug.
>
Comment 6 sayantan.chaudhuri+kde 2014-04-28 15:59:36 UTC
Thank you for the information. Will follow!
Comment 7 Halla Rempt 2014-12-06 10:18:57 UTC
Mohit's gsoc got merged, there are still bugs to be fixed, but this has been implemented now.