Documentation
# `fart`: fitzgen's art

My personal tooling and framework for SVG-based generative art. Inspired by
[Benjamin Kovach's write up on infrastructure and tooling for generative
art.](https://www.kovach.me/posts/2018-10-13-infrastructure-of-art.html)

[![](https://docs.rs/fart/badge.svg)](https://docs.rs/fart/)
[![](https://img.shields.io/crates/v/fart.svg)](https://crates.io/crates/fart)
[![](https://img.shields.io/crates/d/fart.svg)](https://crates.io/crates/fart)
[![Travis CI Build Status](https://travis-ci.com/fitzgen/fart.svg?branch=master)](https://travis-ci.com/fitzgen/fart)

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->


- [Install]#install
- [Quick Start]#quick-start
- [CLI]#cli
  - [`fart new $name`]#fart-new-name
  - [`fart watch [project]`]#fart-watch-project
- [Library]#library

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Install

```
cargo install fart
```

## Quick Start

![fart quick start](./fart.gif)

Generate a new `fart` project:

```
$ fart new my-cool-project
```

Run `fart watch` to automatically build your project and generate an SVG on each
change.

```
$ cd my-cool-project/
$ fart watch
```

Hack on your project! Keep refreshing `my-cool-project/images/latest.svg` in
your browser or preferred SVG viewer to see what your results look like.

## CLI

For a full listing of CLI commands and flags, run `fart help [subcommand]`.

### `fart new $name`

Create a new `fart` project.

### `fart watch [project]`

Watch a `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.

## Library

Contains utilities for generating SVGs and working with numbers and RNGs. Mostly
just re-exports of other crates!

[**Read the API docs!**](https://docs.rs/fart)