w3c / deviceorientation

W3C Device Orientation spec
https://www.w3.org/TR/orientation-event/
Other
49 stars 32 forks source link

Add a note explaining how the coordinate system differs from the CSS one. #92

Closed rakuco closed 3 years ago

rakuco commented 3 years ago

The Device Orientation spec uses a right-handed system with Y being positive upwards, while the CSS coordinate system uses a left-handed system with Y being positive downwards. Additionally, DOMMatrixReadOnly.rotate() and its DOMMatrix.rotateSelf() counterpart both apply rotations in a Z-Y'-X'' order that differs from the Z-X'-Y'' order here and can also lead to confusion and wrong rotations.

Chromium's own DevTools code for overriding Device Orientation values has had multiple issues with this over the years, the latest one being https://crbug.com/1137281, so it is probably a good idea to make it more explicit to others.


Preview | Diff

rakuco commented 3 years ago

My BikeShed-fu is not great, so I'm not sure I'm using the right incantations in my Note. Namely, rotate() and rotateSelf() point to the Geometry ED, while [[GEOMETRY]] points to the latest TR.

anssiko commented 3 years ago

The way you use references is fine.

I think the reason for references using the notation rendered as [FOO] to generally point to the latest TR is due to the normative reference policy. If that reference would have been a normative one, then it'd have blocked transition to more mature stages on the Rec Track if it'd have pointed to an ED. I agree it is a bit confusing to have the in-prose references point to the ED at the same time, but that seems to be the convention that is accepted.

anssiko commented 3 years ago

Maybe @reillyeon can review and merge this if no issues found.