s0.initImage("///home/pln/Work/Hydra/img/aurores.jpeg")
s0.initImage("///home/pln/Work/Hydra/img/aurores.jpeg")

src(s0)
  .add(src(s0)
    .color(0.3,() => 0.6 + 0.2 * Math.sin(time/13),() => 0.6 + 0.4 * Math.sin(time / 3))
    .contrast(() => 1.7 + Math.sin(time / 20 + time / 13 + time / 7 + time / 93))
    .mask(shape(4,0.05,0.4).scale(2,32).scroll(0,0.26))
  )
  .scale(0.9,0.45)
  .scroll(0,0.05)
  .scale(1.13)
  .out(o0)

// Tableau 1: Camille sur son bateau
src(o0)
.blend(src(o0)
  // EFFET: DEGRADATION MOIREE
  // .diff(src(o1).scale(() => 0.99 + 0.1 * Math.sin(time / 1000)))
  // EFFET: Borealis
  .add(
    src(s0)
    )
    .modulate(
      osc(() => 15 + 4 * Math.sin(time/120),0.0).rotate(() => (time/10 % 360))
    ,1).modulatePixelate(s0).blend(o1,() => 0.99 + 0.1 * Math.sin(time/10))
  // , () => 0.4 + 0.2 * Math.sin(time/1993)
.mask(shape(4,0.05,0.2).scale(2,32).scroll(0,0.26))
)
.out(o1)

src(o2)
.modulateScale(src(o2).scale(0.9))
.out(o2)

src(o1)
// .add(src(o2).invert().thresh(0.9).invert(),1)
// ETOILES <3 <3 <3
.add(
  noise(100,0.1).thresh(0.9).scale(0.25).mask(shape(4,0.2,0.1).scale(1.4,3).scroll(0,0.25)))
// Cadre
.mask(shape(4,0.43,() => 0.02 + 0.02 * Math.sin(time / 1.3)).scale(2,0.51))
.out(o3)
render(o3)