update method
Tick principal - llamar cada frame
Implementation
void update(double dt) {
if (freeMode || !isUserTouching) {
_updateFreeMode(dt);
} else {
_updateGuidedMode(dt);
}
// Actualizar color de esfera según fase
sphereColor = Color.lerp(
sphereColor,
phaseColors[phase]!,
dt * 3.0,
)!;
// Actualizar radio con audio
final baseRadius = 35.0 + (canvasWidth * 0.05);
sphereRadius = baseRadius + (audioAmplitude * 15.0) + (sin(audioPhase * 2) * 5.0);
// Actualizar intensidad del glow según atención
glowIntensity = 0.4 + (attentionScore * 0.6);
notifyListeners();
}