<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
- Having a separated mask explicitely shows that you can change the<br>
transparency and you&#39;re sure your tools will perform the same way.<br>
Another advantage is that you can drag&amp;drop/copy the mask to another<br>
layer easily. When the mask is deleted, the filter layer would be<br>
applied on the whole image.<br></blockquote><div><br>Yes, explicit mask is better, BUT see above and below<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

- But we can also see things the others way around: Paint layers and<br>
Shape layers have built-in transparency too. So maybe it&#39;s is more<br>
logical to put a built-in transparency mask in other layer types.<br></blockquote><div><br>I can&#39;t remember any &quot;built-in transparency&quot; on paint layers. Do you mean 1-100%?<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

The problem with filter layers is that selections are used as data AND<br>
as a filter for other tools. For example:<br></blockquote><div><br>Yes, double use of selections is not that good.<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


There is 4 ways to display a mask: <br></blockquote><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
- as a colored overlay.<br></blockquote><div><br>Sven said we had that one day, but now it simply doesn&#39;t work.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Again, here is the behavior of a well-known graphic editor ;P :<br></blockquote><div><br>Well, that is the problem! &quot;A well-known graphic editor&quot; doesn&#39;t have any masks other than Transparency masks! (don&#39;t speak about selections)<br>
<br>In Krita we have special masks like filter-masks that can&#39;t have a child. This means they can&#39;t have any transp. mask as a child. That&#39;s why they workaround it with a selection. Adj. layers needn&#39;t these selections really, but they use to be uniform with masks.<br>
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

- Masks are shown on the same line than their parent layer, so it<br>
doesn&#39;t take more space in the layer docker.<br></blockquote><div><br>That&#39;s a good solution too, but krita&#39;s paradigm says that a layer can have infinite number of masks. Even if all of them are Transp. masks. I don&#39;t know how to resolve this.<br>
 </div><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Now to resume my thinking :<br>
- All masks must behave the same way, even if built-in a special layer type.<br>
- The current filter layer built-in mask is almost unusable :/.<br></blockquote><div>I&#39;m working on this.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

- Selections should not be allowed to paint/erase pixel directly.<br>
- Mask data and display of that data should be independant.<br></blockquote><div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
- The user should be able to switch easily between display mode<br>
(selection/transparency/...).<br></blockquote><div>Agree. Sven knows where to fix it in overlay subsys. (right, Sven? ;) ) <br></div></div><br clear="all"><br>-- <br>Dmitry Kazakov<br>