GSDevTools — это расширение к библиотеке GSAP, позволяющее визуально управлять анимациями, отслеживать их прогресс и изменять параметры в реальном времени. Основная цель GSDevTools — ускорение процесса разработки анимаций, облегчение отладки и точная настройка таймингов.
Для использования GSDevTools необходимо подключить библиотеку GSAP и сам GSDevTools. Это можно сделать через CDN или локально:
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/GSDevTools.min.js"></script>
После подключения GSDevTools становится доступным глобально через
объект GSDevTools.
Чтобы активировать интерфейс визуального контроля, достаточно вызвать
метод create():
GSDevTools.create();
По умолчанию GSDevTools отображает все существующие анимации, созданные с помощью GSAP. Для удобства можно указать конкретный таймлайн или анимацию:
const tl = gsap.timeline();
tl.to(".box", {x: 300, duration: 2})
.to(".box", {y: 200, duration: 1});
GSDevTools.create({animation: tl});
1. Список анимаций: отображает все активные анимации на странице. Можно быстро выбрать нужную анимацию для редактирования.
2. Таймлайн: визуальное представление всей последовательности анимаций с возможностью перемещения, паузы и изменения времени.
3. Панель параметров: позволяет изменять ключевые
свойства анимаций, такие как duration, ease,
repeat и другие, в реальном времени.
4. Контролы воспроизведения: кнопки для паузы, запуска, перемотки и пошагового продвижения анимаций.
GSDevTools полностью совместим с gsap.timeline(). Каждое
действие в таймлайне можно наблюдать в интерфейсе:
const timeline = gsap.timeline({repeat: -1, yoyo: true});
timeline.to(".circle", {x: 200, duration: 2, ease: "power2.inOut"})
.to(".circle", {y: 150, duration: 1, rotation: 360});
GSDevTools.create({animation: timeline});
В интерфейсе можно изменять длительность отдельных сегментов, перемещать их по таймлайну и сразу видеть результат.
GSDevTools позволяет изменять параметры анимаций без изменения кода:
tl.to(".square", {x: 400, duration: 3, ease: "bounce.out"});
GSDevTools.create({animation: tl, show: true});
Все изменения сразу применяются к анимации, что значительно ускоряет настройку визуальных эффектов.
GSDevTools поддерживает множество опций при создании:
animation — конкретная анимация или
таймлайн для отображения.toggleVisibility — возможность скрыть
или показать интерфейс.autoplay — автозапуск при
создании.show — видимость панели по
умолчанию.maximized — развернутое состояние
интерфейса при старте.Пример с настройкой панели:
GSDevTools.create({
animation: timeline,
show: true,
toggleVisibility: true,
maximized: false
});
GSDevTools предоставляет возможность наблюдать анимации в реальном времени, что облегчает:
delay и
stagger.Для комплексных анимационных проектов GSDevTools становится незаменимым инструментом визуальной отладки.
GSDevTools полностью совместим с большинством плагинов GSAP:
gsap.registerPlugin(ScrollTrigger, GSDevTools);
const tl = gsap.timeline({
scrollTrigger: {
trigger: ".container",
start: "top center",
end: "bottom top",
scrub: true
}
});
tl.to(".box", {x: 500});
GSDevTools.create({animation: tl});
Интерфейс позволяет наглядно видеть весь процесс анимации и моментально вносить коррективы.
GSDevTools превращает работу с GSAP из текстового кода в визуальный интерактивный процесс, делая управление сложными анимациями быстрым, точным и удобным.