back to home

nannou-org / nannou

A Creative Coding Framework for Rust.

6,603 stars
328 forks
280 issues
RustGLSLWGSL

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing nannou-org/nannou in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/nannou-org/nannou)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

nannou

Actions Status Backers on Open Collective Sponsors on Open Collective

nannou_logo

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>

123

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

Examples

The following collection of examples are a great way to get familiar with nannou.

DirectoryDescription
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.

LibraryLinksDescription
nannouCrates.io docs.rsApp, sketching, graphics, windowing and UI.
nannou_audioCrates.io docs.rsAudio hosts, devices and streams.
nannou_coreCrates.io docs.rsJust-the-core for headless, embedded and libraries.
nannou_eguiCrates.io docs.rsFor creating egui UIs in nannou apps.
nannou_isfCrates.io docs.rsAn Interactive Shader Format pipeline.
nannou_laserCrates.io docs.rsLASER devices, streams and path optimisation.
nannou_meshCrates.io docs.rsAPI for composing meshes from channels.
nannou_oscCrates.io docs.rsSimple OSC sender and receiver.
nannou_wgpuCrates.io docs.rsWGPU 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!

ToolLinksDescription
nannou_newCrates.ioA nannou project generator.
nannou_packageCrates.ioFor packaging nannou apps for distribution.

Links