Skip to content

cowlicks/gruph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goals

Graph description languages like DOT, often produce output that is close to good, but they can be difficult to tweak and style. WYSIWYG graph editors are great for getting the perfect style, but they make automated graph generation difficult.

The goal of this project is to provide the best of both worlds by allowing users to import a graph via a graph description language, edit it in a WYSIWYG GUI, and export them back to the graph description language.

The first Graph Description Language (GDL) we will support is DOT. It is widely used and has several Rust implementations. We're using egui for it's ease of use and flexibility, it runs both natively and on the web. I'm using egui_snarl, for the node graph drawing library. I choose it over egui_graphs because the latter seemed more oriented toward large scale 3D data visualizations of graphs. image

TODO for an MVP

For just basic graphs:

  • Parse DOT graphs and render them
  • Basic editing: move nodes
  • Export to DOT

TODO after MVP

  • Convert project to a Rust library
  • Edit arbitrary node style attributes
  • Directed and undirected connections
  • Add nodes
  • Support subgraphs
  • Support Mermaid Diagrams

Usage

$ cargo run

About

Node Graphs in Rust with Egui and DOT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages