Quick Start

WEFT is a creative coding language for visuals and audio. Everything is a signal -- a function from coordinates to values. Images, sound, video, and interactive media all work the same way, and you can mix them freely.

No loops, no buffers, no frame management. You describe what should exist at any point, and WEFT evaluates it everywhere.

Install

WEFT is available for download on macOS (with Apple Silicon) from github.com/leo-levin/WEFT-SWIFT, or by running this script in terminal:

curl -fsSL https://weft.media/install.sh | bash

Hello, World

When you launch WEFT, you'll see an editor on the left and a black canvas on the right. The canvas is waiting for you to tell it what to draw. Paste the following, and hit "run" in the top right corner, or command + Return:

display[r,g,b] = [me.x, me.y, 0]

Now make it move:

display[r,g,b] = [me.x, me.y, fract(me.t)]

me.t is time in seconds; fract is just the decimal part of the timestamp, between 0 and 1.

WEFT Editor

The editor is pretty minimal. There's code on the left and output canvas on the right. Command + Return runs your program; Command + . stops it. Below the canvas is a graph view that shows how your signals flow and connect. Option + Click any bundle, strand, or spindle for inline documentation and information. Errors appear below the editor; fix them and output updates immediately.

Next Steps

Ready to understand what you just wrote? Start with Everything is a Signal, or jump to strands and bundles

WEFT is in active development. If something breaks, doesn't make sense, or you have ideas, open an issue or reach out at [email protected].