Riff / Built on the open web / Interface
Web Animations
Breathes the filament where there is no signal to follow.

How Riff uses it
When a track is playing but there is no analyser, on iOS, for a cross-origin file, or through the video element, the wire gets an infinite 2.6 second opacity loop through element.animate(). The returned animation is cancelled when playback pauses or ends.
Why
Without it the filament would sit static on every iPhone, where Web Audio is deliberately not used.
Without it
This branch is itself the fallback for a missing analyser.
Where
- plugins/riff/assets/riff.js, line 703
breath = wire.animate(
Links open the source at the commit this page was published from.
Reference: Web Animations on MDN.