blobRadius static method
Corner radius of the droplet as it inflates from trigger into the sheet.
Starts fully rounded (clamped by maxRadius = shortestSide / 2 so a
trigger-sized droplet is a circle) and scales proportionally from 65% of
target up to target as sizeT progresses from 0.0 to 1.0. Never
balloons above target mid-flight (which would turn a mid-morph sheet
into a giant semicircle pill and clip the sheet's top navigation bar
controls), matching native iOS 27 .navigationTransition(.zoom) captures.
Implementation
static double blobRadius({
required Size blobSize,
required double target,
required double sizeT,
}) {
final maxRadius = math.min(blobSize.width, blobSize.height) / 2.0;
final double s = sizeT.clamp(0.0, 1.0);
final scaledTarget = target * (0.65 + 0.35 * s);
return math.min(maxRadius, scaledTarget);
}