scala_chromatica/lib.rs
1//! scala-chromatica: A framework-agnostic color gradient library
2//!
3//! This library provides smooth color interpolation, gradient management,
4//! and persistent storage for color schemes. Perfect for data visualization,
5//! fractal rendering, scientific plots, and any application requiring
6//! sophisticated color mapping.
7//!
8//! # Features
9//! - Smooth RGB interpolation between color stops
10//! - HSV color space support
11//! - JSON serialization/deserialization
12//! - 18 built-in color schemes (Fire, Ocean, Rainbow, etc.)
13//! - Platform-specific config directory management
14//! - Custom colormap save/load
15//!
16//! # Quick Start
17//! ```rust
18//! use scala_chromatica::{ColorMap, Color, ColorStop};
19//!
20//! // Load a built-in colormap
21//! let fire = scala_chromatica::io::load_builtin_colormap("Fire").unwrap();
22//!
23//! // Get color at 50% position
24//! let color = fire.get_color(0.5);
25//! println!("RGB: ({}, {}, {})", color.r, color.g, color.b);
26//!
27//! // Create a custom gradient
28//! let mut custom = ColorMap::new("Custom Gradient");
29//! custom.add_stop(ColorStop::new(0.0, Color::new(255, 0, 0)));
30//! custom.add_stop(ColorStop::new(1.0, Color::new(0, 0, 255)));
31//!
32//! // Save for later use
33//! scala_chromatica::io::save_colormap(&custom).unwrap();
34//! ```
35
36pub mod color;
37pub mod colormap;
38pub mod error;
39pub mod io;
40
41// Re-export main types at crate root for convenience
42pub use color::Color;
43pub use colormap::{color_from_iterations, ColorMap, ColorStop};
44pub use error::{ColorMapError, Result};