1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*!
# Graph Visualization Extension
This extension provides multiple ways to visualize graphs:
- **D3.js Export**: Export graphs to D3.js-compatible JSON format for web visualization
- **Static Images**: Generate PNG/SVG images using the plotters crate
- **HTML Interactive Viewers**: Create standalone HTML files with interactive visualizations
- **ASCII Art**: Simple CLI debugging visualization
Independent of other extensions; depends only on core.
# Examples
```rust
use graphina::core::types::Graph;
use graphina::visualization::{VisualizationConfig, LayoutAlgorithm};
let mut g = Graph::<&str, f64>::new();
let n1 = g.add_node("A");
let n2 = g.add_node("B");
g.add_edge(n1, n2, 1.0);
// ASCII art for quick debugging
println!("{}", g.to_ascii_art());
// Export to D3.js format
let d3_json = g.to_d3_json().unwrap();
// Generate static image
let config = VisualizationConfig::default();
g.save_as_png("graph.png", &config).unwrap();
// Create interactive HTML viewer
g.save_as_html("graph.html", &config).unwrap();
```
*/
// Re-export main types and functions for convenience
pub use VisualizationConfig;
pub use ;
pub use ;