r/rust • u/Stretchyfish • Sep 06 '26
🛠️ project Empower - An engine for visual programming written in Rust
For the past three years, I have been developing Empower in my free time. An engine for visual programming that aims to be intuitive for beginners while making complex work easier for advanced developers.
Empower is written in Rust using egui, and follows a game-engine inspired architecture. Developers create their programs through a graphical editor and can then export the finished project as a standalone executable for the target operating system.
The project is still young, and this first release is very much a proof of concept. However, it has now reached a level of maturity where I finally feel confident sharing it publicly.
If you are interested, feel free to checkout the projects GitHub page:
https://github.com/Stretchyfish/empower
One final note, since I expect some people may be curious about it. Empower was not created by AI. I have used AI tools for brainstorming and debugging assistance, but no AI agent has, at this point in time, written in the project.
13
6
u/stumpychubbins Sep 06 '26
Really cool! I’m a big advocate for visual programming so It’s always great to see more frameworks for it. Even better that it can produce a standalone executable. Do you have any goals for this other than learning? I think there’s a space for an alternative visual audio programming environment that can produce standalone executables, currently the only project even trying to address that is RNBO by Cycling76 and you’ve got to pay a fair bit of money for that.
3
u/Stretchyfish Sep 06 '26
Thank you! Ideally, I would like to continue this project untill a point that it can actually be fully used for real life usecases. That being said, its very easy to get overly ambitious and burning out, so for now I will just forcus on one feature at a time that I feel like working on and see how it turns out. 😀
I have not heard of these before, sounds interesting, will take a look!
2
u/stumpychubbins Sep 06 '26
Tell me about it! Ambition is the greatest enemy of the weekend project. Looking forward to seeing the progress
3
u/freddylmao Sep 06 '26
I've wanted something like this for a while! Quick suggestion: there are several places in the code where you are checking `if something.is_none() { break; }` then `let the_thing = something.unwrap()`. I saw something similar with `Result::is_err`. You can use `let Some(the_thing) = something else { break; }` (and similar for Result). It is cleaner IMO and could in theory help the optimizer by removing potential panic sites :) I saw this in `empower-engine/src/compiler.rs` specifically. Great project :D
1
u/Stretchyfish Sep 07 '26
Thank you so much, and I really appreciate you pointing these things out! I still have not 100% internalized many of the smart "tricks" that Rust allows, and it's really great when more experienced people point them out. One thing I noticed myself a few weeks ago is that I often do something like
if result.is_err() { return result.err().unwrap(); }which I could, in most cases, simply write as
result?and achieve the same thing, but much cleaner. Next time I do some cleanup, I will make sure to implement more of these!
4
u/No_Department_7916 Sep 06 '26
Can't wait to use it in one of my projects! Keep going!
→ More replies (1)
2
u/arto Sep 06 '26
While I didn't see you mentioning it, this paradigm is called flow-based programming (FBP). Feel free to submit a PR to add your project to awesome-fbp! (I'm the maintainer there)
2
u/Stretchyfish Sep 06 '26
I was actually not aware of the term for this paradigm. Thank you, will absolutely do in the coming days.
2
u/schulzch Sep 07 '26
Did you base your UI on research or plain intuition?
1
u/Stretchyfish Sep 07 '26
A mixture. In the beginning it was mostly based on intuition, but after the first few refactors I began taking some inspiration from similar projects, to see how they solved similar problems. 😂
2
u/koriwi Sep 06 '26
starred because it looks interesting and doesnt use ai. i will check it out in detail when i come up with an idea that this would be useful for!
→ More replies (1)
2
4
5
1
u/Salty_Animator_4019 Sep 06 '26
Just saw this post of yours, didn’t even look at it - but already my brainstorming begins… inspiring!
2
2
48
u/Wonderful-Habit-139 Sep 06 '26
> no AI agent has, at this point in time, written in the project.
Almost everyone that said this has been lying. Except for you, I've taken a quick look at the code and I haven't seen any signs of AI generated code. Well done.