New issue
Advanced search Search tips

Issue 650514 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

CSS 3D opacity flattening breaks content.

Reported by trusktr@gmail.com, Sep 27 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36

Example URL:
https://github.com/aprender/ReFamous

Steps to reproduce the problem:
Make something with https://github.com/aprender/ReFamous or with https://github.com/famous/engine, and apply opacity anywhere in the scene graph that is not a leaf node.

The object will be flattened.

What is the expected behavior?
Opacity flattening goes against the principles of CSS: the new opacity flattening "feature" means that 3D authors have to restructure their markup, and cannot simply use CSS to apply the desired visual styling.

The principle of CSS is that authors should be able to apply visual styling without having to modify the markup of a page.

What went wrong?
Please, please, please, don't ship breaking features darn it.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes Chrome 52

Does this work in other browsers? Yes 

Chrome version: 53.0.2785.116  Channel: stable
OS Version: OS X 10.10.2
Flash Version: Shockwave Flash 23.0 r0

The css-transforms spec needs to be updated to allow for 3-dimensional opacity, which is working perfectly in Chrome 52.

Let me repeat: it works perfectly in Chrome 52.

The idea of making opacity suddenly and unexpectedly move the vertices of a 3D object in order to make it appear flat is seriously wrong. It is hard to believe that a team of smart engineers at Google would be okay with this.

Please help fix the spec rather than just shipping breaking changes just because they are interoperable.
 

Comment 1 by trusktr@gmail.com, Sep 27 2016

For reference, these three libraries are borked now, as far as opacity goes: 

http://github.com/trusktr/infamous
http://github.com/aprender/refamous
http://github.com/famous/engine


Comment 2 by trusktr@gmail.com, Sep 27 2016

Oh, now this one is broken too:

https://github.com/kitao/divsugar

Comment 3 by trusktr@gmail.com, Sep 27 2016

For example, here is a DivSugar demo in which we should see cubes, but they are instead flattened into planes:

http://kitao.github.io/divsugar/examples/04.LightAndBillboard/

Comment 4 by trusktr@gmail.com, Sep 27 2016

For reference, if libraries like

https://github.com/mrdoob/three.js
https://github.com/dmvaldman/samsara

ever decide to (supposedly) upgrade from the non-nested DOM approach to the nested DOM approach using preserve-3d, they will also break.

Comment 5 by trusktr@gmail.com, Sep 27 2016

Here's another library that breaks with these changes:

https://github.com/boblemarin/Sprite3D.js
Components: -Blink Blink>CSS Blink>Compositing
Status: WontFix (was: Unconfirmed)
This topic has been discussed recently at great length on the public-fx mailing list. See:

https://lists.w3.org/Archives/Public/public-fx/2016JulSep/

Please comment there rather than this bug.

Sign in to add a comment