//! Pull-based procedural audio generation.
//!
//! Implement [`Generator`] for sources consumed by
//! [`crate::audio::audio_system::DefaultAudioSystem`]. Generators receive
//! playback settings and state so implementations can remain independent of the
//! audio device.
/// The [`Generator`] trait defines a source that can fill an audio render buffer.
/// The [`PlaybackSettings`] struct describes the output format relevant to a
/// generator.
/// The [`PlaybackState`] struct identifies the current position in a generator's
/// playback timeline.