getAnimations method
Generates uniform scale/opacity pulse across all characters.
Implementation
@override
List<CharacterAnimation> getAnimations(double progress, int charCount) {
if (charCount == 0) return [];
final curved = applyCurve(progress);
final normalized = sin(curved * pi);
final scale = scaleMin + (scaleMax - scaleMin) * normalized;
final opacity = opacityMin + (1.0 - opacityMin) * (1.0 - normalized * 0.5);
return List.generate(charCount, (_) {
return CharacterAnimation(
scale: scale,
opacity: opacity,
);
});
}