GraphiteEditor / GraphiteEditor/Graphite
Vello renders image with a half-pixel offset
- Dominant language
- Rust
- Stars
- 27.3k
- Forks
- 1.3k
- Avg merge
- 20h 5m
- Merged PRs (30d)
- 57
Description
Drag an image into the viewport and view it at 100% scale. Toggle the Vello renderer on and off. Notice that it shifts down and left when Vello is active, and that it becomes blurry in the Vello version because anti-aliasing is applied to do the shifting. Also at slightly different from screenspace-aligned integer scales, we have the bottom and right edges wrap and appear as a 1px strip along the top and left edges.
https://github.com/user-attachments/assets/8e4a4916-61ca-49c5-aed5-062d72cbc271
My hypothesis is that between SVG and Vello, one assumes pixel coordinates are at the center of a pixel vs. the top left of the pixel.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the issue by dragging an image into the viewport, viewing it at 100% scale, and toggling the Vello renderer. Compare the SVG and Vello rendering paths, focusing on pixel-coordinate conventions and behavior near integer scales. Done means the image remains aligned and sharp, without wrapped 1px edge strips.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100