Full documentation of Naoto's Algorithmic Artscapes interventions on ↗ this link.
//s0.initCam()
setResolution(1600,900)
src(o0).modulate(gradient().pixelate(()=>ch.pos*2,2).color(-1,1).brightness(-.5),.1).layer(
osc(30,()=>play?.1:.6,()=>ch.pos*2).modulate(noise(3),()=>ch.rate*.1).pixelate(9999,()=>ch.play?9999:8)
.mask(shape(2,.1,0).scrollY(-.5))).out()
ch={a:0,a0:0,speed:2,fire:0,rate:1,pos:0,play:0}
update=()=>{
t=time*ch.speed
ch.a=t%1;
index=Math.floor(t%8)
ch.rate=[1.2,0,0,1.2,0,0,1.2,3.6][index]
ch.pos=[0.01,0.2,0.11,0.77,0.01,0.11,0.22,0.33][index]+Math.floor((t%32)/8)/4*0.01
ch.play=[0,1,1,1,1,1,0,1][index]
if (ch.a0>ch.a) {
theChuck.setFloat("GRAIN_PLAY_RATE", ch.rate*2)
}
theChuck.setFloat("GRAIN_POSITION", (time*2)%1/139*ch.play+ch.pos)
theChuck.setFloat("GRAIN_POSITION_GOAL", (time*2)%1/139*ch.play+ch.pos+0.002)
ch.a0=ch.a}
Naoto Hieda (1990, Japan) is a full stack net artist.