ISSUE: The BUCKET tool fills shapes on the wrong layer

Last build (27July)
Win7 Ultimate SP1, 64bits

I need some help over here :slight_smile:
I am not sure if this is kind of an issue or so, but I have been fighting against this since the very same day when we started pulling out Pencil2D from the death….

Suppose I have multiply layers (only bitmaps on this case) and all the layers have frames with drawings, and some has only few frames (and rather big space between them)

  1. go to the bottom layer. I called RENDER.
  2. select BUCKET tool
  3. decide to paint a closed shape.
  4. apply the bucket tool colour.
  5. the shape is filled with the right colour
  6. when checking the layers, the fill colour was applied to the layer above [is this normal?]

In this situation the UNDO feature does not always work efficiently. Most of the time the colour already applied on the wrong layer does not undo

Thanks a lot

already mentioned

Yes…same happens here…whether or not the original camera and vector layers are there, with multiple bitmap layers a fill on a lower layer will actually appear on the layer above it. In this case, “lower” and “above” are referring to the layer order on the timeline, not on the canvas.

I didn’t see a problem with undo, though.

"“lower” and “above” are referring to the layer order on the timeline, not on the canvas."

That´s it!


I found out a way to avoid this. Now there is a reason to stay alive! :slight_smile:
Just add a VECTOR layer above the bitmap layer you want to paint.
You may have several bitmap layers on the timeline but insert the vector one just above the one you are working on. The colours will be applied to it.

I don’t really get this behaviour and for what I read today this is a normal feature (see documentation article )
If someone could explain me the reason behind this feature I will be very glad.

I guess i understand why it’s done…allows you to keep your colors and outlines on separate layers. I usually keep color and outline on separate layers myself, but I can’t say that i think it’s particularly logical or intuitive to do it in that way. It feels like a bug, and and seems weird to have as default behavior. If it were up to me i’d probably have it as a toggle or something rather than having to add a layer in-between to prevent it from happening.

Then again, i hardly ever use a paint bucket, instead painting color on a layer under the outlines with a brush, so i’m not going to argue whether or not it should be like that.

Have you already read the vision for Pencil, by the original software developer ?
I think there is a part of it that is related to what you describe.

I don’t know either is this system is a good one.
It’s kind of a smart idea, but we should discuss about the pros and cons…

Anyway, I suggest anyone wanting to be involved in Pencil2D do read that (long) document (i’ll stick it into the Ideas forum), since it summarize what the developper wanted to do with the software, and can explain a lot of the actual behaviours of Pencil !

We should not restrain to what he wrote, but it can be a good source of inspiration.

I would like to give my idea of what I have read from the link @admin showed us. Thank you for that!

Even having the 4th sublayers described by Pascal (sketch, clean, temp, fill), and ordered (important) as Pascal also suggested (from TOP to DOWN on the timeline guide): sketch, fill, temp, clean, and applyng the bucket tool on its right sublayer (FILL), I will end up with the fill-sublayer EMPTY and the sketch-sublayer will have sketchs and fill colours.

Hope the developers have a chance to discuss this :slight_smile:

After reading the vision document, i still don’t understand how it’s supposed to work. I’m used to layers having all the same properties initially, until the user specifically changes the behavior of a chosen layer. While the idea of separating raster, vector, sound, etc into unique layers is perfectly logical, the idea of the program assuming i want to add a fill to a layer other than the currently active one is not, imo, logical. I think the concept of using the lines in one layer to affect the fill in another layer is not a bad one, but i’m sure it could be done in a more intuitive way. For example, you have a layer selected on which you want the fill, and when the bucket is selected you can choose a layer or layers from which to get the boundaries of the fill.

The Pencil vision document seems to have been written with certain future features already assumed, and sometimes it seemed like he was talking about a non-existing feature as if it were already implemented. I have a feeling some of the behaviors were only partially worked out in 0.4, and now that others have begun making changes and fixing bugs some of those unfinished features may remain unfinished…or be changed into something Pascal hadn’t intended. Not saying that’s bad at all…times change, computering changes.

@mikshaw : Yeah, I share the same opinion and I also guess those features were only planned or partially implemented.

