getAnimations method

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

Generates per-character upward drift, blur, and opacity fade.

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 returnT = sin(curved * pi);

    final n = noise(index);
    final dx = (n - 0.5) * 30.0 * returnT;
    final dy = -height * returnT;
    final opacity = 1.0 - returnT;
    final blur = blurSigma * returnT;

    return CharacterAnimation(
      translation: Offset(dx, dy),
      opacity: opacity.clamp(0.0, 1.0),
      blurSigma: blur,
    );
  });
}