I got into this with Genuary in 2023 or 2024. I found myself wishing Rust had a flag that would automatically coerce between different integer and float types. Just let me put an i32 where you're expected a u64, an f32 where you want an i64, it'll be okay, I swear!
I used Nannou for several months, it's actually how I got into creative coding and was my first real foray into Rust. I didn't find the compilation time to be a huge issue for me, but I did find the strictness of Rust to be a problem. Creative coding for me evolved into making beautiful (to me) visual patterns with code. I had no interest in understanding or fixing a mutable shared value because this code was meant to exist for only a few moments, not to power an enterprise system.
I eventually moved on to OPENRNDR [1] which I loved, but these days I just use TypeScript.
OPENRNDR is amazing and I love using it for generative art, especially installations, not so much for stuff to share on the web. I find the API is way more tuned to my programmer brain compared to Processing/p5.js. The only problems, I think, are:
- It's Kotlin/JVM. Looks pretty, is ergonomic to write in, runs everywhere. But also, I feel forever chained to IntelliJ and cant wrap my head around the build system at all.
- Small community. Searching for issues, tutorials, or anything of that sort doesn't yield that many results. Not a problem if you're self-sufficient enough, but might stop me from recommending it to a beginner. The development also seems kind of slow.
The problem with creative coding and languages like Rust, or C++ for that matter, is that long compilation times break down the interactivity that is expected in such workflows.
It's not integrated in Nannou specifically, but they're showing off Bevy and ratatui in that demo, both very popular frameworks in the Rust world. (In fact, Nannou is in the process of being rebuilt on top of Bevy.)
Yes, I wanted to play with things like this, I love Rust, but nowadays I use things built in Python or Lua (like love2d) -- because I need fast interactivity for visual creative coding.
It hasn't been actively maintained, but it is still a good crate. Also it has good document unlike other similar crates. I loved this community tutorial: https://github.com/sidwellr/schotter
yep looks heavily inspired by OF. Anyone knows whats up with that project? I was involved years ago, it seems to still be going but I think many people moved on?
That is on the main branch. Behind the scenes [1] they're working a a huge rewrite to use the Bevy engine. A big effort that seems to be moving at a quite constant pace. It seems they're doing it quite rigourously: I've seen some issues in the bevy tracker where they check what is specific to their project, or where bevy can use some work.
I got into this with Genuary in 2023 or 2024. I found myself wishing Rust had a flag that would automatically coerce between different integer and float types. Just let me put an i32 where you're expected a u64, an f32 where you want an i64, it'll be okay, I swear!
I used Nannou for several months, it's actually how I got into creative coding and was my first real foray into Rust. I didn't find the compilation time to be a huge issue for me, but I did find the strictness of Rust to be a problem. Creative coding for me evolved into making beautiful (to me) visual patterns with code. I had no interest in understanding or fixing a mutable shared value because this code was meant to exist for only a few moments, not to power an enterprise system.
I eventually moved on to OPENRNDR [1] which I loved, but these days I just use TypeScript.
[1] https://openrndr.org/
OPENRNDR is amazing and I love using it for generative art, especially installations, not so much for stuff to share on the web. I find the API is way more tuned to my programmer brain compared to Processing/p5.js. The only problems, I think, are:
- It's Kotlin/JVM. Looks pretty, is ergonomic to write in, runs everywhere. But also, I feel forever chained to IntelliJ and cant wrap my head around the build system at all.
- Small community. Searching for issues, tutorials, or anything of that sort doesn't yield that many results. Not a problem if you're self-sufficient enough, but might stop me from recommending it to a beginner. The development also seems kind of slow.
The problem with creative coding and languages like Rust, or C++ for that matter, is that long compilation times break down the interactivity that is expected in such workflows.
That problem is solved by the subsecond crate (an offspring of the Dioxus UI framework), demo here: https://youtu.be/Kl90J5RmPxY?t=1288
It's not integrated in Nannou specifically, but they're showing off Bevy and ratatui in that demo, both very popular frameworks in the Rust world. (In fact, Nannou is in the process of being rebuilt on top of Bevy.)
Yes, I wanted to play with things like this, I love Rust, but nowadays I use things built in Python or Lua (like love2d) -- because I need fast interactivity for visual creative coding.
It hasn't been actively maintained, but it is still a good crate. Also it has good document unlike other similar crates. I loved this community tutorial: https://github.com/sidwellr/schotter
AFAIK it's being rewritten to use bevy
https://github.com/nannou-org/nannou/tree/bevy-refactor
This reminds me of OpenFrameworks [0], which provides very similar framework style functionality like Nannou but for C++.
[0]: https://openframeworks.cc/
yep looks heavily inspired by OF. Anyone knows whats up with that project? I was involved years ago, it seems to still be going but I think many people moved on?
This is a cool project, but it seems like it hasn't been updated in a long time?
It seems like https://github.com/chaosprint/glicol has a similar problem.
That is on the main branch. Behind the scenes [1] they're working a a huge rewrite to use the Bevy engine. A big effort that seems to be moving at a quite constant pace. It seems they're doing it quite rigourously: I've seen some issues in the bevy tracker where they check what is specific to their project, or where bevy can use some work.
[1]: https://github.com/nannou-org/nannou/tree/bevy-refactor
Very nice name and reference!
I absolutely love the Aphex Twin reference!