Bug 411510

Summary: Color label filter shows the group layer or a parent node if the child should be shown too - even if the group is collapsed, so the child is not visible anyway
Product: [Applications] krita Reporter: reptillia39
Component: Layer StackAssignee: Krita Bugs <krita-bugs-null>
Status: REPORTED ---    
Severity: wishlist CC: ghevan, halla, tamtamy.tymona
Priority: NOR    
Version First Reported In: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Try keeping only No Label.

Description reptillia39 2019-09-02 01:13:16 UTC
SUMMARY
Just as the title said. If you attempt to use no label only as filtered option, colored layers are still visible.
STEPS TO REPRODUCE
1. Have 2 layer. 1 with color label in it. Filter them using No Label.
2. Tada! Colored Layers are still there. The opposite happens with colored label.

OBSERVED RESULT
Colored Layers are still visible with No Label.

EXPECTED RESULT
Colored Layers are not visible with No Label.

SOFTWARE/OS VERSIONS
Windows 10 x64
Krita 4.3.0 Pre-Alpha (git 822e6a4)
Comment 1 Tiar 2019-09-16 19:13:47 UTC
From my testing on 7f3ce472e9b118911fe30cfc3c1e8943b505dfd0 (master on September 16th 2019) it looks like the filter works as expected, but the results you get might be because the Layers box always shows the active layer no matter what its color label is. Can you please confirm so we can close the bug report?
Comment 2 Tiar 2019-09-16 19:15:02 UTC
[Bugzilla *needs* me to add a comment when I change the status to waiting for info... sure, dear bugzilla, I can do that :) ]
Comment 3 reptillia39 2019-09-22 05:04:26 UTC
I tested that it does work properly in latest build. Please close this.
Comment 4 reptillia39 2019-09-22 16:38:54 UTC
Created attachment 122804 [details]
Try keeping only No Label.
Comment 5 reptillia39 2019-09-22 16:39:18 UTC
The bug is still there it seems.
Comment 6 Tiar 2019-09-22 21:28:27 UTC
Looks like a group is shown if any of its child layer needs to be shown. A group can be shown empty (if all its layers are filtered), but a layer cannot be shown without a parent... and this behaviour seems to cover also the cases when the parent is collapsed, so you wouldn't see the layer anyway.

I saved a new file that only has two group layers, one without a label and one green. The green one is called "O and Original S Filtered Version of Filtered Original Image". I made all layers inside this group green and expanded it. Then I selected the group with no label.

The behaviour then depends on the color of the leaf label in the green group.

Test:
- if I leave it green, then the "No Label" filter filters the green group out.
- if I make that layer no-label, then the filter doesn't filter the green group (because the green group is needed to show the no-label layer).
- the behaviour is the same if I collapse the group.

I could try to make it not dependant on that, but I believe this needs a discussion with some other artists as well.

I set it to needs-info since I don't know now if it should be closed or fixed. If you believe this behaviour should be preserved despite you being confused by it before, just close this report as INTENTIONAL, if you have some further arguments against it, please post them here.
Comment 7 reptillia39 2019-09-23 01:47:20 UTC
I would prefer the child layers would be hidden by default unless you have them selected. 

With the example file I provided, it would enable sharing files in a way that other people can understand how to use the provided image as all the unnecessary info are filtered out. So, for game development, for example, this behavior would be beneficial. For pure painting purpose, for someone that use 100+ layers, this would be a fast way to filter layers if they're using group layers. So, overall, there's more arguments to keep child layers hidden if they're filtered out from my point of view.
Comment 8 Bug Janitor Service 2019-09-23 04:33:11 UTC
Thanks for your comment!

Automatically switching the status of this bug to REPORTED so that the KDE team
knows that the bug is ready to get confirmed.

In the future you may also do this yourself when providing needed information.
Comment 9 vanyossi 2019-09-23 16:49:53 UTC
If a layer has to be shown after a filter but belongs to a filtered out group (green group but "no label" child") there has to be a way to show that the shown layer belongs to a group. The easy way is to show the parent of te filtered layer only (no siblings)

The parent can also be rendered differently. I think the user has to know the layer belongs to a group.

If the "no label" is a child of a label group it has to be shown, otherwise the filtering is inconsistent and we would need a way to adjust the "depth" for the filtering.
Comment 10 reptillia39 2019-09-24 01:34:38 UTC
I do agree with the POV of adding depth option.

There's just one more thing to note.
Even though the consensus by the majority does not agree with my POV, I should let developers note that you can't actually color label filter masks making those completely impossible to hide via color label filters.
Comment 11 reptillia39 2019-09-24 01:39:51 UTC
EDIT: Not filter mask though you can't easily hide them. Transparency masks on the other hand can't be hidden at all.
Comment 12 Tiar 2019-09-26 20:13:47 UTC
It is possible to set colors to both transparency and filter masks. If you start by setting a color for a parent layer, it will set it to all the children, which is consistent with group layers behaviour. It is possible to change it in the child too, though.

(Marking as wishlist importance (as a wish to add the depth option) and unassigning myself.)