<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>47125</bug_id>
          
          <creation_ts>2010-10-04 15:47:20 -0700</creation_ts>
          <short_desc>Sibling layers whose parent doesn&apos;t preserve-3d should not intersect</short_desc>
          <delta_ts>2025-04-17 01:23:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=206262</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vangelis Kokkevis">vangelis</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>709922234</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>cmarrin</cc>
    
    <cc>kvserr</cc>
    
    <cc>rogerfgay</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>289237</commentid>
    <comment_count>0</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-10-04 15:47:20 -0700</bug_when>
    <thetext>According to the 3d transform spec, &quot;If the transform-style is &apos;flat&apos;, all children of this element are rendered flattened into the 2D plane of the element&quot;. I take this to mean that sibling layers that are children of an element that doesn&apos;t specify preserve-3d as its transform-style are not expected to intersect in 3D.  They should all be flattened onto their parent layer and draw in their document order.

For example, in this demo:
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/WebGL+CSS.html

after pressing space and getting the container tilted, the &quot;rocker&quot; div shouldn&apos;t cut through the &quot;container&quot; div as they are both children of the &quot;body&quot; element that doesn&apos;t specify preserve-3d.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289278</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-04 16:31:33 -0700</bug_when>
    <thetext>Yeah, the spec is really vague about the 3d rendering model, and it might be a little tricky for us to make it correct on Mac, but I should try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289280</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-04 16:31:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/8511539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045470</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-10-31 19:46:51 -0700</bug_when>
    <thetext>New spec text says that they do intersect:
http://dev.w3.org/csswg/css-transforms/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776281</commentid>
    <comment_count>4</comment_count>
    <who name="Roger F. Gay">rogerfgay</who>
    <bug_when>2021-07-12 04:07:21 -0700</bug_when>
    <thetext>3D is covered in CSS 3D Transforms Module Level 3
https://www.w3.org/TR/2009/WD-css3-3d-transforms-20090320/

IMO, it seems pretty clear how things should work. 3D, is an illusion, done in 2D (it says so explicitly) and stacking context is preserved. 3D elements require preserve-3d transform-style on parent element. z-index still matters.

I note also that it is easy to put a 2D element on top of a 3D scene using normal rules of stacking in both Firefox and Chrome. I believe they have interpreted correctly. This is both logical and quite useful for things like start pages, controls, and displays that need to sit on top of 3D scenes.

I&apos;m commenting here rather than writing a separate bug report. I&apos;ve been testing on Mac 10.15.7 and iOS 14.6. This is a core problem for bringing my software to Safari. For what it&apos;s worth, I&apos;m confident that this is a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776282</commentid>
    <comment_count>5</comment_count>
    <who name="Roger F. Gay">rogerfgay</who>
    <bug_when>2021-07-12 04:10:07 -0700</bug_when>
    <thetext>I note that the demo is no longer available. I will be more than happy to provide one - or submit a new bug report if that is more appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2111473</commentid>
    <comment_count>6</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2025-04-17 01:23:47 -0700</bug_when>
    <thetext>(In reply to Roger F. Gay from comment #5)
&gt; I note that the demo is no longer available. I will be more than happy to
&gt; provide one - or submit a new bug report if that is more appropriate.

It would be great, if you can upload demo here as attachment.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>