Skip to content

Nodus

Render large node–link diagrams in the browser, fast. A Rust + WebAssembly core drives GPU rendering, layouts, styling and interaction behind a small TypeScript API.

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.