Bug 504551

Summary: Vector rasterizer creates half-transparent pixels on vector shapes without gaps whose borders are not on pixel boundaries
Product: [Applications] krita Reporter: Katalin Rebhan <me>
Component: Layers/VectorAssignee: Krita Bugs <krita-bugs-null>
Status: REPORTED ---    
Severity: normal    
Priority: NOR    
Version First Reported In: 5.2.9   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Example.kra

Description Katalin Rebhan 2025-05-20 00:00:35 UTC
SUMMARY
Having two vector shapes (e.g. rectangles) next to each other can create transparent pixels between them despite the two shapes being flush next to each other, if the border between them is not on a canvas pixel boundary.

STEPS TO REPRODUCE
1. Create a vector layer with two rectangles next to each other
2. Resize/move the rectangles so that the border between them is not on a pixel boundary

OBSERVED RESULT
The rasterizer outputs half-transparent pixels on the border between the two rectangles

EXPECTED RESULT
The pixel on the borders is colored proportionally according to the percentage the two shapes fill out

SOFTWARE/OS VERSIONS
macOS: 15.5 (24F74)

ADDITIONAL INFORMATION
Comment 1 Katalin Rebhan 2025-05-20 00:01:59 UTC
Created attachment 181547 [details]
Example.kra

Here's an example file demonstrating the issue. On the right image, which is just a copy of the left image resized, the pink background should not be visible through the white/gray squares, since they do not have a gap between them.