Bucket fill bleed to layer below

I remember on the previous version of Pencil2D you could color your drawings on a separate layer with the bucket fill in a smart way.

I think it was like this, you put a second bitmap layer beneath the pencil layer where you drew your shapes and while using the bucket tool on the pencil layer the color would not destroy your line art because all bucket filled colors went automatically to the new layer below “the coloring layer”.

Does the new Pencil2D version also support this ? A very cool feature IMHO. :slight_smile:

Hi @manu, this feature was removed since so many people were asking “why does the bucket tool go into another layer?”. But I just realized we should bring it back recently. I am thinking to add a preferences option for this feature, so newcomers won’t get confused and advanced users can still use it. What do you think @JoseMoreno?

1 Like

@chchwy Yes, this is a useful feature. But the problem wasn’t the feature itself it was that people didn’t know “why” it behaved that way since they expected the current layer to be filled, not other layers.

Normally this behavior is used to have lines and fills in separate layers. In TVPaint they have a dropdown menu (similar to our stabilizer feature) to change from “current-layer fill” to “below-layer fill”, maybe we could have the same, particularly if we want the behavior to target specific layers in the future not only those that are below the current layer. We could get the order for the menu from the layer indices that are written in the XML file.

Choose Fill Target:
[—Dropdown Menu—]

  • [—Inactive Layer 1—] (Above)
  • [—Active Layer—] (Current)
  • [—Inactive Layer 2—] (Below)
  • [—Inactive Layer 3—] (Below)

@chchwy @JoseMoreno

Thanks for considering adding this again!
I’d be happy with a setting in preferences for starters, if that’s easier, once we have the feature back we could always improve on the UI side of it.

Personally I think that a toggle on each layer would be better. It’s requires less click from a users side of things and it would allow you to choose multiple.

@CandyFace What do you mean toggle on each layer?

Something like
-----------------Timeline illustration-----------------
o ----------------- [ fill ]
● LayerBitmap [ x ]
o LayerVector - [ ]
o LayerBitmap [ x ]

if you mark the top fill, the bucket will fill on all valid layers, eg. if you mark all layers but you’re on a bitmap layer, only all bitmap layers will be filled.

The default would be the current layer is filled.

1 Like

@CandyFace That sounds great too!, I think it would work well since the layer object would hold that property and it would actually help if for example you wanted to bleed over more than one layer, then you would check other layers to get copies of the filled outline.