- From: Matt Woodrow <mwoodrow@mozilla.com>
- Date: Tue, 18 Oct 2011 15:01:54 +1300
- To: www-style@w3.org
- Message-ID: <4E9CDE12.70307@mozilla.com>
While implementing the 3d transforms spec for Mozilla I've come up with
a few questions/suggestions:
- How does preserve-3d affect the definition of transform's containing
block/stacking context?
When we have a multiple level hierarchy of preserve-3d elements,
should depth sorting stay constrained to to each stacking context,
or should all elements be moved up into the root-most stacking
context before sorting.
Using the WebKit 'poster-circle'
(http://www.webkit.org/blog-files/3d-transforms/poster-circle.html)
as an example, retaining stacking contexts will sort the 12 posters
by depth position within a ring, and the 3 rings (as a whole) within
the cylinder. This results in 'broken' rendering since the rings can
still end up overlapping each other.
If the intended behaviour of the spec is to treat all descendants as
if they are in the root-most stacking context, then this needs to be
clarified.
- "With elements at the same z-index, objects are drawn in order of
increasing z position." is very vague.
I realize that depth sorting was intentionally left out of the spec
to avoid requiring any particular intersection handling, but feel
that this should probably be more clearly explained, as the 'z
position' of a plane isn't particularly useful.
- For transitions, does it make sense to treat translatex() as
translate3d() to reduce the number of decompositions required?
Quite a few of the other transform functions could also be treated
as their 3d component to increase the chances of them matching. Is
this actually preferable?
- Matt
Received on Tuesday, 18 October 2011 08:10:20 UTC