Nannou
A Creative Coding Framework for Rust.
Install / Use
/learn @nannou-org/NannouREADME
nannou


An open-source creative-coding toolkit for Rust.
nannou is a collection of code aimed at making it easy for artists to express themselves with simple, fast, reliable, portable code. Whether working on a 12-month installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.
The project was started out of a desire for a creative coding framework inspired by Processing, OpenFrameworks and Cinder, but for Rust. <sup>Named after this.</sup>
| | | |
| --- |:---:| ---:|
|
|
|
|
A Quick Note
It is still early days and there is a lot of work to be done. Feel free to help out!
The Guide
- Welcome!
- Why Nannou?
- Getting Started
- Tutorials
- Community Tutorials
- Developer Reference
- API Reference
- Showcases
- Changelog
- Contributors
- Code of Conduct
Examples
The following collection of examples are a great way to get familiar with nannou.
| Directory | Description |
| --- | --- |
| examples/ | A collection of examples demonstrating how to use nannou! |
| generative_design/ | Examples from Generative Gestaltung, ported from p5.js to nannou. |
| nature_of_code/ | Examples from Nature of Code, ported from Processing to nannou. |
If you spot an example that interests you, you may run it with the following:
cargo run --release --example <example_name>
where <example_name> is the example's file name without the .rs. Note that
the first run might take a while in order to build nannou first, but consecutive
runs should be much quicker.
Libraries
The following nannou libraries are included within this repository.
| Library | Links | Description |
| --- | --- | --- |
| nannou |
| App, sketching, graphics, windowing and UI. |
|
nannou_audio |
| Audio hosts, devices and streams. |
|
nannou_core |
| Just-the-core for headless, embedded and libraries. |
|
nannou_egui |
| For creating egui UIs in nannou apps. |
|
nannou_isf |
| An Interactive Shader Format pipeline. |
|
nannou_laser |
| LASER devices, streams and path optimisation. |
|
nannou_mesh |
| API for composing meshes from channels. |
|
nannou_osc |
| Simple OSC sender and receiver. |
|
nannou_wgpu |
| WGPU helpers and extensions. |
Tools
A couple of tools are also included, though there some issues we would like to address before we can recommend using them just yet!
| Tool | Links | Description |
| --- | --- | --- |
| nannou_new | | A nannou project generator. |
|
nannou_package | | For packaging nannou apps for distribution. |
Links
Related Skills
node-connect
348.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
