First-party SVG support
- Dominant language
- Rust
- Stars
- 4.1k
- Forks
- 203
- Avg merge
- 8h 58m
- Merged PRs (30d)
- 112
Description
This issues tracks a first-party SVG implementation in `blitz-dom` and `blitz-paint`.
## Tasks
- [ ] Enable SVG CSS properties in Stylo (this PR https://github.com/servo/stylo/pull/383 enables some of them)
- [ ] Synthesize the CSS properties in the `synthesize_presentational_hints_for_legacy_attributes` https://github.com/DioxusLabs/blitz/blob/main/packages/blitz-dom/src/stylo.rs#L790 (like this PR does for Servo https://github.com/servo/servo/pull/45405/changes#diff-0c9e01a4915e7f3fa1e348d9047ffc3b145d41a4661d1f6b9211407aa8d59017R268)
- [ ] Stop parsing inline SVGs with usvg here: https://github.com/DioxusLabs/blitz/blob/main/packages/blitz-dom/src/layout/construct.rs#L131. Instead we will likely want a custom processing pass, but you may be able to skip this for the initial implementation. (perhaps we could feature flag this at first so that people can choose between resvg and the first-party impl)
- [ ] Add SVG rendering support to `blitz-paint`. This will likely work very similarly to `anyrender_svg` (https://github.com/DioxusLabs/anyrender/blob/main/crates/anyrender_svg/src/render.rs) but reading from the Blitz DOM and Stylo types rather than usvg types.
## SVG Elements
- [ ] Core
- [ ] [`
Contributor guide
Assessment
This issue has not been assessed yet.