getAnimations method
Generates per-character scaleX/scaleY stretch with sine oscillation.
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 wave = sin(curved * pi * bounceCount);
final stretchX = 1.0 + stretch * wave;
final stretchY = 1.0 - stretch * wave * 0.6;
return CharacterAnimation(
scaleX: stretchX,
scaleY: stretchY,
);
});
}