canvas(p => {
let color = texture2D(catTexture, [
p[0] + Math.pow(1 - p[1], 4) * 0.05 * Math.sin(100 * p[1]),
p[1] * p[1]
]);
color = mix(
mix(color, [0,0,0,1], 0.3 * smoothstep(0.6, 0.2, p[1])),
[ 1, 0.8 + 0.2 * Math.cos(200*p[0]), 1 - smoothstep(0.1, 0.5, p[1]), 1 ],
smoothstep(0.58, 0.52, p[1]) *
smoothstep(0.2, 0.5, color[0] - color[1] - color[2]))
return color;
})