The implementation of layer groups is progressing very nicely and for  
the most part they behave as one would expect, and operations upon  
them behave as I would expect. However, there is one inconsistency  
that I feel should be considered.

Layer groups tend to behave as a "sub-image" within an image --  
operations on the individual layers are limited to the individual  
layer, whereas operations upon the "group layer" affect each of the  
layers in the group (by "group layer", I mean the collapsible  
pseudo-layer educed from the member layers of the group). I.e,  
cropping, translation, and transformation on the "group layer" result  
in each of the layers being cropped or transformed. Similarly,  
deleting or duplicating the group layer results in the entire group  
being deleted or duplicated. In these cases, an operation on a group  
behave just as would the corresponding operation performed upon an  

This is all very intuitive and well implemented. However, to increase  
the effectiveness of this relationship of "group == sub-image", it  
would be beneficial to have the boundaries of the group behave in a  
manner analogous to that of the image's canvas size. And currently, it  
does not.

When the boundaries of the "group layer" are modified, the result is  
that each of the member layers are cropped to the new boundaries. This  
is not what I would expect to happen. I should think that the "group  
layer's" boundaries should act as a passe-partout, masking out regions  
of the member layers which happen to lie outside it, and that in  
manner similar to the behavior of the image canvas, that member layers  
be permitted to extend beyond the "group layer's" boundaries. In other  
words, resizing "Layer Boundary Size" of the "group layer" should not  
crop the layer group, just as changing the canvas size of an image  
does not crop the image.

In addition to the changing the behavior of "Layer Boundary Size" when  
a "group layer" is active, I would propose a new button for the Layers  
Dialog, one that substitutes for the Lock Alpha button when a "group  
layer" is active. This button would permit auto-resizing of the  
passe-partout to fit the group's member layers. Alternatively, the  
passe-partout could be initially fixed to the size of the first added  
member layer, requiring a "Fit group canvas to layers" or somesuch to  
modify the size appropriately. Another option would be to create a  
layermask for the "group layer", but this would still require  
addressing how the positioning and dimensions of the layermask is  
presented to the user (eventually adding layermasks to group layers  
would be a desirable enhancement for different reasons).

My apologies if there are already plans to address this and I am being  
premature in presenting this issue, however, I feel it is quite  
critical that the rendering of the content of layer groups can be  
restricted to particular regions of the image canvas without requiring  
that the content of their member layers be destroyed.

Gimp-developer mailing list

Reply via email to