To me, the way it could world would be to make layers a kind of “folder” that can be expanded to show sublayers (sketch,fill,clean…). Those sublayers should be automatically added while a specific tool is used on it. eg.if you use the paint bucket tool on the layer, the fill sublayer would be created. The “role” of the sublayer could also be chanded by right-clicking on it (eg. you want your sketch layer to be the clean layer)

It could work in a transparent manner (newbies should even not be aware of those sublayers) but you could expand it if you need a more advanced usage.

@admin: That sounds sensible…the sublayers might be seen as properties of the layer, represented as separate layers but tied to the main layer. I think Pascal was saying something similar to this, and maybe that’s where Pencil was headed, but i don’t think he had quite worked out how the sublayers would be created and organized.

Yeah… Anyway, the question is to know is that workflow is useful.
Has it enough advantages to be implemented (it’s probably a lot of code) ?

…Knowing that people probably will have to learn it and will perhaps feel forced to work like Pencil wants they work.

Maybe it would be better to have regular layers, with an option to disable them when rendering (like the guides layers in Adobe softwares).

I also have the impression that this was meant for vector layers and not for raster layers :

From what I understood, Pencil is developped to work with vectors & raster the same way (same tools, etc). But if you use raster layers and that you mix your strokes, your colors, your brushes… how is it supposed to work ?

I would be curious to know what @chchwy think of all this…

Yes, I think the same way as you both. My first idea was that Pencil was not fully implemented with that way of working with layers…

I strongly believe Pascal is coming here from time to time :), and maybe he will give us a comment or two when Pencil2D is surely stable and capable.
Meanwhile graphic animation software have changed a lot since 2009… so it changed a lot more since Pascal´s vision.

This has been Pencil’s configuration from since i know it, it’s a matter of workflow like the “Pascal Vision” shows, to keep your lines art separated from your paint just like ol’days…

If you want to avoid this behavior make sure you have only one bitmap layer so Pencil won’t “paint” the layer under you lines [it’s under since the camera it’s on the other side] changing to a Vector layer it’s not a workaround but a different workflow.

The idea would stand if the sublayers where “linked” in a way or another (parenting, etc) to the main layer. I think having the top layer as paint layer is confusing.
PS I splitted your topic (when talking about Smart Palette) here.

I think having the top layer be anything other than whatever is in the foreground on the canvas is confusing =o)


Well…That’s a workflow issue.

If you think that you may want to compose your animation later with, let’s say AE, Kdenlive or Blender, you’d feel the need to have things separated…That’s a pro stuff Pencil have and the only mistake it carry it’s to not have enough documentation about it…

I see it this way: for simple stuffs you’ll probably use only one Bitmap layer and Pencil will only “paint” on it. That’s one of those unique features Pencil offers [if you were using any other bitmap animation software you’d have to duplicate your line layer] but yet, users should have the option to turn it off

@admin , thanks


EDIT: I just realized i might be responding to a response to a different comment. If so…sorry.

I think you misunderstood my comment. I have no issues with using many layers, or even having nested layers and specific types of layers for specific content. I have an issue with the inverted order of Pencil’s layers on the timeline. The foreground layer on the canvas is the top layer on the timeline in every application in existence, except Pencil (Hyperbole. There might be others…i just haven’t seen them). It makes no sense to me why it would be inverted like that. It’s not even a matter of “this works better regardless of what is commonly done”, as Pascal had written about his design choices. It’s a drastic difference from everyone else with no apparent benefit.

Anyway, that was just a semi-related comment made semi-seriously, and not intended to take the thread off-topic. Sorry.


You’re right…i misunderstood your comment…sorry

Pencil does have this upside down layer setup and i never really figure out why, neither there’s any info about it…weird :wink:

It’s a drastic difference from everyone else with no apparent benefit.

double that…

The bucket tool fills the layer BEHIND the current layer if it’s a bitmap. This keeps color on a separate layer which is actually really useful in my opinion. You can’t mess up your line work, and you can replace the color with another easily. Obviously it has problems though. There is a bug that prevents you from undoing the fill tool if it fills the layer behind, and that needs to be fixed. Also, I think it should be kept in as an optional feature. It should probably also be turned off in the preferences by default so that it won’t confuse new users.

Hi, all.

I just want to add my voice for keeping the ability to bucket fill on the layer behind the line art. It’s an immensely useful feature.

Matt Jordan (aka muhkayoh)