# Flowkit
[](https://github.com/viz-rs/flowkit#license)
[](https://crates.io/crates/flowkit)
[](https://crates.io/crates/flowkit)
[](https://docs.rs/flowkit/latest/flowkit/)
A universal UI workflow library.
Neat, beautiful, and easy to use.
<p align="center">
<img alt="A node-based UI example for Bevy Engine" src="https://raw.githubusercontent.com/viz-rs/flowkit/main/assets/node_based.png" />
</p>
## Features
- Support multiple kinds of [`EdgeType`]s:
- **SmoothStep**: smoothing and rounding corners by the [`squircle`]
- **StraightStep**: straight steps
- **Straight**: a straight line
- **Curve**: a bezier curve
- Adapt to multiple frameworks
- [bevy_flowkit]
- [egui_flowkit]
- [gpui_flowkit]
- [makepad_flowkit]
- Support SVG's path output
## Examples
- [node based](examples/bevy/src/node_based.rs): A node-based UI example for Bevy Engine.
```console
cargo run --example node_based
```
- [egui canvas](examples/egui/src/canvas.rs): A simple flow chart for egui.
```console
cargo run --example egui_canvas
```
- [gpui canvas](examples/gpui/src/canvas.rs): A simple flow chart for gpui.
```console
cargo run --example gpui_canvas
```
- [makepad canvas](examples/makepad/src/canvas.rs): A simple flow chart for makepad.
```console
cargo run --example makepad_canvas
```
## License
Flowkit is free, open source and permissively licensed!
Except where noted (below and/or in individual files), all code in this repository is dual-licensed under either:
- MIT License ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))
[`EdgeType`]: https://docs.rs/flowkit/latest/flowkit/edge/enum.EdgeType.html
[`squircle`]: https://www.figma.com/blog/desperately-seeking-squircles/
[bevy_flowkit]: https://docs.rs/bevy_flowkit
[egui_flowkit]: https://docs.rs/egui_flowkit
[gpui_flowkit]: https://docs.rs/gpui_flowkit
[makepad_flowkit]: https://docs.rs/makepad_flowkit