mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-14 15:57:49 +00:00
A graph series kept a gradient with the document coordinates it had on the one mark it was stored from, and gave that paint unchanged to every mark when the graph was drawn again. The other marks showed the gradient placed over the edited mark, and the placement stayed behind when the data or the graph moved the marks. The graph now stores a gradient relative to the unit box of the mark it comes from (its geometric bounds, or its stroke's box for a stroke). Each path of the series, the legend swatch and a Filled Lines band included, takes it on its own box. Every store route does this: paint.setFill and paint.setStroke, the Eyedropper, graphic styles, Appearance commands, paint.setGradientGeom and the freeform point edits. A command that writes a mark's paint as the graph drew it leaves the stored gradient as it is and records no undo step. The series paints save this as fillUnitBox and strokeUnitBox. A gradient in a file saved without these flags is drawn where it was stored. So is a gradient stored from a path with no width or height. Docs: docs/mcp.md, the paint.setGradientGeom params text and the Graphs line in docs/target-app-parity.md.