Indeed. These days, I am a bit out of energy. I hope though that I gets better in the future.
Ok so what is called here clipping mask is in fact preserving the alpha channel or porter-duff "source atop" mode. There are a lot of porter-duff modes. I had some thinking about it, I don't think it is necessary to add them. Here are the conclusions I gave about the OpenRaster format:
About the Porter/Duff compositing, I looked at actual software implementation, what I found is the ability to exclude the alpha channel (which amounts to the "atop" mode) and the ability to use a mask (which amounts to the "dest-in" mode). This is possible for example in Krita and Photoshop. In fact it possible to exclude any other channel as well (red/green/blue). Thinking about it, most other Porter/Duff are not necessary, here is how to achieve them using the layer structure, exclude channel and mask:
- "source": hide layers underneath
- "atop": exclude alpha channel
- "over": nothing special to do
- "in": use the layer underneath (its alpha channel) as mask
- "dest": make the layer on top invisible
- "dest-over": switch layer positions
- "dest-atop": switch layer positions and exclude alpha channel
- "dest-in": use the layer on top (its alpha channel) as a mask
- "clear" make all layers invisible
The modes "out", "dest-out" are similar to "in" and "dest-in" but with mask inversion. The "xor" mode is the only one that is not possible to do.
So yes, adding "exclude/preserve alpha channel" and layer groups would cover most cases. So that would definitely be on the top of the wish list.
By the way, if someone would like to implement some of the things on the todo list, I can give them some explanations if they need. Don't worry too much about breaking things as I will read carefully any pull request to see if that seems ok to me.