Repository navigation
About
ProcFlow is (going to be) a node based data creation system. To get a better idea, this project is directly inspired by currently existing software that also specializes in procedural systems. That being said, this project has slightly different goals in mind.
This project specializes in nothing.
ProcFlow is designed to be a general procedural generation program, for any from 3d models and 2d images, to audio, to data workloads that don't even center themselves around media. Procedural, aka non-destructive, workflows have their own advantages and disadvantages to destructive workloads, as some other software suites out there can attest to.
To reiterate, this project does not fully intend to become a replacement for currently existing software solutions (you know which ones I speak of). I wish to provide something slightly different.
It may be later that slightly different goals are added, such as realtime engines going all the way to mayhaps turning entire modules into game engine pieces. For now, however, the project will focus on static creation.
- Ability to manipulate data with IO driven nodegraphs.
- Ability for the user to create their own nodes out of existing ones.
- Ability to organize nodes into user created libraries to call from elsewhere.
- Ability to schedule nodes to execute their operations on many computers in a cluster.
- Ability to run the engine within another program as a callable library.
- Ability to load in user created Rust code for high performance base nodes.
- Ability to directly utilize the engine code within another program that is not written in Rust.
I have chosen to utilize the MIT licence for this project to allow those that wish to directly integrate ProcFlow's procedural engine into their own apps. Utilizing a copy left license would undermine that to a great degree. If someone creates something on top of this and does not wish to contribute back to the project, that is there own wish.
Rust is extremely fast (when done right, of course) and also promises memory gaurantees, even if they are annoying roadblocks sometimes. But even better than that, you get the speed of a near C, better than C++, program, along with a builtin package manager that greatly speeds up prototyping and is far easier than trying to write CMake scripts. I love CMake, but I hate the C and C++ build environment sometimes, and I wish to actually get something done.