Lazy Brush User Interface

Mock History

Current Revision

Mock Description

The Lazy Brush feature is listed as a custom stretchgoal from the 2015 Kickstarter. This feature allows for artists and animators to easily fill an area with different colors. This is done in other applications by selecting a color and drawing an area to be filled. The lazy brush algorithm would then fill the layer accordingly.

scottpetrovic created Lazy Brush User Interface.Dec 10 2015, 6:21 PM
scottpetrovic added an image: lazy-brush.png.
scottpetrovic added a project: Krita.
scottpetrovic added a task: Restricted Maniphest Task.

Wolthera let me know that this stretchgoal is a "Dmitry choice". It would be nice to get Dmitry's input for what direction he would like to see this go. Currently, there is a lazy brush type painting approach, or a G'MIC style recolorization point approach. Dmitry can agree with those, or go a more 'exciting' direction if he chooses.

dkazakov added a comment.EditedDec 12 2015, 8:53 AM

Hi, Scott!

I like your idea. There are only a few comments from me:

  1. I don't think we need a completely new docker. We would better reuse Tool Options, just not to waste the user's screen space
  2. Yes we can activate the Lazy Brush tool when the layer is activated automatically. We do the same for Transformation Masks. About disabling other tools: I don't know, probably it is possible.
  3. We need at least a few predefined sizes of the brush, because the size of the area is taken into account in the filling algorithm (I don't know how GMIC sloves this issue).
  4. About destination layer for the filing. This is the most difficult question. The user might get crazy if the tool will automagically create a set of layers. It should do something clear and obvious.
    1. The first easiest option is to fill the layer using the mask itself. It is the most straightforward from the technical pov, but is not very useful for artists (is it?). This approach would be nice if this filling would be the final filling that doesn't need any editing
    2. We create a single layer, put it before the outline one and put ll the filling there. This approach is useful for editing via Deevad's workflow: select color and paint over it on a separate layer.
    3. We create a group layer and drop all the filled parts are as separate layers, so the painters could use and edit them separately. I'm not sure if it is easy enough to use and edit for artists.
    4. There is also a transparency mask approach, but I feel that it is too complicated approach. Understandabilty-wise and computatioal-wise.

One more thing we should consider is, what additional controls are needed to the 'lazy-brush-mask' in the layers docker? What I can imagine is: update, show outline, show filling. What else is desirable?