DioxusLabs / DioxusLabs/blitz

Plan: First-party inline SVG support in blitz-dom / blitz-paint

Open
#701 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.