This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Feature Suggestion - Dirty Presets

Tags: None
(comma "," separated)
Scio
Registered Member
Posts
9
Karma
0

Feature Suggestion - Dirty Presets

Sun Dec 22, 2013 5:41 pm
I'd like to propose a presets related idea that I think might be helpful. Forgive me if this concept is redundant, I couldn't find any similar suggestions in my searches. Also forgive me if this isn't the most relevant place to post this. I am not posting this in the extensions forum because I don't know whether this functionality is suitable for an extension.



Dirty Presets: 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 goes 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.
  • It only 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 just like before.



I'll try to elaborate it 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.



I hope to get some feedback on whether anyone would find this useful, or if it's feasible.

I have no idea with how much work it might be to implement. I haven't much experience developing apps, let alone large ones like Krita, but if anyone would confirm if this is possible to do with an extension/plugin I would like to attempt it myself.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS
Interesting idea. it certainly is feasible -- my worry would be wether users would not find it confusing, but it sounds like a very natural thing. I'd like to hear input from other artists. In the end, the idea needs to be added as wish to bugs.kde.org and we need to find time to implement it. It would not be really hard, I think.
Scio
Registered Member
Posts
9
Karma
0
I have submitted the wishlist Bug #329159 to the tracker. (Is there a way to edit the description, it's a bit messy!)

How about instead of using the entire preset icon to switch to the temporarily saves preset, the overlay icon symbolizing a tweaked preset is used as the click-target to switch to the temporary version, with the main icon switching to the base properties as expected?

This also doesn't require any explicit functionality to discard tweaks, or the chance prospect of mistakenly losing a useful temporary preset by double-click etc. A "dirty" preset will just accumulate the changes on a single child version as the user works.
User avatar
vascobasque
Registered Member
Posts
72
Karma
0
OS
I like this idea. I have some "child"-presets, i only keep to have fast access although they differ only in a very few aspects. With this idea implemented i would not have to keep this files. And i like the style of the idea - dirty^^ That's cool and unique and useful...


tparrott
Registered Member
Posts
17
Karma
0
I really like this idea, and would love to see it implemented.
I switch frequently between presets, and think it would be great if things like brush size stayed where I set them.

For example, I switch back and forth alot between pencil and soft eraser. It would be nice to be able to set brush size to my liking, and have it persist for the session. As It stands now, I have to resize the brush each time I select it.
Scio
Registered Member
Posts
9
Karma
0
I'm glad to see people finding the proposal useful!

I too used to keep a few numbered temp presets that overwrote with tweaked properties. But somehow, redoing the tweaks started to seem like less effort than updating them all the time, although not by much!

The pencil and eraser example is particularly relevant, I think. In my case it's a hard brush and a larger smooth eraser. I have custom presets for those, but I still have change their size to fit the region I'm working on, which get reset.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS
For that scenario, the / hotkey might be useful -- that can switch between two presets and those remember all the things you did to them.

So, select brush, modify size, paint, select eraser, modify, erase, press / and you get the other brush back.
Scio
Registered Member
Posts
9
Karma
0
I never knew the Switch to Previous Preset function existed! I should've looked into the shortcuts editor more.

I'm going to start using it right away. Being able to switch between two persistent presets is already very useful. I'd still find proposal helpful though, as I usually use three or more paintbrushes!
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
I'm afraid descriptions (as well as comments) on bugs.kde.org cannot be edited.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Scio
Registered Member
Posts
9
Karma
0
I see. I will add the change as a comments, then.
Ryan
Registered Member
Posts
41
Karma
0
OS
The idea is a good one. After all, computers are meant to make work flow fast and easy. However, it would need to be clear to understand so new users wouldn't be confused. I think it would be a feature they'd need to find out about then use. It's absolutely true that you may well set up a variety of brushes that are in a general ball park of usage but end up constantly applying tweaks particularly in sizing which gets lost when you move to other brushes but you obviously want a set of unchanged brushes when you start another session.
Scio
Registered Member
Posts
9
Karma
0
I agree that the feature description in this thread (and the feature-request bug) is overcomplicated. I wasn't sure if I was getting the point across, so I went a bit overboard. (Not-my-first-language card! :)

