mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
Abutting traces must draw each edge between two neighbouring regions once: the filled paths on either side follow one curve, one of them reversed, and together cover the image without gaps or overlaps. These tests check that from the trace output alone, with no renderer: points along each path's outline must lie within 0.001 px of another path's outline, the paths' areas must sum to the image's, and every point of a 4 x 4 per-pixel grid must lie in exactly one path. The images are drawn in code, hard-edged and anti-aliased, and traced in Color (Abutting) and Black and White, each at the default settings, Paths and Corners 0 and 100, Snap Curves To Lines, and Shapes. They cover a closed island in a background, a ring with and without a core of a third colour, a wavy two-colour seam, a three-region junction, outlines that leave a junction and return to it (the 111 / 101 / 110 pattern at 1, 2, 3 and 6 px, and framed), squares touching at a corner, a one-pixel hole and a one-pixel island (kept at Noise 1, dropped together with what they leave at Noise 25), separate areas of one colour, and slanted hatches with one-pixel paper channels. A further test shows the check finds a 0.01 px shift and stacked (Overlapping) layers. Two tests are ignored as documented current gaps: - At Paths 0 and Corners 0, a piece returning to its own junction collapses: its region is dropped and its area left uncovered (draft #2205 fixes it). - With Shapes, a region whose outline runs through a junction becomes an exact shape its neighbour does not share (up to 0.0039 px in Black and White). No tracer code changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tBcdwNhptqtmX32JCGFzB