caustics.js 175 Bytes
// voronoi(20).out()

var lfo = () =>
voronoi(Math.PI*1,1,0)
.pixelate(10,1)
shape(3).color(1,0,0).mult(lfo())
  .add(shape(4).color(0,0,1).mult(lfo().invert()),1)
  .out(o0)