1 unstable release
| 0.2.0 | Jul 15, 2025 |
|---|
#1497 in Graphics APIs
72 downloads per month
Used in 5 crates
(4 directly)
49KB
1K
SLoC
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 outputShape: A builder for creating geometric shapes with fills and strokespoints: 2D point utilities and operationsutil: Mathematical utilities and helper functions
Quick Start
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.
Dependencies
~13MB
~275K SLoC