visualization

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GraphHTMLTemplate

func GraphHTMLTemplate(d3JSON string) string

GraphHTMLTemplate returns an HTML template for interactive D3 visualization.

Types

type GraphGenerator

type GraphGenerator struct {
	// contains filtered or unexported fields
}

GraphGenerator generates visual representations of dependency graphs.

Description

Creates visual output in various formats including Mermaid diagrams, D3.js JSON, and SVG. All rendering is done locally without external services.

Thread Safety

Safe for concurrent use.

func NewGraphGenerator

func NewGraphGenerator(opts *GraphOptions) *GraphGenerator

NewGraphGenerator creates a new graph generator.

func (*GraphGenerator) Generate

Generate creates a visual representation of a blast radius.

Inputs

  • ctx: Context for cancellation.
  • br: The blast radius to visualize.
  • format: The output format.

Outputs

  • string: The visualization in the requested format.
  • error: Non-nil on failure.

func (*GraphGenerator) InteractiveVisualization

func (g *GraphGenerator) InteractiveVisualization(ctx context.Context, br *analysis.EnhancedBlastRadius) (string, error)

InteractiveVisualization generates a complete interactive HTML visualization.

func (*GraphGenerator) MultiBlastRadiusVisualization

func (g *GraphGenerator) MultiBlastRadiusVisualization(ctx context.Context, results []*analysis.EnhancedBlastRadius, format OutputFormat) (string, error)

MultiBlastRadiusVisualization creates a visualization for multiple blast radii.

func (*GraphGenerator) PackageHierarchyVisualization

func (g *GraphGenerator) PackageHierarchyVisualization(ctx context.Context, br *analysis.EnhancedBlastRadius) (string, error)

PackageHierarchyVisualization creates a package-level visualization.

type GraphOptions

type GraphOptions struct {
	// MaxNodes limits the number of nodes in the output.
	// Default: 100
	MaxNodes int

	// MaxDepth limits the depth of transitive dependencies.
	// Default: 3
	MaxDepth int

	// ShowSecurityPaths highlights security-sensitive paths.
	// Default: true
	ShowSecurityPaths bool

	// GroupByPackage groups nodes by package.
	// Default: true
	GroupByPackage bool

	// Direction is the graph direction (TB, LR, BT, RL).
	// Default: "TB"
	Direction string
}

GraphOptions configures graph generation.

func DefaultGraphOptions

func DefaultGraphOptions() GraphOptions

DefaultGraphOptions returns sensible defaults.

type OutputFormat

type OutputFormat string

OutputFormat specifies the visualization output format.

const (
	FormatMermaid OutputFormat = "mermaid"
	FormatD3      OutputFormat = "d3"
	FormatSVG     OutputFormat = "svg"
	FormatDOT     OutputFormat = "dot"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL