Skip to content

feat(visualize): pipeline view model, pluggable emitter, and Mermaid emitter - #352

Merged
joshua-temple merged 1 commit into
mainfrom
feat/visualizer-render-core
Jun 25, 2026
Merged

joshua-temple merged 1 commit into
mainfrom
feat/visualizer-render-core

Conversation

@joshua-temple

Copy link
Copy Markdown
Collaborator

Adds a render-agnostic internal/visualize package that projects a generated pipeline's job DAG into an ordered view model, defines a pluggable Emitter interface, and provides a Mermaid emitter as the first implementation.

The view model is built from BuildDependencyGraph and walks Order for deterministic output; a cyclic graph surfaces the existing cycle-detection error rather than panicking. The Mermaid emitter renders a flowchart TD with kind-distinct node shapes and visually distinct hard (solid) versus optional (dotted) edges, and follows the functional-options convention for additive capabilities. This is library code only; the cascade graph CLI command is tracked separately in #302.

Tests: golden-file (validate plus two builds plus two deploys, one optional dependency), determinism (10x identical), structural validity (header present, every edge endpoint declared), and cyclic and nil-graph error paths.

Closes #301.

…emitter

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple
joshua-temple enabled auto-merge (squash) June 25, 2026 14:57
@joshua-temple
joshua-temple merged commit 75916f8 into main Jun 25, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

visualizer: pipeline view model + pluggable emitter + Mermaid emitter

1 participant