Experiments in light,
space and play.

3D, shaders, games and interactive pieces by Nir Peretz. Each one is its own little world.

app2026

Palette Router

A tiny single-page app with real URLs (/p/ff5e3a). Shows the spa flag: deep links load the app.

  • spa
  • history api
  • no build
shader2026

Shader Garden

Four fragment shaders on one fullscreen triangle. Raw WebGL2, no build step, no libraries.

  • webgl2
  • glsl
  • no build
3d2026

Particle Field

150k particles moved by curl noise in a vertex shader. Modern three.js, Vite and TypeScript.

  • three.js r186
  • glsl
  • vite
interactive2026

Threaded Mandelbrot

Web Workers render into one SharedArrayBuffer. Shows the crossOriginIsolated flag that threaded WASM also needs.

  • web workers
  • sharedarraybuffer
  • no build
shader2019

Let the Sunshine In

A sun built from custom GLSL, driven by the scroll wheel. TypeScript and three.js r104.

  • three.js r104
  • glsl
  • typescript