Fix 'Boolean Operation' node outputs having the reversed winding direction (#4091)

This commit is contained in:
Keavon Chambers 2026-05-01 19:23:44 -07:00 committed by GitHub
parent 42f4c1396b
commit eeb1f85e25
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 1 deletions

View File

@ -152,8 +152,10 @@ fn boolean_operation_on_vector_table(vector: &Table<Vector>, boolean_operation:
};
let contours = top.contours(|winding| winding.is_inside(boolean_operation));
// TODO: Linesweeper emits contours in the opposite winding direction from the rest of Kurbo's and Graphite's vector graphics system (clockwise in screen coordinates).
// TODO: Report this upstream to Linesweeper and remove this `.reverse()` workaround once fixed.
for subpath in from_bez_paths(contours.contours().map(|c| &c.path)) {
row.element_mut().append_subpath(subpath, false);
row.element_mut().append_subpath(subpath.reverse(), false);
}
table.push(row);