Skip to main content

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//! A higher-level, seeded architecture export lives in
14//! [`archify`](crate::visualization::archify), built on the shared seeded,
15//! depth-limited traversal in [`subgraph`](crate::visualization::subgraph).
16//!
17//! These exporters use the unified graph's edge metadata:
18//! - `Calls { argument_count: u8, is_async: bool }`
19//! - `Imports { alias: Option<StringId>, is_wildcard: bool }`
20//! - `Exports { kind: ExportKind, alias: Option<StringId> }`
21//!
22//! # Usage Example
23//!
24//! ```rust,ignore
25//! use sqry_core::visualization::unified::{UnifiedDotExporter, DotConfig};
26//! let exporter = UnifiedDotExporter::with_config(&graph_snapshot, config);
27//! let output = exporter.export();
28//! ```
29
30/// Unified graph visualization exporters.
31///
32/// Use these exporters with [`GraphSnapshot`](crate::graph::unified::concurrent::GraphSnapshot) from the unified graph architecture.
33pub mod unified;
34
35/// Shared seeded, depth-limited subgraph traversal (entry-point-agnostic,
36/// format-agnostic). Backs the Archify exporter and future seeded exports.
37pub mod subgraph;
38
39/// Archify architecture-diagram JSON exporter (seeded, grouped, tier-typed).
40pub mod archify;