W3C home > Mailing lists > Public > public-fx@w3.org > July to September 2016

Re: [css-transforms] CSS3D breaks with opacity flattening

From: Rik Cabanier <cabanier@gmail.com>
Date: Wed, 21 Sep 2016 01:57:51 +0100
Message-ID: <CAGN7qDCuyipPG8kSeG5qG2ETYU0s70f76oF34oTkxcgG_s8a1g@mail.gmail.com>
To: Matt Woodrow <mwoodrow@mozilla.com>
Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, "/#!/JoePea" <trusktr@gmail.com>, Chris Harrelson <chrishtr@google.com>, Simon Fraser <simon.fraser@apple.com>, "public-fx@w3.org" <public-fx@w3.org>
On Tue, Sep 20, 2016 at 10:46 PM, Matt Woodrow <mwoodrow@mozilla.com> wrote:

> 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 don't see why that is. clipping and blending can be done pre/post

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.

Yes, that is a current issue in the spec. Once you're in a 3d context, you
can't introduce group opacity and not expect it to flatten.
Simon Fraser made a proposal 2 years ago to fix this:

His proposal was to redefine the values of transform-style so it's not
ambiguous. Unfortunately, since the prefix was dropped, we likely have to
introduce a new name if we go down that path :-\
Received on Wednesday, 21 September 2016 00:58:22 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:57 UTC