Sketches · 9 pieces

Generative pieces.

Two kinds: standalone pages with their own controls, and site backgrounds that take over this page in place. The eye toggle in the bottom right brings the chrome back when you're done.

Standalone pages

· 4 · navigate away

Three.js · arcade physics · homing swarms

2026

A client-side cyberpunk Three.js arcade sketch about flying above a procedurally generated 3D wireframe city toward a marked target tower while surviving simultaneous homing missile volleys. The geometry stays deliberately simple: an asymmetric banking fighter, missile cones, flare decoys, neon trails, wireframe buildings, rooftop grids, traffic dashes, antennas, and route lines.

Three.js · Voronoi · custom gobo shader

2026

Drop in any image and it gets re-cut the way a glazier would: K-means posterizes the source into a small palette, the assignment map is median-smoothed to round the region edges, then Poisson-disk Voronoi sub-cells subdivide the flat regions. Connected components on the (palette, sub-cell) composite become pieces — boundaries snap to content edges, flat areas get deliberate cuts, lead came runs every seam. The glass texture is projected through the plane along the sun direction to pool colored light on the floor and the view ray is raymarched through a bounding box of dust for god-rays.

Three.js · simplex-noise · lil-gui

2026

Procedurally generated Tucson desert, built as a zen garden out of love for Tucson and the desert. In memory of my brother Larry William Pierson (1966-2025) and my Aunt Alice Gutierrez, born Alice Pierson (1949-2026). Layered terrain, scattered rocks, plants, and sky.

Three.js · procedural plants · lil-gui

2026

A focused sandbox for the desert sketch plant system, with interactive controls for inspecting and tuning Sonoran plant forms.

Site backgrounds

· 5 · take over this page

WebGL2 compute · ASCII arrows

2026

Reynolds boids — separation, alignment, cohesion. The cursor scatters the flock. Rendered as a field of ASCII arrows oriented to each boid's heading.

WebGL2 · ASCII density ramp

2026

Navier–Stokes on the GPU with vorticity confinement. Ambient emitters keep things moving; click to splat new density into the field.

CPU · Stefan Gustavson

2025

A seeded 2D simplex field, sampled to characters and quietly drifting in time. The classic procedural primitive, made visible.

CPU · 2D ray tracing

2025

Light rays refracting through floating glass prisms — dispersion by wavelength splits white light into a spectrum.

CPU · 3D rasterization

2025

Tori, cones, and cubes rendered as luminance-shaded ASCII, slowly tumbling. Old-school 3D rasterization for the terminal era.