Work / Software · Performance · Visuals
World
Open
- WorldThe full tool. Edit, play scenes, load the examples. Parts load on demand from a small local server.Run · soon
- One fileThe same, everything inside one HTML file. Opens with no server at all.Download · soon
- RegistersThe eight live-coding registers on one page, following a webTroop session.Run · soon
About
The stage
The next live-coding concert needs more than a projection of the code. World is the stage for it: one very large canvas, and a story told across it while the music is made. Some areas hold the code being played, drawn as writing; others hold Scriptorium sheets, texts, images, video, the camera, scenes from CLIFT, layers from STARS. The camera travels from one area to another, cued by the performers and the music.
It has three modes in one page. Play runs the story full screen and listens to the set. Edit (the E key, no reload) is where the world is built: areas, camera stops, shots, scenes, cables. Visit turns the same world into a website you move through by dragging and pinching, with links, videos and a guided tour; the prototype is a version of crashserver.fr.
Camera, shots and scenes
A view saved in edit mode is a camera stop. A shot is an arrow from one stop to the next, carrying its duration, its easing and its move: a pan, a zoom, a fly-over, a cut, a rotation, with a handle to curve the path and an optional transition effect. Shots can cut on the beat.
A scene groups shots, the areas that are active and a text, and starts on a cue: a scene name sent from the code during the set, a number of bars, a key, an evaluation, or the end of the previous scene. Acts can loop, so the camera breathes for as long as the performers stay in one part, and move on when they send the next name. Scenes can answer the sound too: the camera punches in on hits, shakes with the bass, tilts with the mids. With a soundtrack, the track is the clock and the pictures lock to it.
Eight ways to write code
The live-coding font at the heart of the project, described in the paper Writing the Live Set, is a player script: each line of FoxDot code becomes one glyph, on the model of the Maya glyph block, and the same grammar is drawn in eight registers. They read a real session as it is played (a webTroop server, or a sample while nothing plays) and every parameter of the code shows: the synth, the melody, the rhythm, the level, the filter, each effect, and the methods that change a player over time.
- Glyphs. The synth family is the main sign, the player’s letter its prefix, the notes a small staff beside it, the filter along the top, time along the bottom, the effects in a rack down the side.
- Khipu. After the Andean knotted cords: each player is a pendant cord that meanders with its melody; knots are the rhythm, the tip is the filter, effects branch off as subsidiary cords.
- Matrix. A machine readout: each player one row of lit cells in fixed fields (pitch, a 16-step sequencer, level, filter response, fourteen effect slots).
- Calligraphy. A broad-nib line per player; the nib angle is the filter, and the code’s randomness and grit tear, smear and drip the ink.
- Ogham. Each player a standing stone, read from the base up, every step that sounds a cut across its edge.
- Clay. Each code block a tablet, each step a wedge pressed by a reed, the effects a cylinder seal rolled along the foot.
- Loom. Time is the weft and each player a band of warp threads, so the cloth above is the history of the set.
- Star chart. A planisphere turning every 32 beats: each player a constellation, reverb a nebula, echo a binary star, a stopped player a nova.
Everything is pluggable
Areas give signals and take them, joined by cables drawn in edit mode: the level of the bass can drive the scale of an area, the beat its opacity. The world file is never changed by a signal, so unplugging a cable gives the area back as it was.
Around seven hundred modules can be placed: 193 layers from STARS (boot screens, crashes and recoveries, tunnels, nebulae, our own fractal flames), 441 scenes from CLIFT, whose C code runs compiled to WebAssembly rather than translated, weather and sky effects ported from The Chorus Mandate, Scriptorium’s generators and composition recipes, a webcam with every face masked by a detector running in the browser, and a movement layer that measures the smoothness, suddenness and synchrony of the people it follows (a port of the PyEyesWeb library, checked against the original to six decimal places).
The pieces
The examples are works in their own right, written as scripts that build worlds:
- The code is the score. Four registers explored on a live set, act by act, each looping until the performers send the next name.
- The Archive. The Crash Server book, staged as a reading piece: fourteen acts, about thirteen minutes, its documents as written.
- Collateral. Losing control of a machine that optimises, field by field.
- Europa-Sigma-7, Love Virus. Stories from the Crash Server lore, with layers made for them.
- Apophysis. Seven acts of 3D layers, tunnels and fractal flames.
- The Revolution Will Be Glitched, Letters Under Pressure. Audio-reactive pieces with a soundtrack as their clock.
- Nerve and Voyage. Live shows: Nerve fast and nervous in five acts, each a cue from the code; Voyage one machine’s life in seven parts, about fifteen minutes, mixed from six shows.
How it is built
TypeScript, built into a single HTML file that opens without a server. A pure core (the model, the camera maths, the scene player as a state machine) never touches the page and is tested in Node; browser checks drive the real page. Each kind of area is one folder and one line in a registry. Everything about a story lives in its JSON, with a schema version and migrations, so old stories keep loading. A part that is not used costs nothing more than a check per frame.
Features
- 01
One canvas, many areas
Areas hold the live script, Scriptorium sheets, text, images, the camera, CLIFT scenes or STARS layers. Select, move, resize, rotate, duplicate, from a menu in sections.
- 02
A camera that tells the story
Save views as camera stops; shots between them are arrows carrying a duration, an easing and a move (pan, zoom, fly-over, cut, rotate). Drag a handle to curve the path.
- 03
Scenes and their cues
Each scene has its shots, its active areas and its text, and starts on a cue: a scene name sent from the code, a number of bars, a key, an evaluation, or the end of the last one.
- 04
Code drawn as writing
Eight registers draw FoxDot code as it plays, following a webTroop session: glyph blocks, khipu cords, a matrix readout, corrupted calligraphy, ogham, clay tablets, a loom, a star chart.
- 05
Measured, not claimed
Every layer and scene was probed for what it really answers to (the code, its age, the sound), and the ones meant for live coding were fixed until they follow it.
- 06
Outputs and mapping
Projector outputs with warped surfaces, grids, soft edges, tone and masks. A part that is not used costs nothing but a check per frame.
- 07
Camera, faces masked
A webcam area with every face anonymised by a detector running in the browser.
- 08
Edit and play in one page
E switches between editing and playing with no reload. A whole world is one JSON file, autosaved, versioned and shareable.
Images

Player glyphs: each line of code compiles to one glyph, built like a Maya glyph block. 
Khipu: each player a pendant cord; knots are the rhythm, the tip is the filter. 
Matrix: each player one row of lit cells, in fields that line up across players. 
Calligraphy: broad-nib lines that the code's randomness and grit corrupt. 
Ogham: each player a standing stone, cut along its edge from the base up. 
Clay: each step that sounds presses a wedge into a tablet. 
Loom: time is the weft, so the cloth above is the set's history. 
Star chart: each player a constellation on a planisphere turning every 32 beats.
Credits
- Design, code — SVDK
- Live coding — FoxDot, webTroop