Optional ReadonlyalignmentWhich side of the outline the band sits on; defaults to "center".
Optional ReadonlydashAlternating on/off lengths in world units (§50 "dashes and dash offset"). Omit for a solid stroke; an odd count is repeated, SVG's rule.
Optional ReadonlydashHow far into the dash pattern the outline starts; defaults to 0.
Optional ReadonlylineHow open ends are finished; defaults to "butt".
Optional ReadonlylineHow corners are filled; defaults to "miter".
Optional ReadonlymiterRatio of miter length to width past which a "miter" join is drawn as a
"bevel"; at least 1, defaults to 4 (SVG's and Canvas's).
Optional ReadonlypaintWhat the band is painted with (§58). Omitted, the band is drawn in the material's own colour with no per-vertex colour — which is what a stroke-only shape like Line wants, and why it is optional.
ReadonlywidthTotal width of the band in world units; finite and positive (§85). Required — see the interface documentation.
§58's
StrokeStyle— how a shape's outline is drawn.§58 declares every field as required; this one defaults all but
width, following the family's standing rule that a parameter is required exactly when it is the thing — a stroke is its width, and there is no width an engine can invent, whilemiter/butt/centerare the answers SVG, Canvas and §58's own ordering already agree on. The defaults are named on each field and restated in Appendix A terms byexpandStroke.The geometric half is
@fourjs/geometry'sStrokeGeometryOptions, which this interface re-declares minus itstolerance— a shape has its own Shape2D.tolerance and stroking at a different one than the flattening would put facets on a curve that has none — and plus §58'spaint, which the geometry package cannot see because a colour is not geometry.Validated and copied on assignment (§85): reading gives a fresh record with every optional field resolved, so an in-place edit of the object you passed cannot desynchronise the geometry from the style that produced it — the hazard Polygon.points has to document instead.