Configurable multiple instances of tools
Open, Needs TriagePublic

Description

To assuage the existential angst that overwhelms Photoshop users when they see there's no eraser tool, we could create a feature where a configurable number of freehand tools can be added to the toolbox, with configurable icons, and connected to either a set of brush engines or a set of tags.

Problems:

  • Intersection between current preset per tool and current preset per canvas (can be solved in KoToolManager)
  • Should there be a maximum number of independent tools?
  • Should we provide this for all (painting only?) tools?
  • Pretty soon people will start demanding either profiles mimicking various applications or a default of more than one tool
rempt created this task.Dec 1 2021, 1:25 PM
rempt updated the task description. (Show Details)Dec 1 2021, 1:33 PM
rempt updated the task description. (Show Details)Dec 1 2021, 3:10 PM
rempt updated the task description. (Show Details)
rempt updated the task description. (Show Details)Dec 1 2021, 3:15 PM

I have a feeling that giving "mutliple instances" for all the tools might be a bit of overcomplication. Especially in its definition, because it may be expected for tools to have different options in the "Tool Options" docker.

We do already have a ready-made solution for the original problem. We can make a virtual tip to the stylus and let the user manipulate with it in the same way as he/she manipulates with the eraser tip of the real stylus. We could even simplify it more and just add a button to flip the real stylus ends using a shortcut. It won't even require any definition of "virtual tip" or "tool instance", so it won't overcomplicate the GUI.

rempt added a comment.Dec 2 2021, 11:29 AM

That won't satisfy the people who want to see an eraser tool in the toolbox...

That won't satisfy the people who want to see an eraser tool in the toolbox...

I don't think the tool in a toolbox is a problem. They mostly don't like that the shape of the brush doesn't change on switching to the eraser.

rempt added a comment.Dec 2 2021, 12:27 PM

No, that really is the problem for people like Andreas Resch.

From what I understand they want to switch to last used eraser preset when they switch to the "Eraser tool" They are okay with having current brush turning into and eraser but they miss the feature where they can click the eraser tool and switch to the last used brush preset as eraser.

From what I understand they want to switch to last used eraser preset when they switch to the "Eraser tool" They are okay with having current brush turning into and eraser but they miss the feature where they can click the eraser tool and switch to the last used brush preset as eraser.

Additional eraser tip switch solves this usecase fully.

I think most affected users by this does their comparison with a certain model in mind. In my personal experience I wanted a way to get into a particular eraser preset in certain scenarios. I.E. for painting I did not needed a special preset as I used the eraser mode as a painting modifier. I do however needed a specific preset when cleaning while inking or adding depth in some painting styles.

I think we can approach it not as an additional tool but as an option in the current Brush tool. I made a quick mockup which I explain: "E" modifier activates the erase blending mode of brush tools, this can be set to select either be the eraser blend mode or switch to a selected eraser preset(or last one used??). If this is prone to confusion since there is no incanvas way of knowing what option is activated, we could set it so "E" turns on eraser mode and "SHIFT + E" switches to eraser preset, and thi sleaves the GUI to just set the eraser preset (or show the last eraser preset to be activated by the action).

In this case I think we can use the virtual tip and still have a "tool like" implementation, without affecting current users and adding a bit more control on eraser workflows.

Deevad added a subscriber: Deevad.Dec 5 2021, 12:26 PM

I very like this thread proposal because the feature really cover many scenarios. Custom icons in toolbar can stimulate the part of DIY in each artist. Investing time on their UI, their setup, sharing cool screenshot with funny custom tools icons, feeling more 'at home' on their own Krita setup.

It's not only about Eraser (the tip of the iceberg, imo). Remember Ps also has "Smudge" finger tool, "Dodge" sort of dark magnifier tool, "Clone", etc... (eg. The plugin made by Blender Foundation shows how important the access to last "smudge" preset was also important to them, for a workflow −I presume− of paint hard edges first then blend the edges).

Also, it's crowdfunding incentive material, imo :)

After reading Deevad I'm convinced this can provide value to all krita users. as for the points in the original post:

  • Yes to a have maximum limit, if we do not set it the toolbox will grow too much that grouping/hiding other tools will be necessary as an option for some users.
  • Besides painting tools/presets I can only think of assigning transform modes as tools for quick usage. I dont think all tools can benefit at the moment of the possibility to be used as custom tools.
  • This can be reduced by limiting the "scope" of the concept. Instead of "customizable tools" (which entails, create, delete, group, modify) a set of "assignable tool slots" (create/delete/modify only the slots available).

This custom slots can be exported/imported to allow different sets of tools. The sets may be loaded on the fly and perhaps assign a tool set preset to a workspace, or a key combination to allow having tools for inking, painting, compositing, retouching, etc.

Now when I think about it, the feature might be overlapping with the "tool presets" feature. People might start using them as presets for the tool options, e.g. Stabilized liner vs Sketch pencil. So it should be taken into account as well [0].

[0] - which leads to a technical task of saving the tool options into the config file, which we do basing on the tool id at the moment.

rempt added a comment.Dec 7 2021, 8:53 AM

The two ideas (flexibility in adding tool instances vs tool presets) are not the same, though there are places where they touch. I still haven't got a better solution for saving tool config settings than the one in my merge request for tool presets.

Just a note from IRC:

<Hrubesova> What I'd say was basically that I found that erazer brush with stabilizer was kinda annoying...
<Hrubesova> I won't repeat another erazer tool/brush debacle, but I'd love to see something like brush preset has their own Smoothing setting which override overall setting temporarily when they're used
<Hrubesova> like erazer brush preset has its own smoothing setting in no or basic smoothing

It looks like the different tools/modes should also have different stabilizer settings