.Net: Visualizing dotnet workflows (#882)

* Adding more test for workflow vizualization.

* Improving README for sample.

* More cleanup.

* Removing rendering of workflow visualization and adding basic support for mermaid format.

* Adding basic mermaid tests.

* Improving sample. Switching to another branch.

* About to merge from main.

* Formatting.

* More fromatting.

* Removng uneeded call to ToUpper.

* Adding README.

* Moving samples under workflow to workflows.

* Removing uneeded README for map-reduce sample.
This commit is contained in:
Ben Thomas
2025-09-30 09:29:19 -07:00
committed by GitHub
Unverified
parent 522bf4bf23
commit df3e12b2ed
16 changed files with 1245 additions and 15 deletions
@@ -0,0 +1,43 @@
# Workflow Visualization Sample
This sample demonstrates how to visualize workflows using `ToMermaidString()` and `ToDotString()` extension methods. It uses a map-reduce workflow with fan-out/fan-in patterns as an example.
## Running the Sample
```bash
dotnet run
```
## Output Formats
The sample generates two visualization formats:
### Mermaid
Paste the output into any Mermaid-compatible viewer (GitHub, Mermaid Live Editor, etc.):
![Mermaid Visualization](Resources/mermaid_render.png)
### DOT (Graphviz)
Render with Graphviz (requires `graphviz` to be installed):
```bash
dotnet run | tail -n +20 | dot -Tpng -o workflow.png
```
![Graphviz Visualization](Resources/graphviz_render.png)
## Usage
```csharp
Workflow workflow = BuildWorkflow();
// Generate Mermaid format
string mermaid = workflow.ToMermaidString();
// Generate DOT format
string dotString = workflow.ToDotString();
```
## Related Samples
- [Map-Reduce Workflow Sample](../../../Workflows/Visualization/README.md): The workflow implementation being visualized