PR_LINEAR_GRADIENT_SPREAD.md
This PR expands SVG sprite rendering to preserve multi-stop linear gradients and honours SVG spreadMethod values across SVG and PNG outputs.
StandardGradientSvgTest renders a simple diagram (non-sprite) and asserts SVG gradient vectors for |, -, /, and \\ policies.LinearGradientPaint requirements while preserving SVG semantics of non-decreasing offsets.HColorLinearGradient, and the G2D drivers (via src/main/java/net/sourceforge/plantuml/klimt/drawing/g2d/DriverRectangleG2d.java) must translate this into LinearGradientPaint with the correct cycle method; otherwise spreadMethod would be silently ignored in PNG.HColorLinearGradient in noGradient() so callers that intentionally strip gradients continue to behave consistently when the new gradient type appears.The G2D change is intentionally small and scoped to recognising the new gradient type alongside the existing two-stop HColorGradient. Typical call sites look like this in src/main/java/net/sourceforge/plantuml/klimt/drawing/g2d/DriverPathG2d.java:
if (back instanceof HColorGradient || back instanceof HColorLinearGradient) {
final Paint paint = DriverRectangleG2d.getPaintGradient(..., back);
g2d.setPaint(paint);
g2d.fill(path);
}