pipecircuit-visualization 0.0.1

Code-derived architectural visualizations for Pipecircuit programs
Documentation
# Pipecircuit visualization

`pipecircuit-visualization` derives reviewable architecture diagrams from a
crate's Rust source. It walks the crate's module tree, finds every explicit
`StateMachine` and `StepInputOf` implementation, follows imports, and expands
each outcome enum into its variants.

No diagram-specific step list is maintained:

```rust
use pipecircuit_visualization::{CrateArchitecture, DiagramTarget};

let architecture = CrateArchitecture::read(env!("CARGO_MANIFEST_DIR"))?;
let players = architecture.state_machine("Players")?;
let snapshot = players.render(DiagramTarget::TextTree);
```

The uncolored text tree is intended for expect tests and redirected output.
`AnsiTextTree` gives its role markers a terminal-safe lime treatment. The same
graph can be projected to `MermaidFlowchart` for Markdown and browser tooling
or `GraphvizDot` for Graphviz, SVG, and image generation.

The separately installable `pipecircuit-cli` package exposes the interactive
surface:

```text
pipec diagram Players
```

It selects ANSI text only for an interactive terminal and honors `NO_COLOR`.

Generation fails when a referenced local type, module, state machine, input,
or outcome cannot be resolved. Procedural macros that generate
`StepInputOf` implementations are not source-visible on stable Rust and are
not currently supported; step implementations themselves must remain ordinary
Rust. This keeps incomplete diagrams from masquerading as complete ones.