Skip to main content

Crate ruvector_mincut_wasm

Crate ruvector_mincut_wasm 

Source
Expand description

WASM bindings for RuVector MinCut

Provides JavaScript/TypeScript API for dynamic minimum cut operations, including paper algorithms from arXiv:2512.13105.

§Features

  • WasmMinCut: Basic dynamic minimum cut (insert/delete/query)
  • WasmThreeLevelHierarchy: 3-level decomposition (Expander→Precluster→Cluster)
  • WasmLocalKCut: Deterministic local k-cut discovery with 4-color coding
  • WasmMinCutWrapper: Full API with connectivity curve analysis

§Example Usage

import init, { WasmMinCut, WasmThreeLevelHierarchy, WasmLocalKCut } from './ruvector_mincut_wasm';

await init();

// Basic min-cut
const mincut = WasmMinCut.fromEdges([[0, 1, 1.0], [1, 2, 1.0], [0, 2, 1.0]]);
console.log(mincut.minCutValue());

// 3-level hierarchy decomposition
const hierarchy = new WasmThreeLevelHierarchy();
hierarchy.insertEdge(0, 1, 1.0);
hierarchy.insertEdge(1, 2, 1.0);
hierarchy.build();
console.log(hierarchy.stats());

// Local k-cut discovery
const lkcut = new WasmLocalKCut(5, 100, 2);
lkcut.insertEdge(0, 1, 1.0);
const cuts = lkcut.query(0);

Structs§

WasmLocalKCut
WASM wrapper for DeterministicLocalKCut
WasmMinCut
WASM wrapper for DynamicMinCut
WasmMinCutWrapper
WASM wrapper for MinCutWrapper
WasmThreeLevelHierarchy
WASM wrapper for ThreeLevelHierarchy

Functions§

get_version
Get version information
init
Initialize the WASM module (call once at startup)