beatGridFor method
The detected BeatGrid for audio source — synchronous by contract, so
Trigger.beat resolves against it during timing resolution.
Only valid after preResolveReactive completed for source;
implementations throw on an unresolved source naming it.
Implementation
@override
BeatGrid beatGridFor(AudioSource source) => throw FluvieRenderException(
'NoMediaResolver has no beat grid for "$source". Wire a MediaRepository '
'through mediaResolverProvider for beat-reactive animations.',
);