<p align="center">
  <img src="img/logo.png" width="60%"/>
</p>

<h1 align="center"> Welcome to the ryvencore-qt documentation </h1>

> [!NOTE]
> All this is in the making and some information and examples might not be 100% up to date. This documentation is generated using [Docsify](https://github.com/docsifyjs/docsify/), so feel free to fork the project and improve it by simply editing the markdown.

## Project Idea

The true power of flow-based visual scripting lies in optimization towards specific domains. While [Ryven](https://github.com/leon-thomm/ryven) is meant as a general purpose editor, `ryvencore-qt` can be used to create editors that work fundamentally similar but which can be modified and optimized. It is an easy to use framework for creating flow-based visual scripting editors for Python with Qt. For a list of features, see [Features](/features). `Ryven` is now based on this project and the development of `ryvencore-qt` is currently closely tied to `Ryven`.

### Future

While `ryvencore-qt` is just a Qt frontend for `ryvencore`, other frontends might get developed too. Attempts to bring parts of this to the web by creating a `ryvencore-qt` equivalent for the browser are getting discussed. If you want to help out, please hit me up!

Notice that `ryvencore-qt` is not a professional piece of software and sometimes there are major changes. Compared to commercial products or software with an extensive community, it is in an early stage.

Next to essential GUI classes, `ryvencore-qt` also provides a few convenience GUI classes which only use `ryvencore`'s public API, making it a little easier to get started.

There is a precise definition of the fundamental characteristics of the flows in the [Features](features.md) section.

## Resources

May I also point to the [website of the Ryven project](https://ryven.org) if you haven't been there already. And there's a small [YouTube channel](https://www.youtube.com/channel/UCfpqNAOXv35bj_j_E_OyR_A).