wassily-core 0.2.0

Core rendering infrastructure for wassily generative art library
Documentation

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

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.