(0, Math.PI*2);
          const dist = s*rand(0.05,0.22);
          const px = x + Math.cos(ang)*dist;
          const py = y + Math.sin(ang)*dist;
          addPuff({x:px, y:py, r: s*rand(0.45,0.7), a: baseAlpha*rand(0.8,1), type:'circle', vx: state.wind/60*DPR*rand(0.9,1.3), wob: rand(0.2,0.8), phase: rand(0,Math.PI*2)});
        }
      } else if (state.shape === 'cumulus') {
        addPuff({x, y: y, r: s*0.7, a: baseAlpha, type:'circle', vx: state.wind/60*DPR, wob: rand(0.2,0.6), phase: rand(0,Math.PI*