GraphiteEditor / GraphiteEditor/Graphite
SVG importer ignores `fill-rule="evenodd"`
- Dominant language
- Rust
- Stars
- 27.2k
- Forks
- 1.3k
- Avg merge
- 20h 5m
- Merged PRs (30d)
- 57
Description
## Description
The SVG importer does not respect `fill-rule="evenodd"`. A compound path whose inner subpath should create a transparent hole is imported as a solid shape. follow up of #4329
## Steps to reproduce
1. Open `fill-rule-evenodd.svg` in a browser or another SVG viewer. It appears as a purple square with a transparent square hole.
2. Import the same file into Graphite.
3. Compare the imported result with the browser rendering.
## Expected behavior
The imported shape is a purple square with a transparent square hole, matching the SVG rendering in a browser.
## Actual behavior
The inner square is filled, so the imported result is a solid purple square. The importer behaves as if the path used the default nonzero fill rule.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the SVG importer and reproduce the issue with `fill-rule-evenodd.svg`, comparing Graphite's result with a browser or another SVG viewer. Trace how the importer handles `fill-rule="evenodd"`; done means the inner square becomes a transparent hole and the imported shape matches the SVG rendering.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100