Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Graph visualization

Platform spec feature

Graph visualization

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

What this feature specifies

A single Mermaid-only presentation layer (beskid_graph) for compiler graph domains. CLI, LSP, and VS Code must consume cached Mermaid strings from beskid_queries — no duplicate graph builders in TypeScript or hand-rolled ASCII renderers.

Graph kinds

KindSourceWhen available
projectDepsProjectGraphAlways for a resolved Project.proj
workspaceMultiple member graphsWhen opened folder contains Workspace.proj
moduleTreeModuleGraph from program assemblyAfter entry resolves
importClosureUnit import edgesAfter program assembly
hostCompositionDI registration DAGWhen entry launches a native host

Implementation anchors

  • compiler/crates/beskid_graph/ — IR, adapters, Mermaid render via mermaid-builder
  • compiler/crates/beskid_queries/src/graph.rs — Salsa graph_mermaid / graph_fingerprint
  • compiler/crates/beskid_lsp/src/commands/project_explorer/graph.rsbeskid.getGraph
  • compiler/crates/beskid_cli/src/commands/graph.rsbeskid graph + graphs-tui
  • beskid_vscode/src/graphs/ — Graph Explorer webview panel

Consumers

ConsumerDefault output
CLI beskid graphTerminal TUI via graphs-tui; --mermaid for raw string
LSP beskid.getGraphJSON payload with mermaid, revision, warnings, metadata
VS Code Graph ExplorerInteractive Mermaid webview; Projects tree remains for navigation

Articles