Milo BRAND + INTERFACE SYSTEM V1.0
07Dither Engine

Nature ↔ computation. Art ↔ data.

Dither is Milo's signature behaviour: the visible moment where the raw becomes the interpreted. Printmaking, scientific imaging and museum conservation, not glitch.

ENGINE engine/core.jsEFFECTS 18MATRICES bayer2/4/8 · FS · Atkinson · halftoneDETERMINISTIC seeded PRNG
Signature transition07.1
ORIGINAL
Carol M. Highsmith
Half Dome, Yosemite National Park
2013 · LC-DIG-highsm-25622
Library of CongressNo known restrictions
  1. 01original
  2. 02pixels emerge
  3. 03dither spreads
  4. 04channels separate
  5. 05interpretation resolves
  6. 06data layer appears

1.4 s, print easing. Under prefers-reduced-motion the final frame is drawn at once. Frames are computed from a cached final; nothing is recomputed at rest.

Effects07.2

Every primitive, rendered here, now.

One nature image, 320px working width, each effect timed on this machine. Effects are adjustable, reusable, non-destructive and config-driven; the playground exposes every parameter.

NASA · Landsat 7
Lena Delta
NASA Image and Video LibraryPublic domain
Config07.3

A recipe is a plain object.

The engine takes the config unchanged. Tokens resolve colours before the engine sees them, so the same object renders the same pixels in the browser, in a worker and in Node, where every derivative in this package was produced.

{
  "effect": "tritone-dither",
  "shadow": "#0B0C09",
  "midtone": "#758C3A",
  "highlight": "#F04A24",
  "matrix": "bayer8",
  "strength": 0.68,
  "grain": 0.08
}
Performance07.4

Fast enough to be invisible.

Node, single thread, ≤1200px working width, 60 art and nature originals:

recipenmean msminmax
archive6033876
paint406329168
national-park605215105
nous6036979
field-study20521699

Browser timings appear next to each effect above and in the transition readout. Working width is capped at 1600px; previews at 720px; results cached per image, recipe and size; OffscreenCanvas used for decode where available.

  • Cyberpunk glitching
  • VHS tracking
  • Random distortion
  • Continuous recompute at rest
  • Ordered, error-diffusion, halftone
  • Plate separation, registration
  • Edge extraction, grid sampling
  • Controlled, seeded distortion