Library Research

Data Structures

  • Graphology
    • "a specification and reference implementation for a robust & multipurpose JavaScript/TypeScript Graph object."
    • Supports directed, undirected or mixed graphs
    • Unclear if necessary at the moment

Rendering Libraries

Viable Options

  • Cytoscape.js: Graph theory (network) visualisation and analysis, supports a number of different graph displays
  • Vis.JS: Handles pictures & manual repositioning
  • react-flow: Node-based graphs, custom node styling + html
  • Ant Vision: Fully-featured graph library from Alibaba/Ant Design, docs are loosely translated into English
  • react-beautiful-diagrams: Schema validation, but seems fairly barebones

Other Libraries

  • Diagram or flow libraries
  • GraphViz: Ruled these out, as current plan is to have data come from Redux store instead of a .dot file or format
  • Other
    • Visx: Graph implementation by AirBnB, doesn't have clear way to interact with graph
    • JointJS: Enterprise option
    • dagre and dagre-d3: More so for directed graphs

References