Rust + WebAssembly core
Graph model, geometry, spatial indexing and every layout run as compiled Rust in WebAssembly. See Architecture.
Nodus is a graph visualization engine for the web. It renders large
node–link diagrams across WebGPU, WebGL2, Canvas 2D and SVG,
with built-in layouts, a CSS-like styling system, rich interaction tools and a
scalable hypergraph stack — all shipped as the npm package
@kortexya/nodus.
The compute and rendering core is written in Rust and compiled to
WebAssembly, behind a thin, fully-typed TypeScript facade
(Nodus<NodeData, EdgeData>).
import { Nodus } from '@kortexya/nodus';
const nodus = new Nodus({ container: document.getElementById('graph') });
await nodus.setGraph({ nodes: [{ id: 'a' }, { id: 'b' }], edges: [{ source: 'a', target: 'b' }],});
await nodus.layouts.force({ duration: 0 });await nodus.view.locateGraph();Rust + WebAssembly core
Graph model, geometry, spatial indexing and every layout run as compiled Rust in WebAssembly. See Architecture.
GPU rendering with fallback
A wgpu renderer targets WebGPU, with WebGL2 and a high-quality
Canvas 2D fallback so every browser gets a render. See
The Rendering Pipeline.
Layouts out of the box
Force, force-link, hierarchical, radial, concentric, grid and sequential — each async and cancellable. See Layouts.
Styling & interaction
Rule- and class-based styling, hover/selection, lasso, rectangle-select, connect-nodes, resizing and tooltips. See Styling and Interaction Tools.
Scalable hypergraphs
Simplify, lay out and render hypergraphs as polygon regions, in primal, dual or 2.5D views. See Hypergraphs.
Typed, ESM-first
First-class TypeScript generics for your node and edge data, an ESM bundle,
and a <script> global build. See Installation.