mirror of
https://github.com/visioncortex/vtracer.git
synced 2026-09-29 07:21:22 -07:00
Snap gate: admit blends of two neighbouring regions
The mixture gate only tested betweenness against the pixel's OWN region and the flip candidate, so a pixel blending two foreign flanks could never flip: on a blurred low-contrast crack the basin cut leaks a distant region along the crack's blend band as a 1-px filament (the striped synthetic under 1.2 px blur grows a 30 px hairline of the circle's red along a stripe boundary), and the snap visited it every sweep yet was forbidden to fix it. A pixel that reads as a blend of two neighbouring regions now flips to the closer of them; genuine third colors (outline strokes) still fail betweenness against every pair and stay put. Blurred synthetic circle: max boundary error 31.6 -> 1.5 px, rms 5.6 -> 0.7. Crisp images byte-unaffected (fidelity 0.9261 unchanged); all watershed property tests pass unchanged.
This commit is contained in:
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Fixed
|
||||
|
||||
* Watershed no longer leaks a region along a blurred low-contrast crack as a 1-px filament (a slightly soft image could grow a hairline of one region's color running tens of px down a neighbouring boundary). The boundary snap's mixture gate now also admits pixels that blend two *neighbouring* regions — a blend band belongs to its closer flank even when the basin cut misattributed it to a distant region. On the blurred striped synthetic the circle's max boundary error drops from 31.6 px to 1.5 px; crisp images are byte-unaffected.
|
||||
|
||||
## 1.0.0-alpha.2 - 2026-07-27
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user