Use multiple force-directed layout algorithms to improve graph readability
Dependencies
- [2]
UXJFRBBLMove graph functionality into `graph` module - [3]
7CVIL7UJCreate simple metadata parser - [4]
Q3Z6XMP5Migrate dependency tree to `petgraph::Graph` - [5]
B2L26LOAStore index of dependency nodes - [6]
JVYWRCPTAdd basic chart visualisation - [7]
OPTMCUTBUse timings `duration` to set size of rendered node - [8]
UQJO24KBUse `forceatlas2` to construct graph layout - [9]
ZPFD3275Switch from `cargo_metadata`+`petgraph` to `guppy`
Change contents
- replacement in src/main.rs at line 1
use charming::{Chart, HtmlRenderer};use charming::{series::GraphLayoutForce, Chart, HtmlRenderer}; - replacement in src/main.rs at line 18
.layout(charming::series::GraphLayout::None)// Use charming's force-directed layout, in combination with// `graph::layout()` using `forceatlas2`, as they seem to get the best results// when used together..layout(charming::series::GraphLayout::Force).force(GraphLayoutForce::new().layout_animation(false)) - edit in src/graph.rs at line 12
timings: &timings::Output, - replacement in src/graph.rs at line 29
.map(|_id| 1.0);.map(|id| timings.pkg_time(id).unwrap_or(0_f64)); - replacement in src/graph.rs at line 52
let layout = layout(&package_set);let layout = layout(&package_set, timings);