Package-level declarations

The paint vocabulary: ShapeStyle, the concrete style every shape renders with — no nullable fields, no cascade; "no paint" is ShapeColor.NONE, "no thickness" zero — with its per-shape default constants and defaultFor; ShapeColor, the packed-ARGB color carrier; ShapeStrokeCap, the open-stroke line cap; and DipoleChrome, the shared convention for a dipole's connector line.

Types

Link copied to clipboard

The shared convention for rendering a dipole's connector — the dashed line joining its endpoint markers. A single source consumed by every renderer, so the same dipole reads the same way everywhere.

Link copied to clipboard
value class ShapeColor(val argb: ULong)

A 32-bit color packed as 0xAARRGGBB — the renderer-neutral paint carrier of the scene graph's styles.

Link copied to clipboard

How an open stroke terminates at its endpoints — flush, rounded, or squared off.

Link copied to clipboard
data class ShapeStyle(val fill: ShapeColor = ShapeColor.NONE, val stroke: ShapeColor = ShapeColor.NONE, val strokeWidth: Double = 0.0, val size: Double = 0.0, val strokeCap: ShapeStrokeCap = ShapeStrokeCap.BUTT)

The concrete paint a shape renders with — fill and stroke colors, stroke geometry, and the open-stroke line cap. Every field holds a definite value; there is no "unspecified" state and no cascade.