On 20/09/16 11:10 PM, Rik Cabanier wrote:
>
> What other options? The one that Safari has implemented?
> That one relies on their render tree which is unspecified.
Right, but that's what the authors in this thread seem to want. My
suggestion gives rendering very close to the Safari/old-Chrome/Firefox
behaviour (which is looking to be important for web-compat), but doesn't
break opacity grouping.
>
> As Tab said, there are few case where you'd actually want the
> "screaming skull" effect.
> If you DO want it, it's easy to apply opacity using a selector.
If you want the "screaming skull" effect, then you can use a selector.
If you don't (but you don't want flattening either), then this seems
like the only option.
>
> Can you state what is under defined in the spec? The document's been
> in limbo for so many years and it would be great if some progress
> could be made.
It's getting better, I don't have specific examples from the ED except
that no UA actually implements what it says. Previously, opacity wasn't
mentioned at all which is how we got to this discussion, and depth
sorting/splitting wasn't specified.
>
> What makes opacity so special? (Or are you proposing that other
> effects also inherit this behavior?)
> "naturally" is also ambivalent. I find the current Chrome behavior
> more natural.
Opacity is special because it doesn't really matter if you apply it
before or after the transform. Filter might also fall into this
category, but most of the others (mix-blend, clipping) seem like their
position in the preserve-3d really matter.
I guess natural is a poor choice of words. I was thinking of the use
case where you take a set of elements to form an 'object' (say a 3d
cube), apply opacity to that (true, group opacity) and then position it
within the outer scene (say a whole set of cubes that rotate in a
carousel). As far as I can tell, there's no way to achieve this effect
with the current spec and my suggestion makes it possible.
- Matt