Welcome to the documentation website for Field — a live-coding environment for making digital art.
Instructions and links are here
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. There’s also a short guide to JavaScript, the language used in Field.
Moving towards more advanced 2d drawing will give you some new tools for building geometry in Field. These prompts from UChicago’s 2018 Winter class provide a good set of example code for this topic as well. Two dimensional drawing is a nice, easy, self contained spot to practice writing a little code, figuring out how to run it, understanding the error messages and moving on, before tackling more sophisticated topics.
2D and 3D Drawing
As far as two and three dimensional drawing goes, the most important documentation concerns ‘the Stage’ — which is where drawing inside Field ends up. Once you’ve mastered making geometry, try applying some more Advanced ‘shading’ techniques – where you rewrite the very code your graphics hardware is using to touch pixels. These are documented here. A fun playground for connecting shaders together to webcams, video sequences and music can be found here.
Time-lines and scores
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.
More than one page of code?
Ready to build more complex assemblages of code? 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.
Sound and music
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 analysis files.
JavaScript
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. We also have a very short guide.
Other canvases for your work
VR and AR drawing “surfaces”. 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. Drawing in, and sending code to, web-browsers for use in AR is supported in the most recent versions of Field. A 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 - it’s expected that we’ll edge towards parity between the two graphics systems over time.
_.
is doing, and a short note about passing things between boxes._t()
and _.wait()
and the like.Stage
, with handy keyboard control.