contentReveal static method
Opacity of the sheet's content inside the travelling droplet.
Opening fades in across contentRevealStart..contentRevealEnd with an ease-out, so the content is legible while the droplet is still growing rather than popping in at the handoff (issue #446). Closing holds full opacity down to contentConcealStart and fades out linearly to contentConcealEnd, matching native iOS 27 zoom-dismissal recordings.
Implementation
static double contentReveal(double sizeT, {required bool isClosing}) {
if (isClosing) {
return ((sizeT - contentConcealEnd) /
(contentConcealStart - contentConcealEnd))
.clamp(0.0, 1.0);
}
final t =
((sizeT - contentRevealStart) / (contentRevealEnd - contentRevealStart))
.clamp(0.0, 1.0);
return Curves.easeOut.transform(t);
}