pub fn stroke_path(path: &Path, stroke: &Stroke) -> PathExpand description
Expands path into the closed outline of its stroke: the region swept by a
disk of radius stroke.width / 2 traveling along the path.
The path is flattened first (curves become polylines) and each subpath is offset on both sides along its segment normals, joined at the vertices. The result is one or more closed rings that fill correctly under the nonzero winding rule in both the GPU filler and the software rasterizer. Round caps/joins are emitted as cubic arcs, keeping the outline smooth.
Known simplifications: a zero-length subpath draws nothing (the SVG round-cap dot is omitted), non-uniform transforms are applied to the expanded outline rather than to the width, and a dashed closed subpath gets caps at the dash seam.