[css-transforms] [geometry-1] [webxr] Extract matrix fundamentals into a separate spec
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 4.9k
- Forks
- 816
- PR merge metrics
- PR metrics pending
Description
Various specs use the concept of matrices. CSS transforms has the most in-depth coverage, with a whole section on the mathematical description of transform functions.
The geometry spec also uses matrices for DOMMatrix, and uses concepts like multiplication. Furthermore, it refers to the parsing algorithm in css-transforms.
WebXR also relies on matrices and refers to concepts like "quaternion that describes the rotation indicated by the top left 3x3 sub-matrix". There was a time when it relied on matrix decomposition as well. We've had a bunch of stumbles over premultiply/postmultiply in the past, while a lot of the ambiguity has been cleaned up it would have been nice to outsource the problem to a unified spec.
I'm sure there are other specs like this.
It would be nice if we had a single spec, much like the infra spec that defined all matrix operations in one place, including things like conventions used (I think all w3c specs use column-vector matrices). All other specs can simply refer to these for the actual algorithm.
cc @zcorpan for the geometry spec, @klausw for matrices in the WebXR spec
I'm not sure if this is the right place for this, but the transforms spec is the one with the most matrix stuff, and it covers a lot of the definitions more thoroughly than others.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the CSS Transforms mathematical description, the Geometry DOMMatrix section, and the WebXR matrix and transform references. Compare their matrix operations and conventions, then define the shared scope for a separate matrix specification. Done means the common algorithms and conventions are defined in one spec and the other specs can refer to it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css
- Domain
- documentation, web-dev
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100