function update({clouds, sun, sky, boxWidth: width, boxHeight: height, dT, deltaAngle, day, dLightness}) {
moveClouds({dT, clouds, boxWidth: width, boxHeight: height});
moveSun({dT, sun, boxWidth: width, boxHeight: height});
updateSky({sky, angle: sun.angle});
}
Почему функция называется createClouds, а возвращается только одно облака?
Зачем вы параметры boxWidth и boxHeight сохраняете в переменные width и height. А потом при вызове функций moveClouds и moveSun переменные width/height обратно записываете в boxWidth/boxHeight?
Зачем нужен этот код?
cloud = clouds[1];Переименуйте поле trajectory. Не нужно использовать транслит