Remove the legacy Fill, Gradient, and PathStyle types now that paints live in attributes#4297
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the vector graphics style system by replacing the legacy Fill enum and PathStyle struct with a more flexible, attribute-based paint system using ATTR_FILL and ATTR_STROKE with AnyGraphicListDyn. The Stroke struct has been updated to remove its color field, which is now managed via attributes. Various tools, nodes (such as fill, stroke, boolean operations, and morphing), and document migration paths have been updated to support this new value-model paint system. I have no feedback to provide as there are no review comments.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
e12011f to
3d35633
Compare
There was a problem hiding this comment.
1 issue found across 28 files
Confidence score: 3/5
- In
node-graph/libraries/graphic-types/src/graphic.rs, the opacity helpers (is_fill_opaque_at,is_stroke_opaque_at, and the newis_paint_opaque_at) now rely on attribute-only lookups after removing legacy style fallbacks, which can change opacity results for graphics that still depend on inherited/legacy style paths and lead to incorrect rendering behavior if merged as-is — add a compatibility fallback (or explicit migration + regression tests for legacy-style documents) before merging.
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Fill, Gradient, and PathStyle types now that paints live in attributes
Part of #2779.
As we now use attributes with
List<T>for the fill and stroke paints, some of the style-related structures and enumerations have become obsolete. This PR involves refactoring to remove these, such as...Legacy representations are kept only where needed for document migration.