Do you mean that this feature should not be activated until users find out it exists, in order to avoid confusion? Behind a togglable configuration option in the preferences, perhaps?

I would agree that that would be a sensible way to do it. I didn't have much opinion about how this feature should be de/activated because I don't have any knowledge of Krita's UI priorities, but I think either having a preference that's toggled off by default or using the small overlay button which contains only the accumulated dirty-presets and leaving the actual preset tiles as-is are both acceptable.

Do you think the overlay icon as describe in comment viewtopic.php?f=137&t=118902&p=298843#p298832 is still too complicated to be on by default? Or something else entirely?
User avatar
vascobasque
Registered Member
Posts
72
Karma
0
OS
Another way to keep settings between presets could be a locked state for single or multiple brush-options like shown below.

Image

Function:

A locked setting does not change on switching presets. It applies to any Brushengine that supports that setting. There could be a 'Unlock all' option in the rightclick window menu.The lock state could be remembered between sessions. (-> maybe optional in the settings like - remember locked State - default: no)

Pro:

- It is known from other Applications eg ps has had something similiar. (idk how it works in the latest ps version)
- It is visually logical and therefor easy to understand
- It is on a advanced user level, meaning it gets not in the way in the first steps of a new user
- Useful for temporary adjustments and for creating permanent presets making it easier to transfer a prefered adjustment to another preset/brushengine
- Easy switching of settings between brushengines (eg pixelbrush to smudgebrush)
- No big (visual) changes in the GUI, Icons are already there

Contra:

- Development Time; Priority?
- Maybe difficult/complex to implement?


Scio
Registered Member
Posts
9
Karma
0
That UI is certainly quite sensible, but I'm afraid I'm not very clear on the functionality :]

What happens to the changes I make to the unlocked settings of a preset?

Are they completely reset when I change to new preset (as they do right now, discarding any temporary changes we've made), or do they always persist (instantly modifying the preset as changes are made)? If they always persist, that addresses the temporary changes issue perfectly, but doesn't that also mean there's no way to go back to the original preset other than by hand?

I'm probably missing something here.

Also:

"A locked setting does not change on switching presets"

Does this mean that if a preset I'm using (say: a large fuzzy round airbrush that shrinks with added pressure) has a locked brush-tip, if I switch to another preset (say: a thin sharp square calligraphic brush that grows with added pressure) the second preset will have its brush-tip set to the first preset (resulting in: a fuzzy round calligraphic brush that grows with added pressure)?

Edits: Missing words.
User avatar
vascobasque
Registered Member
Posts
72
Karma
0
OS
Hmm it is simple, so simple that it is difficult to explain :P

A locked setting is temporary constant as long as it is locked. When you load a preset with all it's adjustments the locked setting is merged into it.
Unlocking means the temporary constant setting is forgotten and all presets are loaded as before.

E.g. you have loaded a default preset with a round brush. Now you lock the Brushtip. Any Preset will now have this round Brushtip, but all other settings change according to the saved preset. All changes are temporary.

Surely this is very different from the original idea - it is a completly other approach to the problem. So it might not solve exactly what you wanted, but it overlaps. One downside of this is that all presets are changed as long as a setting is locked. Very different from the idea of "dirty" temporary presets.

For me it is often so that i know where i have a specific brush behaviour saved, but i need it with another brushtip or i only want this special adjusted scatter curve. So it would help if i could transfer settings between presets.

Another example of usage is maybe the tilt sensor. Presets that change size depending on Tilt (descension) are pretty usefull but not in all situations. Locking that setting would mean that all presets now have that tilt function and i do not have to adjust anything here. I just activate the saved preset with that setting, lock it and then could use it with any other preset as long as i need it.

I hope that clarifies how i meant it. As i said above, it is only partly following the original idea and i don't know how useful my approach really is, so we must discuss it... :)




Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], Sogou [Bot]