Ragex. Editor. Visualize
(Ragex v0.14.1)
View Source
Visualization utilities for refactoring operations.
Generates visual representations of:
- Call graph changes before/after refactoring
- Impact radius (affected functions and modules)
- Risk analysis based on centrality and dependencies
Supports multiple output formats:
- Graphviz DOT (for rendering with dot/neato/etc.)
- D3.js JSON (for web visualization)
- ASCII art (for terminal display)
Summary
Functions
Analyzes the impact of changes to a set of files.
Generates a diff visualization showing before/after state.
Visualizes the impact radius of a refactoring operation.
Types
@type impact_data() :: %{ affected_functions: [node_id()], affected_modules: [module_name()], impact_radius: non_neg_integer(), risk_score: float(), centrality_metrics: map() }
@type module_name() :: atom()
@type node_id() :: term()
@type visualization_format() :: :graphviz | :d3_json | :ascii
Functions
@spec analyze_impact([String.t()], non_neg_integer(), boolean()) :: {:ok, impact_data()} | {:error, term()}
Analyzes the impact of changes to a set of files.
Returns comprehensive impact data including affected nodes, impact radius, and risk analysis.
Parameters
affected_files: List of file pathsdepth: How many levels to traverse (default: 1)include_risk: Compute risk metrics (default: true)
Returns
{:ok, impact_data}with analysis results{:error, reason}on failure
@spec visualize_diff([node_id()], [node_id()], visualization_format()) :: {:ok, String.t() | map()} | {:error, term()}
Generates a diff visualization showing before/after state.
Useful for visualizing graph structure changes.
Parameters
before_nodes: Nodes before refactoringafter_nodes: Nodes after refactoringformat: Output format
Returns
{:ok, visualization}with diff representation
@spec visualize_impact([String.t()], visualization_format(), keyword()) :: {:ok, String.t() | map()} | {:error, term()}
Visualizes the impact radius of a refactoring operation.
Highlights the affected nodes and their immediate neighbors in the call graph.
Parameters
affected_files: List of file paths modified by refactoringformat: Output format (:graphviz, :d3_json, or :ascii)opts: Options:depth- How many levels of neighbors to include (default: 1):include_risk- Include risk analysis (default: true):color_by_risk- Color nodes by risk score (default: true)
Returns
{:ok, visualization_string}for :graphviz or :ascii{:ok, json_map}for :d3_json{:error, reason}on failure