getAnimations method

  1. @override
List<CharacterAnimation> getAnimations(
  1. double progress,
  2. int charCount
)
override

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,
    );
  });
}