#![cfg_attr(not(feature = "std"), no_std)]
extern crate alloc;
extern crate core;
#[cfg(all(feature = "std-duration", feature = "wasm"))]
compile_error!("Features 'std-duration' and 'wasm' cannot be enabled simultaneously");
#[cfg(all(feature = "std-duration", not(feature = "std")))]
compile_error!("Feature 'std-duration' requires 'std' feature");
#[cfg(all(feature = "dsl", not(feature = "std")))]
compile_error!("DSL feature is not supported in no-std environments. Use either 'dsl' with 'std' or disable 'dsl' for no-std builds.");
#[cfg(all(feature = "std-duration", feature = "wasm"))]
compile_error!("Features 'std-duration' and 'wasm' cannot be enabled simultaneously");
mod bitvec;
mod bounding_box;
mod buffer_renderer;
mod cell_filter;
mod cell_iter;
mod color_cache;
mod color_ext;
mod color_mapper;
mod color_space;
mod duration;
mod effect;
mod effect_manager;
mod effect_timer;
mod features;
mod interpolation;
mod lru_cache;
mod math;
mod motion;
pub mod pattern;
mod rect_ext;
mod ref_rect;
mod render_effect;
mod shader;
mod simple_rng;
pub mod wave;
pub mod fx;
pub mod widget;
#[doc = include_str!("../docs/dsl.md")]
#[cfg(feature = "dsl")]
pub mod dsl;
pub use buffer_renderer::*;
pub use cell_filter::*;
pub use cell_iter::CellIterator;
pub use color_cache::ColorCache;
pub use color_ext::ToRgbComponents;
#[allow(deprecated)]
pub use color_mapper::ColorMapper;
pub use color_space::*;
pub use duration::Duration;
#[allow(unused_imports)] pub(crate) use effect::ShaderExt;
pub use effect::{Effect, IntoEffect};
pub use effect_manager::EffectManager;
pub use effect_timer::EffectTimer;
pub use features::{ref_count, RefCount, ThreadSafetyMarker};
pub use interpolation::*;
pub use lru_cache::LruCache;
pub use math::{parabolic_cos, parabolic_sin, wave_cos, wave_sin};
pub use motion::*;
pub use rect_ext::CenteredShrink;
pub use ref_rect::RefRect;
pub use render_effect::EffectRenderer;
pub use shader::Shader;
pub use simple_rng::*;