Graph layout is non-existent, but this demonstrates everything is possible with the current approach!
JVYWRCPTXQUCJ2BYOWAU36BM5ZKJ5FLKHIKMLSJA7XWOVIY2DMDQC }}fn graph(&self) -> GraphData {let categories = vec![GraphCategory {name: String::from("default"),}];let nodes = self.packages.iter().zip(0..self.packages.len()).map(|(pkg, coords)| GraphNode {id: pkg.id.repr.clone(),name: self.data[&pkg.id].name.clone(),x: coords as f64,y: coords as f64,value: 1_f64,category: 0,symbol_size: 1_f64,label: None,}).collect();let links = self.node_index.values().map(|node| {node.deps.iter().map(move |child| (node, child.pkg.repr.clone()))}).flatten().map(|(parent, child)| GraphLink {source: parent.id.repr.clone(),target: child,value: None,}).collect();GraphData {nodes,links,categories,
dbg!(&metadata[root_crate.root]);
let chart = Chart::new().series(Graph::new().name("Cargo dependencies").layout(GraphLayout::None).roam(true).data(root_crate.graph()),);let mut renderer = HtmlRenderer::new("Cargo dependencies", 1000, 800);renderer.save(&chart, "/tmp/chart.html").unwrap();
charming = "0.3.1"
name = "cfg-if"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"[[package]]name = "charming"version = "0.3.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f4c6b6990238a64b4ae139e7085ce2a11815cb67a0c066a3333ce40f3a329be3"dependencies = ["handlebars","serde","serde_json",][[package]]name = "cpufeatures"version = "0.2.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"dependencies = ["libc",][[package]]name = "crypto-common"version = "0.1.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"dependencies = ["generic-array","typenum",][[package]]
"charming",][[package]]name = "digest"version = "0.10.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"dependencies = ["block-buffer","crypto-common",][[package]]name = "generic-array"version = "0.14.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"dependencies = ["typenum","version_check",][[package]]name = "handlebars"version = "4.5.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225"dependencies = ["log","pest","pest_derive","serde","serde_json","thiserror",
[[package]]name = "libc"version = "0.2.153"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"[[package]]name = "log"version = "0.4.21"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"[[package]]name = "memchr"version = "2.7.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
name = "once_cell"version = "1.19.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"[[package]]name = "pest"version = "2.7.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95"dependencies = ["memchr","thiserror","ucd-trie",][[package]]name = "pest_derive"version = "2.7.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c"dependencies = ["pest","pest_generator",][[package]]name = "pest_generator"version = "2.7.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd"dependencies = ["pest","pest_meta","proc-macro2","quote","syn",][[package]]name = "pest_meta"version = "2.7.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca"dependencies = ["once_cell","pest","sha2",][[package]]
[[package]]name = "typenum"version = "1.17.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"[[package]]name = "ucd-trie"version = "0.1.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
[[package]]name = "version_check"version = "0.9.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"