WASM Canvas2D rendering backend for plotkit.
This crate provides WasmRenderer, a rendering backend that translates
plotkit drawing primitives into HTML5 Canvas2D API calls via web-sys.
It is designed to run in WebAssembly environments inside a browser.
Architecture
The renderer wraps a CanvasRenderingContext2d obtained from an
HtmlCanvasElement. Each plotkit primitive (path fill, path stroke,
text draw, clipping, image blit) maps directly to the corresponding
Canvas2D method calls.
Helper functions for color conversion, font string construction, and affine transform decomposition are exposed as pure functions so they can be unit-tested without a browser environment.
Example (browser-side)
use plotkit_render_wasm::WasmRenderer;
use web_sys::CanvasRenderingContext2d;
let ctx: CanvasRenderingContext2d = /* obtain from canvas element */;
let mut renderer = WasmRenderer::new(ctx, 800, 600);
// ... use renderer via the Renderer trait ...
let _ = renderer.finalize();