Skip to content

Conversation

petamoriken
Copy link
Contributor

@petamoriken petamoriken commented Jan 2, 2025

@petamoriken
Copy link
Contributor Author

I'll work on using denoland/deno_core#1003 to reduce the JavaScript code.

@petamoriken petamoriken marked this pull request as draft January 2, 2025 13:45
@petamoriken
Copy link
Contributor Author

@bartlomieju After addressing changes denoland/deno_core#1187 and denoland/deno_core#1188 in deno_core with this PR, I believe this geometry API PR is ready for review and merge. Is it possible to include it in the next minor release?

@bartlomieju
Copy link
Member

@petamoriken it will be hard because we want to do a release tomorrow. We can land it in one of patch releases afterwards (with an unstable flag or JSDocs stating the API is experimental)

@sigmaSd sigmaSd mentioned this pull request Sep 9, 2025
5 tasks
@petamoriken
Copy link
Contributor Author

@bartlomieju I added @experimental tags to JSDocs. This PR is ready for review.

Copy link
Contributor

@0f-0b 0f-0b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are everything I have to say about the documentation. Haven't looked at the implementation or the tests yet.

* @experimental
*/
declare var DOMMatrix: {
prototype: DOMMatrix;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe mark prototype properties as readonly?

Suggested change
prototype: DOMMatrix;
readonly prototype: DOMMatrix;

Or maybe not, to stay consistent with lib.dom.d.ts.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made it consistent with lib.dom.d.ts.

&self,
transform_list: &TransformList,
) -> Result<(), GeometryError> {
for transform in transform_list.0.iter() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is2D should be set to false if the list contains any 3D transform function as defined by CSS, according to step 4 of parse a string into an abstract matrix. For example, new DOMMatrix("rotateZ(0)").is2D should be false. Though it seems that only Firefox implements this properly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyway, I've made it match the spec.

petamoriken and others added 9 commits September 20, 2025 00:24
Co-authored-by: ud2 <sjx233@qq.com>
Co-authored-by: ud2 <sjx233@qq.com>
Co-authored-by: ud2 <sjx233@qq.com>
Signed-off-by: Kenta Moriuchi <moriken@kimamass.com>
Co-authored-by: ud2 <sjx233@qq.com>
@petamoriken petamoriken changed the title feat(ext/geometry): Geometry Interfaces Module Level 1 feat(unstable): Geometry Interfaces Module Level 1 Sep 20, 2025
@petamoriken
Copy link
Contributor Author

I'll follow the changes of #30827 tonight.

@0f-0b
Copy link
Contributor

0f-0b commented Sep 24, 2025

I opened denoland/deno_core#1208 which will allow implementing toFloat32Array/toFloat64Array entirely in Rust and greatly simplifying fromFloat32Array/fromFloat64Array.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature Request: Geometry Interfaces Module Level 1
5 participants