devuiGuideDemosAPIGitHub

devui

A dev UI for creative coding.

Controls you can feel for every parameter, a look inside your GPU textures, and a scope on each frame. For any engine; three.js built in.

npm install github:haxiomic/devui#release

This background is a fragment shader, and the panel is its uniforms. Drag a number sideways.

Your values, as controls

Point devui at your objects and it infers the rest: a 0–1 slider for roughness, a colour picker for a hex string, scrub fields for a position. Or ask for a live, typed object and read it in your frame loop.

The panel lives in a shadow root and loads on first show, so your page and its bundle stay yours. In production, alias the package to its no-op build: your saved values still apply and nothing is shown.

Getting started →

import { gui } from '@haxiomic/devui';

gui.add(material, 'roughness');   // slider 0–1, from the name
gui.add(mesh, 'position');        // x, y, z scrub fields

const p = gui.folder('Fluid').params({
	viscosity: 0.2,
	dye: '#ff6a00',
	curl: { value: 30, min: 0, max: 50 },
	mode: { value: 'advect', options: ['advect', 'diffuse'] },
	reset: () => sim.reset(),
});
// in your frame loop, just read p.viscosity

What's in it

Demos

Also: the capture viewer, to open a .devui-capture file saved anywhere and draw its frame again · the vanilla demo with a linked values file · hands-on checks, a checklist of gestures to try with a mouse, trackpad or finger · the listening kit (an experiment: the frame scope as sound)