Petrole.js 349 Bytes
s0.initImage("https://imagine.gsfc.nasa.gov/hst_bday/images/october-30-2019-star-cluster-ngc-290.jpg")

src(s0)
  .brightness(-0.3)
  .out(o0)

src(o0)
  .modulate(noise(7.7, 0.03).rotate(() => Math.sin(time/10)))
  .out(o1)

src(o1)
  .blend(src(o3).scale(1.005), 0.81)
  .out(o2)

src(o2)
  .blend(src(o2).scale(0.993), 0.8)
  .out(o3)

render(o3)