5 releases (3 breaking)
|0.4.0||Dec 19, 2019|
|0.3.0||Mar 21, 2019|
|0.2.0||Jan 26, 2019|
|0.1.1||Jan 13, 2019|
|0.1.0||Jan 13, 2019|
30 downloads per month
- Quick Start
fart is my personal tooling and framework for SVG-based generative
art. Originally inspired by Benjamin Kovach's excellent write up on
infrastructure and tooling for generative
art, but has
been evolving in its own direction since then.
fart just for myself. If it happens to work out for you, okay!
But this is not intended to be the framework for creating art with Rust that
everyone, everywhere should use. If you file an issue, I might or might not
respond, let alone fix it. If you submit a pull request, I might or might not
respond, and I might or might not merge it.
If you want to make generative art with Rust, probably check out
nannou rather than
cargo install fart-cli
Generate a new
$ fart new my-cool-project
fart watch to automatically build your project and generate an SVG on each
$ cd my-cool-project/ $ fart watch
Hack on your project! Keep refreshing
your browser or preferred SVG viewer to see what your results look like.
For a full listing of CLI commands and flags, run
fart help [subcommand].
fart new <name>
Create a new
fart project named
Compile and run a a
fart project, producing a new, time-stamped SVG render
that is automatically committed for you.
fart project, automatically build and run it on each change. Saves and
commits time-stamped SVGs for you, so you can see the evolution of your project.
Serve a project and its rendered SVGs on a local HTTP server. Automatically
watches the project for changes and re-builds and re-runs it on each change,
fart watch. It provides a Web UI with a live-reloading preview,
displays build and program logs, and has form widgets for interactively tweaking
Contains utilities for generating SVGs, building scenes, and working with numbers and RNGs.
Common traits and functions that are used most of the time.
Intended for most projects to glob import the whole thing:
A canvas is a collection of drawn paths, which can be rendered into an SVG.
Paths that get drawn in the SVG. Paths are made up of a series of line commands, and have a an associated color.
Helpers for making images from processing-style, update->draw->update->draw->... loops.
2D axis-aligned bounding boxes (AABBs) and AABB trees. Useful for fast-but-imprecise detection of collision/intersection/containment between things.
A hodge-podge assortment of 2D computational geometry algorithms built on top of
fart has many re-exports of other crates, to let you hit the ground running!
fart::euclid: Re-export of the
fart::failure: Re-export of the
fart::noise: Re-export of the
fart::num_traits: Re-export of the
fart::rand: Re-export of the