sdfRadiusFor function
The corner radius the shader should use for its SDF, given a resolved size.
Capsules and circles have no fixed radius, so they resolve against the shorter side at paint time.
Implementation
double sdfRadiusFor(GlassShape shape, Size size, {double concentric = 16}) {
final map = shape.toMap();
return switch (map['kind']) {
'capsule' => size.shortestSide / 2,
'circle' => size.shortestSide / 2,
'concentric' => concentric,
_ => (map['radius'] as num?)?.toDouble() ?? concentric,
};
}