aarkue / rust4pm

Rust4PM: Rust for Process Mining. See also the example applications at https://github.com/aarkue/rust4pm_demos.
https://crates.io/crates/process_mining
Apache License 2.0
6 stars 1 forks source link

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

Open aarkue opened 3 months ago

aarkue commented 3 months 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 3 months 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.