Skip to content

Replace Rust CSS transform parser with C/C++ implementation and integrate with /src/client/cssom/values/ #175

@yorkie

Description

@yorkie

Task Summary

Replace the existing Rust implementation of the CSS transform parser with a new C/C++ parser. Integrate the new parser into all transform-related code in /src/client/cssom/values/.

Details:

  1. Reference the current parser logic and structure in /src/client/cssom/parsers when implementing the new C/C++ parser. If updates are needed for css_value_tokenizer, make those changes as well to ensure compatibility.
  2. The new transform parser must support the full range of transform functions, including translation, rotation, and scaling (e.g., translate, rotate, scale, etc.), covering the CSS spec for transforms.
  3. Replace all usages of the Rust-based transform parsing logic in /src/client/cssom/values/ with the new C/C++ implementation.
  4. Ensure that the new parser is robust, spec-compliant, and passes all relevant unit and integration tests.

Acceptance Criteria:

  • A C/C++ transform parser is implemented and integrated.
  • All transform parsing in /src/client/cssom/values/ uses the new parser.
  • The parser supports all transform types per the CSS standard.
  • css_value_tokenizer is updated if required.
  • Tests are updated/added to validate the new parser's correctness and compatibility.

References:

  • /src/client/cssom/parsers/
  • /src/client/cssom/values/
  • css_value_tokenizer

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions