Acknowledgements

V3KTR says it uses algorithms rather than presets. That’s easy to claim, so here is the list — 23 works, with the effect each one turns up in. Some of it is code the authors gave away. Some of it is a paper, or a machine from 1969 that I rebuilt from how it worked. All of it is someone else’s thinking, and it should have their name on it.

Updated 20 July 2026

Dithering

Error diffusion is how you fake a shade you don't have. Six of these are named algorithms you can pick between in Error Dither — they look different because they push the error in different directions.

  • Floyd–Steinberg

    Error-diffusion dithering (1976). The one everything else is measured against.

    Error Dither

  • Atkinson

    Bill Atkinson's error diffusion, written for the original Macintosh. Throws away some of the error, which is why it looks crisper and lighter.

    Error Dither

  • Sierra

    Frankie Sierra's family of error-diffusion kernels.

    Error Dither

  • Stucki

    Peter Stucki's error diffusion — wider kernel, cleaner gradients.

    Error Dither

  • Jarvis–Judice–Ninke

    Error diffusion (1976). The heavyweight of the family.

    Error Dither

  • Burkes

    Daniel Burkes' error diffusion.

    Error Dither

  • Bayer

    Bryce Bayer's ordered-dithering matrices — the fixed threshold grid behind the classic hardware look.

    Dither

  • Blue noise

    Void-and-cluster style masks, which spread dots evenly without the grid pattern ordered dithering leaves behind.

    Dither

Seeing structure in an image

Several effects need to know where an edge is, or which way the picture is flowing, before they can do anything. These are the methods that tell them.

  • Sobel

    Edge detection — Irwin Sobel and Gary Feldman (1968).

    Edges, and the edge gate inside several other effects

  • Kuwahara

    Edge-preserving smoothing that turns photographs painterly; the anisotropic variant follows the local grain instead of a square window.

    Aniso Kuwahara

  • Structure tensor

    Local orientation estimation — the maths that answers 'which way is this part of the image pointing?'

    Machine (Weave), Aniso Kuwahara

  • Depth Anything V2

    Monocular depth estimation — Lihe Yang and colleagues. It reads how far into a scene things sit, from a single flat photo. Every depth effect keys off it.

    The whole Depth family

Growing and dividing

Systems that make their own patterns. None of them are drawn; they're simulated and then rendered.

  • Gray–Scott

    A reaction–diffusion system: two chemicals, one feeding on the other, producing spots and stripes from noise.

    Reaction

  • Lenia

    Continuous cellular automata — Bert Chan (2019). Conway's Game of Life with the grid dissolved, so it grows smooth living-looking forms.

    Lenia

  • Diffusion-limited aggregation

    Witten and Sander (1981). Particles wander until they touch something and stick — the way frost and copper deposits branch.

    Organic Growth

  • Voronoi / Lloyd

    Cellular partitioning, and the relaxation step that evens the cells out.

    Voronoi

  • Delaunay — Bowyer–Watson

    Triangulation (1981). Turns a scatter of points into a mesh with no slivers.

    Wireframe's seam mesh

Colour and geometry

  • OKLCH / Oklab

    A perceptual colour space — Björn Ottosson (2020). Blends and gradients that behave the way your eye expects instead of the way RGB arithmetic does.

    Colour paths, gradients, blending

  • Heckbert

    Paul Heckbert's square-to-quad homography — the maths that lets you drag four corners and have the image follow correctly.

    Transform's corner-pin

  • mulberry32

    A small seeded pseudo-random generator. Seeded means deterministic, which is what makes a random-looking effect hold still in a loop instead of boiling.

    Wireframe, and the generators

Machines, re-implemented

These aren't code anyone shared. They're instruments and physics, rebuilt from how they actually worked — which is why they behave like the real thing rather than looking like a photo of it.

  • Rutt/Etra Scan Processor

    Steve Rutt and Bill Etra (1973): an analogue video synthesiser that bent the raster itself. Woody Vasulka built a whole vocabulary out of it.

    Scan Processor

  • Paik–Abe Wobbulator

    Nam June Paik and Shuya Abe (1969) — a television with extra coils around the tube, deflecting the raster magnetically.

    Hardware → Magnet

  • The Lorentz force

    F = qv × B. The reason a magnet held to a CRT rotates the picture rather than simply shoving it sideways — and the reason the effect does too.

    Hardware → Magnet

The tools it ships with

Open-source software doing real work inside V3KTR and on this site. What each one does, first; the licences they’re used under are in the next section.

  • Transformers.js + ONNX Runtime

    Hugging Face. Runs the depth model in your browser, on your machine.

    Depth

  • mp4-muxer / webm-muxer

    Assemble the encoded frames into a file you can actually play.

    Video export

  • Supabase

    Accounts and saved Looks.

    Sign-in, FX Looks

  • Standard Webhooks

    A signature spec for verifying that a billing callback really came from who it says.

    Billing

  • JetBrains Mono and Manrope

    The typefaces, in the app and here.

    Everywhere

Everything else in the library — the shaders, the compositing engine, the motion system — is mine.

Licences

In the app. The depth feature is built on open-source machine-learning work:

  • Depth Anything V2Lihe Yang, Bingyi Kang, Zilong Huang, Zhen Zhao, Xiaogang Xu, Jiashi Feng, Hengshuang Zhao. Used under the Apache License 2.0. The ONNX build is published by the ONNX Community on Hugging Face.
  • Transformers.jsHugging Face, Apache License 2.0. Runs the model in your browser.
  • ONNX Runtime WebMicrosoft, MIT licence.
  • mp4-muxer and webm-muxerVanilagy, MIT licence. Video export.
  • supabase-jsSupabase, MIT licence. Accounts and saved Looks.
  • JetBrains Mono and Manropeboth under the SIL Open Font Licence 1.1.

On this site. Built with open-source software, used with thanks:

  • MIT licenceReact and React DOM, Next.js, Bootstrap, Keystatic, marked, sanitize-html, gray-matter, imagesLoaded, Matter.js, Swiper, image-size, Lenis, Phosphor Icons.
  • ISC licenceSplitType.
  • GSAPused under its standard licence.

Full licence text for any of these is available from the projects themselves, or email me and I’ll send it.

A note on the model

Worth being clear, since “AI model” carries a lot of baggage: the model V3KTR uses is analytical, not generative. It measures how far into a scene things sit. It doesn’t invent image content, it takes no prompt, and it runs entirely on your machine — your images are never uploaded and never train anything. See About for how that’s used, and Privacy for what does and doesn’t leave your device.

How it was made

Separate heading on purpose. Everything above is whose idea something was, and none of it was an AI’s.

Claude (Anthropic)used as a coding collaborator throughout. Most of the implementation is written by it; every decision is mine, including the several where I told it no.

If your work is in here and I’ve credited it wrongly — or haven’t credited it at all — tell me and I’ll fix it. That’s the one kind of correction I want to receive.

/ New FX, first

New effects as they land — nothing else.

V3KTR — the app's empty start screen, ready for an image
Open the app