Анимированное дерево Пифагора

Данный код визуализирует фрактал "Дерево Пифагора".

Под canvas находятся две панели управления с ползунками: первая для основных параметров (глубина рекурсии, угол ветвей и коэффициент уменьшения), вторая для визуальных параметров (толщина ствола, скорость анимации и цветовой сдвиг). акже есть кнопки для запуска/остановки плавной анимации (параметры дерева плавно меняются), случайной генерации параметров и сброса к начальным значениям.

JavaScript код реализует рекурсивную функцию для отрисовки дерева, где каждая ветвь порождает две дочерние ветви под заданным углом. Цвет ветвей меняется по HSL-модели (HSL — это цветовая модель, где цвет создаётся с помощью трех составляющих: тона, насыщенности и яркости) в зависимости от глубины. Анимация плавно изменяет параметры с помощью тригонометрических функций.

Направление: