getAnimations method
Generates per-character scale overshoot with fade-in.
Implementation
@override
List<CharacterAnimation> getAnimations(double progress, int charCount) {
if (charCount == 0) return [];
return List.generate(charCount, (index) {
final staggered = staggeredProgress(progress, index, charCount);
final curved = applyCurve(staggered);
final pop = sin(curved * pi);
final scale = 1.0 + (scalePeak - 1.0) * pop * (1.0 - curved);
return CharacterAnimation(
scale: scale,
opacity: curved.clamp(0.0, 1.0),
);
});
}