Built it with TypeScript and D3
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript
D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document.
class GraphModel {
nodes: Array<GraphNode>;
edges: Array<GraphEdge>;
}
class GraphNode {
id: number;
position: PositionXY;
}
class GraphEdge {
id: number;
fromNodeId: number;
toNodeId: number;
}