GPU-native rendering
WebGPU-batched soap-bubble nodes and instanced edges keep drawing work compact.
TypeScript + WebGPU
BubbleGraph is a framework-agnostic library for expressive, interactive force-directed bubble graphs in the browser.
Bring your own data and interface. BubbleGraph owns the difficult graphical layer: rendering, layout, animation, labels, interaction, and cleanup.
WebGPU-batched soap-bubble nodes and instanced edges keep drawing work compact.
Repulsion, collision constraints, edge springs, annealed shuffle, and animated entrances.
Perspective-aware, raster-cached multiline labels use level of detail and a bounded budget.
Pan, zoom, selection, activation, hit testing, fitting, dragging, and contextual removal.
Use it from plain TypeScript or wrap it in React, Vue, Svelte, or your own application shell.
Your application remains responsible for fetching data, auxiliary UI, and cascade semantics.
Create a graph in a positioned container, add typed data, connect related nodes, and let BubbleGraph manage the visual system.
Run npm install and npm run build. JavaScript and declarations are written to dist-lib/.
Supply a container and optional callbacks for selection, activation, and removal.
Each datum needs a stable ID, label, numeric value, and any host-specific payload.
Call destroy() when the host view unmounts.
import { BubbleGraph } from "bubblegraph";
const graph = await BubbleGraph.create({
container: document.querySelector<HTMLElement>("#graph")!,
onSelect: (index, node) => console.log(node),
});
const root = graph.add({
id: "root", label: "Root item",
value: 120, data: { url: "/root" },
});
const child = graph.add({
id: "child", label: "Related item",
value: 20, data: { url: "/child" },
}, root);
graph.connect(root, child);
graph.fit();
Requires a browser with WebGPU · HTTPS or localhost
See BubbleGraph integrated with real data acquisition, progressive expansion, contextual panels, and performance controls.
Search musicians and groups, then expand MusicBrainz's curated artist-to-artist relationships without an API key.
Launch the MusicBrainz explorer →Search biomedical literature and expand PubMed's related-article links with NCBI ESearch, ESummary, and ELink.
Launch the PubMed explorer →Search academic works, expand related research into the graph, inspect frequent authors, and tune individual rendering and layout stages.
Launch the explorer →