@coral-viz/render
v0.2.7
Published
Shape, symbol and notation definitions plus deterministic text measurement and SVG serialization, with no browser or React dependency
Readme
@coral-viz/render
DOM-free Coral shapes, symbols, notations, text measurement, layout, SVG, and standalone HTML rendering.
npm install @coral-viz/[email protected] @graph-ir/[email protected]import { renderSvg, resolveRenderScene, glyphRegistry } from '@coral-viz/render';
import { computeElkLayout } from '@coral-viz/render/layout';The root renderSvg and renderHtml functions serialize supplied geometry;
they don't perform layout. Call the additive /layout entry explicitly, then
apply its positions, dimensions, and route sections. The /svg-layout entry's
layoutGraphForSvg does both for a validated graph and returns the flattened
nodes, edgeRoutes, and reserved edgeLabelBoxes that renderSvg expects;
MCP coral_render and @coral-viz/browser use it. Edge labels reserve layout
space through the optional labels members of the layout types, sized by the
root measureEdgeLabel.
resolveRenderScene is the DOM-free notation boundary shared by SVG and the
reference canvas. It resolves symbol variants, the finite accessible glyph
registry, notation edge styles, and independent GraphIR source/target endpoint
semantics into deterministic JSON-safe values. Unknown advertised glyphs fail
closed instead of silently substituting a placeholder.
The default SVG path embeds one deterministic Inter face. Portable per-family
and per-weight font embedding is enabled by font settings, weight, or line
height—not by family or size alone. The packaged font assets cover the pinned
Latin range and carry four OFL-1.1 notices under third_party/fonts/.
See the Render API and the executable rendering workflow.
Apache-2.0. See LICENSE.
