Две полки в одном месте. На первой — анимации, которые считаются здесь же из периодических функций и замыкаются ровно на обороте фазы. На второй — свободные лупы, собранные с Викисклада: сервер обходит его каталоги, забирает файлы с открытыми лицензиями и хранит их рядом с атрибуцией.
Считаются из формулы: цвет пикселя зависит от координат и фазы, фаза пробегает полный оборот — последний кадр совпадает с первым до пикселя.
Свободные анимации с Викисклада. Сервер периодически опрашивает его открытый API, отбирает файлы под лицензиями CC и общественного достояния, скачивает и раздаёт вместе с указанием автора и лицензии — как того требуют условия.
Ни камеры, ни редактора: каждый кадр — результат вычисления. Поэтому луп замыкается идеально, а исходник занимает несколько строк кода.
Палитра подбирается под каждую анимацию отдельно и квантуется так, чтобы на плавных градиентах не проступали полосы.
Обход каталогов, фильтр по лицензии и размеру, вежливая пауза между запросами. Берём только то, что разрешено брать.
У каждого найденного файла указан автор, лицензия и ссылка на страницу источника. Без этого свободные лицензии использовать нельзя.
Почему картинки приходят не с того домена, что страница.
Страница весит единицы килобайт, медиа — десятки мегабайт. На одном хосте текст ждал бы очереди за картинками.
Файлы отдаются сетью доставки с ближайшей точки присутствия, а не тянутся через полстраны с единственного сервера.
Пополнение архива — это запросы к Викискладу и загрузка файлов оттуда. Обычная работа агрегатора, идущая по расписанию.