Gesso

Ruby sketching · immediate mode

Make a sketch. Let it run.

A compact Processing-style drawing DSL for Ruby, with interactive windows and deterministic headless frames.

gem install gesso

Gesso canvassetup → draw

A small loop with room to play.

Shapes, color, time, and output stay close to the sketch.

01

Draw primitives

Lines, shapes, images, transforms, text, and stroke styles.

02

Shape the palette

RGB and HSB colors; corner, center, and radius modes.

03

Keep the frame

Seeded random values, smooth noise, and headless PNG rendering.

A small first step

Start with one example.

Install the gem, then follow the project guide for platform requirements and the full API.

Read the installation guide ↗

require "gesso"

sketch = Gesso.run(width: 320, height: 200) do
  setup { background 16, 24, 39 }
  draw do
    fill 240, 120, 80
    circle width / 2, height / 2, 30
  end
end

sketch.canvas.write("shot.png")