Visuals add-on
Rendering pipeline
Keep representations portable: generate structured data first, then choose SVG, Canvas, or your own renderer.
Renderer-neutral by design.
VisualRepresentation is the hand-off point between analysis and presentation. Plotter creates samples and metadata; SvgRenderer turns supported models into embeddable, accessible SVG.
$svg = SvgRenderer::scatter([['x' => 1, 'y' => 3], ['x' => 2, 'y' => 4]]);
$formula = SvgRenderer::formula('Pythagorean theorem', 'a² + b² = c²');Accessibility
Every helper emits an image role, an ARIA label, and readable fallback text. Add a visible summary beside dense graphics.
Portability
Use formula, dependency, line, area, histogram, matrix, system, calculus, root, scatter, polar, vector-field, and geometry helpers across web, PDF, and mobile clients.
Unit labels
Decorate any visual with UnitLabels::withAxes() so axis units travel with the renderer-neutral data and SVG accessibility label.