Skip to content

Kinetic Painter: getting latency out of the way

A conversation with Jev has me thinking about returning to Kinetic Painter.

Kinetic Painter is the app where you stand in front of a screen and draw with your fingers, switching tools and states with your voice.

It's a more violent kind of painting than I think people are used to. Nothing polite like digital art or diffusion.

It doesn't work unless or until you put your body into it and dance like the craven shaman you are.

That's the point.

That's what makes it interesting.

Latency breaks the flow

But there is a classifier-shaped hole in it that made the app unworkable. LLM reasoning. Long chains of tokens that slow down the process when you're in the groove.

You could disable them, but if you do, your already small agent is going to get stupid and make the wrong decision more often, because it's not checking its notes.

(Chains of thought actually do help in modern agent systems. There is a difference when you don't use them.)

But even without it, your system is still too slow to be fluid when you're switching instruments or doing random human things midstream.

If the app can't instantly respond when you say "left finger 3, putty knife" or "stack righthand, fire, frayed brushes, opal, drippy oil" you can't reliably do the thing.

Users end up waiting through delays more than they're actually creating the thing they're painting.

It gets in the way of your mad artistic flow state.

A classifier instead of the reasoning delay

So Jev's got me thinking about using a general System 1-style classifier there.
Give it the user input, through the voice interface, instructions, and a list of things it can do, and... you should be able to render all of that quickly.

At that point, your bottleneck is transcription, which is a lot easier to manage.