From bcab40f86579061cdb74794d665547553e756bc2 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Tue, 24 Sep 2024 18:20:23 -0700 Subject: [PATCH 1/7] Add feature for Geometry Interfaces Module Level 1 --- features/geometry.yml | 147 +++++++++++++++++++ features/geometry.yml.dist | 284 +++++++++++++++++++++++++++++++++++++ 2 files changed, 431 insertions(+) create mode 100644 features/geometry.yml create mode 100644 features/geometry.yml.dist diff --git a/features/geometry.yml b/features/geometry.yml new file mode 100644 index 00000000000..99aa6dba6e6 --- /dev/null +++ b/features/geometry.yml @@ -0,0 +1,147 @@ +name: Geometry Level 1 +description: The Geometry interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. +spec: https://drafts.fxtf.org/geometry +status: + compute_from: api.DOMMatrix +compat_features: + - api.DOMMatrix + - api.DOMMatrix.DOMMatrix + - api.DOMMatrix.worker_support + - api.DOMMatrix.a + - api.DOMMatrix.b + - api.DOMMatrix.c + - api.DOMMatrix.d + - api.DOMMatrix.e + - api.DOMMatrix.f + - api.DOMMatrix.fromFloat32Array_static + - api.DOMMatrix.fromFloat64Array_static + - api.DOMMatrix.fromMatrix_static + - api.DOMMatrix.invertSelf + - api.DOMMatrix.m11 + - api.DOMMatrix.m12 + - api.DOMMatrix.m13 + - api.DOMMatrix.m14 + - api.DOMMatrix.m21 + - api.DOMMatrix.m22 + - api.DOMMatrix.m23 + - api.DOMMatrix.m24 + - api.DOMMatrix.m31 + - api.DOMMatrix.m32 + - api.DOMMatrix.m33 + - api.DOMMatrix.m34 + - api.DOMMatrix.m41 + - api.DOMMatrix.m42 + - api.DOMMatrix.m43 + - api.DOMMatrix.m44 + - api.DOMMatrix.multiplySelf + - api.DOMMatrix.preMultiplySelf + - api.DOMMatrix.rotateAxisAngleSelf + - api.DOMMatrix.rotateFromVectorSelf + - api.DOMMatrix.rotateSelf + - api.DOMMatrix.scale3dSelf + - api.DOMMatrix.scaleSelf + - api.DOMMatrix.setMatrixValue + - api.DOMMatrix.skewXSelf + - api.DOMMatrix.skewYSelf + - api.DOMMatrix.translateSelf + - api.DOMMatrixReadOnly + - api.DOMMatrixReadOnly.DOMMatrixReadOnly + - api.DOMMatrixReadOnly.worker_support + - api.DOMMatrixReadOnly.a + - api.DOMMatrixReadOnly.b + - api.DOMMatrixReadOnly.c + - api.DOMMatrixReadOnly.d + - api.DOMMatrixReadOnly.e + - api.DOMMatrixReadOnly.f + - api.DOMMatrixReadOnly.flipX + - api.DOMMatrixReadOnly.flipY + - api.DOMMatrixReadOnly.fromFloat32Array_static + - api.DOMMatrixReadOnly.fromFloat64Array_static + - api.DOMMatrixReadOnly.fromMatrix_static + - api.DOMMatrixReadOnly.inverse + - api.DOMMatrixReadOnly.is2D + - api.DOMMatrixReadOnly.isIdentity + - api.DOMMatrixReadOnly.m11 + - api.DOMMatrixReadOnly.m12 + - api.DOMMatrixReadOnly.m13 + - api.DOMMatrixReadOnly.m14 + - api.DOMMatrixReadOnly.m21 + - api.DOMMatrixReadOnly.m22 + - api.DOMMatrixReadOnly.m23 + - api.DOMMatrixReadOnly.m24 + - api.DOMMatrixReadOnly.m31 + - api.DOMMatrixReadOnly.m32 + - api.DOMMatrixReadOnly.m33 + - api.DOMMatrixReadOnly.m34 + - api.DOMMatrixReadOnly.m41 + - api.DOMMatrixReadOnly.m42 + - api.DOMMatrixReadOnly.m43 + - api.DOMMatrixReadOnly.m44 + - api.DOMMatrixReadOnly.multiply + - api.DOMMatrixReadOnly.rotate + - api.DOMMatrixReadOnly.rotateAxisAngle + - api.DOMMatrixReadOnly.rotateFromVector + - api.DOMMatrixReadOnly.scale + - api.DOMMatrixReadOnly.scale3d + - api.DOMMatrixReadOnly.scaleNonUniform + - api.DOMMatrixReadOnly.skewX + - api.DOMMatrixReadOnly.skewY + - api.DOMMatrixReadOnly.toFloat32Array + - api.DOMMatrixReadOnly.toFloat64Array + - api.DOMMatrixReadOnly.toJSON + - api.DOMMatrixReadOnly.toString + - api.DOMMatrixReadOnly.transformPoint + - api.DOMMatrixReadOnly.translate + - api.DOMPoint + - api.DOMPoint.DOMPoint + - api.DOMPoint.worker_support + - api.DOMPoint.fromPoint_static + - api.DOMPoint.w + - api.DOMPoint.x + - api.DOMPoint.y + - api.DOMPoint.z + - api.DOMPointReadOnly + - api.DOMPointReadOnly.DOMPointReadOnly + - api.DOMPointReadOnly.worker_support + - api.DOMPointReadOnly.fromPoint_static + - api.DOMPointReadOnly.matrixTransform + - api.DOMPointReadOnly.toJSON + - api.DOMPointReadOnly.w + - api.DOMPointReadOnly.x + - api.DOMPointReadOnly.y + - api.DOMPointReadOnly.z + - api.DOMQuad + - api.DOMQuad.DOMQuad + - api.DOMQuad.worker_support + - api.DOMQuad.fromQuad_static + - api.DOMQuad.fromRect_static + - api.DOMQuad.getBounds + - api.DOMQuad.p1 + - api.DOMQuad.p2 + - api.DOMQuad.p3 + - api.DOMQuad.p4 + - api.DOMQuad.toJSON + - api.DOMRect + - api.DOMRect.DOMRect + - api.DOMRect.worker_support + - api.DOMRect.fromRect_static + - api.DOMRect.height + - api.DOMRect.width + - api.DOMRect.x + - api.DOMRect.y + - api.DOMRectList + - api.DOMRectList.item + - api.DOMRectList.length + - api.DOMRectReadOnly + - api.DOMRectReadOnly.DOMRectReadOnly + - api.DOMRectReadOnly.worker_support + - api.DOMRectReadOnly.bottom + - api.DOMRectReadOnly.fromRect_static + - api.DOMRectReadOnly.height + - api.DOMRectReadOnly.left + - api.DOMRectReadOnly.right + - api.DOMRectReadOnly.toJSON + - api.DOMRectReadOnly.top + - api.DOMRectReadOnly.width + - api.DOMRectReadOnly.x + - api.DOMRectReadOnly.y diff --git a/features/geometry.yml.dist b/features/geometry.yml.dist new file mode 100644 index 00000000000..e1530ceb651 --- /dev/null +++ b/features/geometry.yml.dist @@ -0,0 +1,284 @@ +# Generated from: geometry.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "61" + chrome_android: "61" + edge: "79" + firefox: "33" + firefox_android: "33" + safari: "11" + safari_ios: "11" +compat_features: + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "27" + # firefox_android: "27" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMRect + - api.DOMRect.height + - api.DOMRect.width + - api.DOMRectList + - api.DOMRectList.item + - api.DOMRectList.length + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "31" + # firefox_android: "31" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMPoint + - api.DOMPoint.DOMPoint + - api.DOMPoint.w + - api.DOMPoint.x + - api.DOMPoint.y + - api.DOMPoint.z + - api.DOMPointReadOnly + - api.DOMPointReadOnly.w + - api.DOMPointReadOnly.x + - api.DOMPointReadOnly.y + - api.DOMPointReadOnly.z + - api.DOMRect.DOMRect + - api.DOMRect.x + - api.DOMRect.y + - api.DOMRectReadOnly + - api.DOMRectReadOnly.bottom + - api.DOMRectReadOnly.height + - api.DOMRectReadOnly.left + - api.DOMRectReadOnly.right + - api.DOMRectReadOnly.top + - api.DOMRectReadOnly.width + - api.DOMRectReadOnly.x + - api.DOMRectReadOnly.y + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "31" + # firefox_android: "31" + # safari: "11" + # safari_ios: "11" + - api.DOMQuad + - api.DOMQuad.DOMQuad + - api.DOMQuad.p1 + - api.DOMQuad.p2 + - api.DOMQuad.p3 + - api.DOMQuad.p4 + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "33" + # firefox_android: "33" + # safari: "11" + # safari_ios: "11" + - api.DOMMatrix + - api.DOMMatrix.DOMMatrix + - api.DOMMatrix.a + - api.DOMMatrix.b + - api.DOMMatrix.c + - api.DOMMatrix.d + - api.DOMMatrix.e + - api.DOMMatrix.f + - api.DOMMatrix.invertSelf + - api.DOMMatrix.m11 + - api.DOMMatrix.m12 + - api.DOMMatrix.m13 + - api.DOMMatrix.m14 + - api.DOMMatrix.m21 + - api.DOMMatrix.m22 + - api.DOMMatrix.m23 + - api.DOMMatrix.m24 + - api.DOMMatrix.m31 + - api.DOMMatrix.m32 + - api.DOMMatrix.m33 + - api.DOMMatrix.m34 + - api.DOMMatrix.m41 + - api.DOMMatrix.m42 + - api.DOMMatrix.m43 + - api.DOMMatrix.m44 + - api.DOMMatrix.multiplySelf + - api.DOMMatrix.preMultiplySelf + - api.DOMMatrix.rotateAxisAngleSelf + - api.DOMMatrix.rotateFromVectorSelf + - api.DOMMatrix.rotateSelf + - api.DOMMatrix.scale3dSelf + - api.DOMMatrix.setMatrixValue + - api.DOMMatrix.skewXSelf + - api.DOMMatrix.skewYSelf + - api.DOMMatrix.translateSelf + - api.DOMMatrixReadOnly + - api.DOMMatrixReadOnly.a + - api.DOMMatrixReadOnly.b + - api.DOMMatrixReadOnly.c + - api.DOMMatrixReadOnly.d + - api.DOMMatrixReadOnly.e + - api.DOMMatrixReadOnly.f + - api.DOMMatrixReadOnly.flipX + - api.DOMMatrixReadOnly.flipY + - api.DOMMatrixReadOnly.inverse + - api.DOMMatrixReadOnly.is2D + - api.DOMMatrixReadOnly.m11 + - api.DOMMatrixReadOnly.m12 + - api.DOMMatrixReadOnly.m13 + - api.DOMMatrixReadOnly.m14 + - api.DOMMatrixReadOnly.m21 + - api.DOMMatrixReadOnly.m22 + - api.DOMMatrixReadOnly.m23 + - api.DOMMatrixReadOnly.m24 + - api.DOMMatrixReadOnly.m31 + - api.DOMMatrixReadOnly.m32 + - api.DOMMatrixReadOnly.m33 + - api.DOMMatrixReadOnly.m34 + - api.DOMMatrixReadOnly.m41 + - api.DOMMatrixReadOnly.m42 + - api.DOMMatrixReadOnly.m43 + - api.DOMMatrixReadOnly.m44 + - api.DOMMatrixReadOnly.multiply + - api.DOMMatrixReadOnly.rotate + - api.DOMMatrixReadOnly.rotateAxisAngle + - api.DOMMatrixReadOnly.rotateFromVector + - api.DOMMatrixReadOnly.scale + - api.DOMMatrixReadOnly.scale3d + - api.DOMMatrixReadOnly.skewX + - api.DOMMatrixReadOnly.skewY + - api.DOMMatrixReadOnly.toFloat32Array + - api.DOMMatrixReadOnly.toFloat64Array + - api.DOMMatrixReadOnly.toString + - api.DOMMatrixReadOnly.transformPoint + - api.DOMMatrixReadOnly.translate + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "59" + # firefox_android: "59" + # safari: "11" + # safari_ios: "11" + - api.DOMMatrixReadOnly.isIdentity + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "62" + # firefox_android: "62" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMPoint.fromPoint_static + - api.DOMPointReadOnly.DOMPointReadOnly + - api.DOMPointReadOnly.fromPoint_static + - api.DOMPointReadOnly.toJSON + - api.DOMRectReadOnly.DOMRectReadOnly + - api.DOMRectReadOnly.toJSON + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "62" + # firefox_android: "62" + # safari: "11" + # safari_ios: "11" + - api.DOMMatrixReadOnly.DOMMatrixReadOnly + - api.DOMMatrixReadOnly.toJSON + - api.DOMQuad.getBounds + - api.DOMQuad.toJSON + + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "69" + # firefox_android: "79" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMPoint.worker_support + - api.DOMPointReadOnly.worker_support + - api.DOMRect.fromRect_static + - api.DOMRect.worker_support + - api.DOMRectReadOnly.fromRect_static + - api.DOMRectReadOnly.worker_support + + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "69" + # firefox_android: "79" + # safari: "11" + # safari_ios: "11" + - api.DOMMatrix.fromFloat32Array_static + - api.DOMMatrix.fromFloat64Array_static + - api.DOMMatrix.fromMatrix_static + - api.DOMMatrix.worker_support + - api.DOMMatrixReadOnly.fromFloat32Array_static + - api.DOMMatrixReadOnly.fromFloat64Array_static + - api.DOMMatrixReadOnly.fromMatrix_static + - api.DOMMatrixReadOnly.worker_support + - api.DOMPointReadOnly.matrixTransform + - api.DOMQuad.fromQuad_static + - api.DOMQuad.fromRect_static + - api.DOMQuad.worker_support + + # baseline: false + # support: + # chrome: "73" + # chrome_android: "73" + # edge: "79" + # firefox: "33" + # firefox_android: "33" + # safari: "17.4" + # safari_ios: "17.4" + - api.DOMMatrixReadOnly.scaleNonUniform + + # baseline: false + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "33" + # safari: "11" + # safari_ios: "11" + - api.DOMMatrix.scaleSelf From 7fc086c40edb72a1052ba201eb3081326cc88f62 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Tue, 24 Sep 2024 18:40:36 -0700 Subject: [PATCH 2/7] Fix spec URL --- features/geometry.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/geometry.yml b/features/geometry.yml index 99aa6dba6e6..bf13b64056e 100644 --- a/features/geometry.yml +++ b/features/geometry.yml @@ -1,6 +1,6 @@ name: Geometry Level 1 description: The Geometry interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. -spec: https://drafts.fxtf.org/geometry +spec: https://drafts.fxtf.org/geometry-1/ status: compute_from: api.DOMMatrix compat_features: From 526419a0c5a6c212ed9ab2341c07e7364e7720d6 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Fri, 22 Nov 2024 12:05:01 +0100 Subject: [PATCH 3/7] Apply suggestions from code review --- features/geometry.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/geometry.yml b/features/geometry.yml index bf13b64056e..f2ce866899f 100644 --- a/features/geometry.yml +++ b/features/geometry.yml @@ -1,5 +1,5 @@ -name: Geometry Level 1 -description: The Geometry interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. +name: Geometric shapes +description: The `DOMMatrix`, `DOMPoint`, `DOMQuad` and `DOMRect` interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. They can be used in transformations in CSS, ``, and SVG. spec: https://drafts.fxtf.org/geometry-1/ status: compute_from: api.DOMMatrix From ce157a2bdb9cee3a9b55514180e3405175c7aae8 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Fri, 22 Nov 2024 12:07:29 +0100 Subject: [PATCH 4/7] Remove deprecated key --- features/geometry.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/features/geometry.yml b/features/geometry.yml index f2ce866899f..dace63a673d 100644 --- a/features/geometry.yml +++ b/features/geometry.yml @@ -83,7 +83,6 @@ compat_features: - api.DOMMatrixReadOnly.rotateFromVector - api.DOMMatrixReadOnly.scale - api.DOMMatrixReadOnly.scale3d - - api.DOMMatrixReadOnly.scaleNonUniform - api.DOMMatrixReadOnly.skewX - api.DOMMatrixReadOnly.skewY - api.DOMMatrixReadOnly.toFloat32Array From ab1f3c22598c383eccd8e1761e19276a0e9b773b Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Fri, 22 Nov 2024 12:07:53 +0100 Subject: [PATCH 5/7] re-run dist --- features/geometry.yml.dist | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/features/geometry.yml.dist b/features/geometry.yml.dist index e1530ceb651..bacc9f8e6e0 100644 --- a/features/geometry.yml.dist +++ b/features/geometry.yml.dist @@ -128,6 +128,7 @@ compat_features: - api.DOMMatrix.rotateFromVectorSelf - api.DOMMatrix.rotateSelf - api.DOMMatrix.scale3dSelf + - api.DOMMatrix.scaleSelf - api.DOMMatrix.setMatrixValue - api.DOMMatrix.skewXSelf - api.DOMMatrix.skewYSelf @@ -261,24 +262,3 @@ compat_features: - api.DOMQuad.fromQuad_static - api.DOMQuad.fromRect_static - api.DOMQuad.worker_support - - # baseline: false - # support: - # chrome: "73" - # chrome_android: "73" - # edge: "79" - # firefox: "33" - # firefox_android: "33" - # safari: "17.4" - # safari_ios: "17.4" - - api.DOMMatrixReadOnly.scaleNonUniform - - # baseline: false - # support: - # chrome: "61" - # chrome_android: "61" - # edge: "79" - # firefox: "33" - # safari: "11" - # safari_ios: "11" - - api.DOMMatrix.scaleSelf From 58204026b35bfcc74850e9009c63532bb609b174 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 17 Dec 2024 11:44:12 +0100 Subject: [PATCH 6/7] Update and rename geometry.yml to dom-geometry.yml --- features/{geometry.yml => dom-geometry.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename features/{geometry.yml => dom-geometry.yml} (99%) diff --git a/features/geometry.yml b/features/dom-geometry.yml similarity index 99% rename from features/geometry.yml rename to features/dom-geometry.yml index dace63a673d..b05a3060e5d 100644 --- a/features/geometry.yml +++ b/features/dom-geometry.yml @@ -1,4 +1,4 @@ -name: Geometric shapes +name: DOM Geometry description: The `DOMMatrix`, `DOMPoint`, `DOMQuad` and `DOMRect` interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. They can be used in transformations in CSS, ``, and SVG. spec: https://drafts.fxtf.org/geometry-1/ status: From 9ba8dcccccb8edfdb62714f78712c1473f3f422f Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 17 Dec 2024 11:44:35 +0100 Subject: [PATCH 7/7] Update and rename geometry.yml.dist to dom-geometry.yml.dist --- features/{geometry.yml.dist => dom-geometry.yml.dist} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename features/{geometry.yml.dist => dom-geometry.yml.dist} (99%) diff --git a/features/geometry.yml.dist b/features/dom-geometry.yml.dist similarity index 99% rename from features/geometry.yml.dist rename to features/dom-geometry.yml.dist index bacc9f8e6e0..c5ad1db7f9a 100644 --- a/features/geometry.yml.dist +++ b/features/dom-geometry.yml.dist @@ -1,4 +1,4 @@ -# Generated from: geometry.yml +# Generated from: dom-geometry.yml # Do not edit this file by hand. Edit the source file instead! status: