Plan: First-party inline SVG support in blitz-dom / blitz-paint
- Dominant language
- Rust
- Stars
- 4.1k
- Forks
- 203
- Avg merge
- 8h 58m
- Merged PRs (30d)
- 112
Description
AI-generated plan for comparison with https://github.com/DioxusLabs/blitz/pull/693.
Probably not interesting to anyone else.
---
# Plan: First-party SVG support in `blitz-dom` / `blitz-paint`
## Design goals
1. Inline SVGs that are fully stylable (document CSS cascade, selectors, inheritance, `:hover`, CSS variables, transitions/animations apply to SVG elements)
2. Good animation / incremental performance (attribute or style mutation → targeted damage → repaint; no re-parse)
3. No `usvg` dependency for inline SVG (`usvg` stays, for now, for external SVGs via `` / `background-image`)
4. Rendering fidelity that eventually matches or exceeds `usvg`/`anyrender_svg`
## Current state (what we're replacing)
Inline `
Contributor guide
Research direction
Start by reading the existing inline-SVG paths in packages/blitz-dom/src/layout/construct.rs and layout/mod.rs, then the SVG rendering code in packages/blitz-paint/src/render.rs. Check the referenced clip_path.rs, mask.rs, and Stylo hooks before proposing a narrowly scoped phase. Done requires an agreed phase boundary, implementation entry points, tests, and graceful handling of unsupported elements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100