stipple-render 0.0.1

The Stipple rendering seam: builds an oxideav scene graph, rasterizes it on the CPU, and presents through a backend-agnostic Surface.
Documentation

The Stipple rendering seam.

stipple-render is the one crate that knows about oxideav. It turns a [Scene] (a list of logical-pixel draw primitives) into an oxideav-core scene graph, rasterizes it on the CPU with oxideav-raster, and hands the result to a [Surface] for display.

use stipple_geometry::{Rect, ScaleFactor, Size};
use stipple_render::{Color, Scene, SoftwareRenderer};

let mut scene = Scene::new(Size::new(64.0, 64.0));
scene.fill_round_rect(Rect::from_xywh(8.0, 8.0, 48.0, 48.0), 12.0, Color::rgb(80, 140, 255));

let pixmap = SoftwareRenderer::new().render(scene, ScaleFactor::IDENTITY);
assert_eq!(pixmap.size().width, 64);

The [Surface] trait is the GPU-readiness boundary: today the [SoftwareRenderer] produces a [Pixmap] that the platform layer blits; a future raw-GPU backend (Metal / Vulkan / D3D12 / WebGPU) can implement the same trait without changing any caller. See ROADMAP.md §2 / Phase 6.