// <FILE>crates/mcu-scheme/src/lib.rs</FILE> - <DESC>Color scheme variants</DESC>
// <VERS>VERSION: 2.0.0</VERS>
// <WCTX>Pre-built color scheme variants</WCTX>
// <CLOG>Implement all 9 scheme wrappers with DynamicScheme integration</CLOG>

//! # MCU Scheme
//!
//! Pre-built color scheme variants for Material Design 3.
//!
//! Each scheme wraps `DynamicScheme` with a specific `Variant`:
//! - [`SchemeMonochrome`]: Grayscale palette for minimalist designs
//! - [`SchemeNeutral`]: Low chroma, subtle colors for professional designs
//! - [`SchemeTonalSpot`]: Balanced, versatile (default for Material Design 3)
//! - [`SchemeVibrant`]: High chroma, bold colors for energetic designs
//! - [`SchemeExpressive`]: Playful with hue shifts for artistic designs
//! - [`SchemeFidelity`]: True to source color for accurate color representation
//! - [`SchemeContent`]: Content-aware colors for image-derived themes
//! - [`SchemeRainbow`]: High chroma with tertiary shift for playful designs
//! - [`SchemeFruitSalad`]: Playful hue variations for fun designs
//!
//! ## Example
//!
//! ```
//! use mcu_scheme::SchemeTonalSpot;
//! use mcu_hct::Hct;
//!
//! // Create a tonal spot scheme from a blue source color
//! let source = Hct::from_int(0xFF0000FF);
//! let scheme = SchemeTonalSpot::new(source, false, 0.0);
//!
//! // Access underlying DynamicScheme through Deref
//! assert!(!scheme.is_dark);
//! let _primary = &scheme.primary_palette;
//! ```

mod scheme_content;
mod scheme_expressive;
mod scheme_fidelity;
mod scheme_fruit_salad;
mod scheme_monochrome;
mod scheme_neutral;
mod scheme_rainbow;
mod scheme_tonal_spot;
mod scheme_vibrant;

pub use scheme_content::SchemeContent;
pub use scheme_expressive::SchemeExpressive;
pub use scheme_fidelity::SchemeFidelity;
pub use scheme_fruit_salad::SchemeFruitSalad;
pub use scheme_monochrome::SchemeMonochrome;
pub use scheme_neutral::SchemeNeutral;
pub use scheme_rainbow::SchemeRainbow;
pub use scheme_tonal_spot::SchemeTonalSpot;
pub use scheme_vibrant::SchemeVibrant;

// Re-export commonly used types from mcu-dynamiccolor for convenience
pub use mcu_dynamiccolor::{DynamicScheme, Platform, SpecVersion, Variant};

// <FILE>crates/mcu-scheme/src/lib.rs</FILE> - <DESC>Color scheme variants</DESC>
// <VERS>END OF VERSION: 2.0.0</VERS>
