sqry_core/visualization/mod.rs
1//! Visualization utilities (diagram rendering, export formats).
2//!
3//! # Unified Graph Exporters
4//!
5//! The [`unified`](crate::visualization::unified) module provides visualization exporters that work directly with
6//! [`GraphSnapshot`](crate::graph::unified::concurrent::GraphSnapshot):
7//!
8//! - [`UnifiedDotExporter`](crate::visualization::unified::UnifiedDotExporter) - Graphviz DOT format
9//! - [`UnifiedD2Exporter`](crate::visualization::unified::UnifiedD2Exporter) - D2 diagram format
10//! - [`UnifiedJsonExporter`](crate::visualization::unified::UnifiedJsonExporter) - JSON for web visualizations
11//! - [`UnifiedMermaidExporter`](crate::visualization::unified::UnifiedMermaidExporter) - Mermaid for Markdown
12//!
13//! These exporters use the unified graph's edge metadata:
14//! - `Calls { argument_count: u8, is_async: bool }`
15//! - `Imports { alias: Option<StringId>, is_wildcard: bool }`
16//! - `Exports { kind: ExportKind, alias: Option<StringId> }`
17//!
18//! # Usage Example
19//!
20//! ```rust,ignore
21//! use sqry_core::visualization::unified::{UnifiedDotExporter, DotConfig};
22//! let exporter = UnifiedDotExporter::with_config(&graph_snapshot, config);
23//! let output = exporter.export();
24//! ```
25
26/// Unified graph visualization exporters.
27///
28/// Use these exporters with [`GraphSnapshot`](crate::graph::unified::concurrent::GraphSnapshot) from the unified graph architecture.
29pub mod unified;