AfterglowCam.js 477 Bytes
s0.initCam(1)
src(s0)
  .scroll(0.12,-0.07)
  .scale(1.09, 0.7)
  // .pixelate(102, 200)
  .out(o0)

src(o0)
.saturate(() => 1 + 0.8 * Math.sin(time / 10))
.luma(() => 0.9 + 0.2 ( Math.sin(time / 100)))
.diff(src(o2)
    .scale(() => 0.95 + 0.1 * Math.sin(time / 2))
, 0.5) //() => Math.sin(time / 4))
.out(o1)

src(o1)
  .scale(1.00999)
  .thresh(() => 0.65 - 0.24 * Math.sin(time / 10))
  .out(o2)

src(o1)
.saturate(() => 2 + 2.5 * Math.cos(time / 20))
.out(o3)

render(o3)