#![cfg_attr(not(feature = "std"), no_std)]
extern crate alloc;
pub mod bridge;
pub(crate) mod dsp;
pub mod emotion;
pub mod error;
pub mod fatigue;
#[cfg(feature = "ffi")]
pub mod ffi;
mod math;
pub mod preset;
pub(crate) mod rng;
pub mod sequence;
pub mod spatial;
pub mod species;
pub mod stream;
pub mod tract;
pub mod vocalization;
pub mod voice;
pub mod prelude {
pub use crate::emotion::{EmotionOutput, EmotionState};
pub use crate::error::{PraniError, Result};
pub use crate::fatigue::{FatigueModifiers, FatigueState};
pub use crate::preset::VoicePreset;
pub use crate::sequence::{CallBout, CallPhrase};
pub use crate::species::Species;
pub use crate::tract::CreatureTract;
pub use crate::vocalization::{CallIntent, Vocalization};
pub use crate::voice::CreatureVoice;
}
#[cfg(test)]
mod assert_traits {
fn _assert_send_sync<T: Send + Sync>() {}
#[test]
fn public_types_are_send_sync() {
_assert_send_sync::<crate::error::PraniError>();
_assert_send_sync::<crate::species::Species>();
_assert_send_sync::<crate::tract::CreatureTract>();
_assert_send_sync::<crate::vocalization::Vocalization>();
_assert_send_sync::<crate::vocalization::CallIntent>();
_assert_send_sync::<crate::voice::CreatureVoice>();
_assert_send_sync::<crate::preset::VoicePreset>();
_assert_send_sync::<crate::emotion::EmotionState>();
_assert_send_sync::<crate::emotion::EmotionOutput>();
_assert_send_sync::<crate::fatigue::FatigueState>();
_assert_send_sync::<crate::fatigue::FatigueModifiers>();
_assert_send_sync::<crate::sequence::CallBout>();
_assert_send_sync::<crate::sequence::CallPhrase>();
}
}