aarkue / rust-bridge-process-mining

Rust Bridge for Process Mining
https://crates.io/crates/process_mining
Apache License 2.0
5 stars 0 forks source link

Consider adding Visualizations (Petri Nets and maybe other Plots) #7

Open aarkue opened 1 month ago

aarkue commented 1 month ago

It might be interesting to directly plot diagrams or visualize Petri nets in this library.

Interesting related libraries:

I think it is hard to find one solution for both Plots/Diagrams and Petri Nets. Currently, I think layout amd plotly.rs are the most interesting to support.

Either way, all visualization features should be put behind a (or multiple) feature flag(s).

To find the best working approach, it might be intriguing to also experiment with a (very basic) GUI for the library (maybe using tauri?). This GUI would then either draw visualizations itself (e.g., Plotly JS getting the data from the Rust side) or simply display the visualization (SVG/Bitmap generated on the Rust side).

Action Points:

aarkue commented 1 month ago

After some further consideration, it seems like for Petri net export graphviz-rust is a better fit, as it natively binds to dot executables (which has to be already installed!). This is mainly motivated by the larger feature set and popularity of graphviz; the layout crate at least currently, does not produce very nice layouts for Petri nets.