How to Build a Graph Visualization Engine and Why You Shouldn’t
Blog post from Memgraph
In the pursuit of developing a robust graph visualization engine, the creators of Memgraph Lab initially faced challenges with Vis.js, a deprecated library that hindered performance and user experience. Consequently, they developed Orb, a custom library designed to address these issues by utilizing d3-force for graph layout calculations and WebWorkers to offload computational tasks, thus preventing application blockage. Orb is structured into three main components: Data, which manages in-memory graph structures; View, which handles graph layout and rendering via HTML5 Canvas; and Events, which facilitates interaction through event subscriptions. The library supports customization through different views, including a default view and a map view utilizing Leaflet, and it plans to integrate WebGL rendering in the future. Orb is packaged for easy integration into JavaScript/TypeScript projects, and developers are encouraged to contribute by creating custom views.