1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! # Wassily Core
//!
//! Core rendering infrastructure for the wassily generative art library.
//! This crate provides the fundamental building blocks for creating generative art:
//! canvas management, shape building, point utilities, and mathematical operations.
//!
//! ## Key Components
//!
//! - **[`Canvas`]**: The drawing surface that manages scaling and output
//! - **[`Shape`]**: A builder for creating geometric shapes with fills and strokes
//! - **[`points`]**: 2D point utilities and operations
//! - **[`util`]**: Mathematical utilities and helper functions
//!
//! ## Quick Start
//!
//! ```no_run
//! use wassily_core::*;
//! use tiny_skia::Color;
//!
//! let mut canvas = Canvas::new(400, 400);
//! canvas.fill(Color::from_rgba8(255, 255, 255, 255)); // White background
//!
//! // Draw a blue circle
//! Shape::new()
//! .circle(center(400, 400), 50.0)
//! .fill_color(Color::from_rgba8(0, 0, 255, 255))
//! .draw(&mut canvas);
//!
//! canvas.save_png("output.png");
//! ```
//!
//! ## Features
//!
//! - **High-Quality Rendering**: Built on tiny-skia for precise vector graphics
//! - **Scalable Output**: Create images at any resolution using scale factors
//! - **Shape Builder**: Fluent API for creating complex geometric shapes
//! - **Multiple Formats**: Save as PNG, JPEG, and other image formats
//! - **Mathematical Utilities**: Point operations, transformations, and more
//!
//! ## Architecture
//!
//! This crate is designed to be the foundation layer for more specialized wassily crates.
//! It provides low-level primitives that other crates build upon for colors, noise,
//! effects, and advanced algorithms.
// Re-export key types and traits for convenience
pub use *;
pub use *;
pub use *;
pub use *;
// Re-export commonly used external types
pub use ;