Welcome to the documentation website for Field — a live-coding environment for making digital art.

If you are completely new to Field you’ll want to start with the survival guide. This will go over how to write and execute code, what error messages look like, and how to draw very simple things in 2d just to warm up. Moving towards more advanced 2d drawing will give you some new tools for building geometry in Field. These prompts from January’s UChicago class provide a good set of example code for this topic as well.

Augmented Reality

Drawing in, and sending code to, web-browsers is supported in the most recent versions of Field. A (very) simplified drawing system, based on-top of Three.js is available. Note that much of the complex parts of _.stage and FLine are not yet available inside the browser - we’ll edge towards parity between the two graphics systems over time.

Other uses of Field

As far as 2d drawing goes, the most important documentation concerns ‘the Stage’ — which is where drawing inside Field ends up.

If you want to start building time-lines and scores, you’ll be interested in time in Field which lets the boxes that contain code respond to where they are in the sheet. This leads to more complex, notational strategies.

Our VR support in Field is based on various VR-aware Stage implementations. These places for drawing, and other VR related activities are documented here. Advanced shading techniques touched upon in class are here.

If you are intrigued, or puzzled, by the _ symbol that keeps appearing in example code, or you are getting frustrated trying to build longer, more complex passages of code in Field and need help structuring them, here is some documentation on what that underscore _. is doing.

Field, while primarily intended as a programming environment for making visual things, seems to have accumulated a few features for interacting with sound. These include support for reading and writing MIDI files as well as real time midi output, and support for sound analysis and a ‘toy’ sound mapping system. Field also supports reading motion capture data and video tracking files.

Finally the language that Field let’s you code in is JavaScript. You should find any primer online for the syntax (the ‘how’) of this language (for-loops, variables, function declarations etc.) will be useful; but the semantics (the ‘what’) is all Field, don’t get tricked into reading about web-programming in general.


The current version of Field is Field ‘alpha.16d’, and is available for download for OS X.

Do not run Field from inside the Downloads folder on OS X (this folder is very special); Running Field from a directory that has a ‘space’ in its name (or any parent directory) is for the brave. And when things go wrong (and they will), be specific.

The Windows build is here.

Complete index

  1. General documentation about Field.
  2. An introduction to FLine Drawing. The first prompt was a good set of example code concerning drawing as well.
  3. Documentation about the Stage and more Advanced shading techniques.
  4. More under-the-hood documentation about Field and what that underscore _. is doing.
  5. A note on time in Field — including _t() and _.wait() and the like.
  6. Prompts for Sketches: 1, 2 & 4 (sketch 3 was mocap / tracking / sound).
  7. Simulations — including Boids, Physics, L-Systems and Perlin Noise.
  8. Notational strategies based on intersections.
  9. Support for reading and writing MIDI files as well as real time midi output.
  10. Support for Motion capture files and video tracking.
  11. A note on how to save jpeg sequences.
  12. Support for sound analysis.
  13. Some support for loading SVG files.
  14. A new 3D camera for Stage, with handy keyboard control.
  15. Full 3D geometry support.
  16. An advanced physics example — a game in four boxes.
  17. A ‘Hard Sync’ toy that generates sound from the directories of jpegs that Field likes to save.
  18. Something that loads bounding boxes found by a ‘deep-learning’ driven object detector.