//! AnyMotion: ECS-native skeletal animation
//!
//! # Quick Start
//! ```no_run
//! use anymotion::prelude::*;
//! use anymotion::loader::*;
//!
//! // Create test skeleton and animation
//! let skeleton = create_test_skeleton();
//! let clip = create_test_walk_clip().unwrap();
//!
//! // Use them in your game
//! // (Full ECS integration in progress)
//! ```

pub mod core;
pub mod ecs;
pub mod error;
pub mod loader;
pub mod plugin;

pub use crate::ecs::systems::{
    animation_blending_system, animation_sampling_system, skinning_palette_system,
};
pub use crate::ecs::{AnimationPipeline, Parent};
pub use error::{AnimationError, Result};

pub mod prelude {
    pub use crate::core::{AnimationClip, Bone, Skeleton};
    pub use crate::ecs::components::{Animator, BoneJoint, SkinnedMesh, Transform};
    pub use crate::ecs::systems::{
        animation_blending_system, animation_sampling_system, skinning_palette_system,
    };
    pub use crate::ecs::{AnimationClipHandle, AnimationPipeline, Parent, SkeletonHandle};
    pub use crate::error::{AnimationError, Result};
    pub use crate::loader::{create_test_skeleton, create_test_walk_clip, load_gltf};
    pub use crate::plugin::AnimationPlugin;
}
