← Все проекты
Проект / Rust

vyfor/animate: animate — библиотека анимаций для Rust с макросами

Добавляет плавные анимации в Rust-приложения с помощью декларативных атрибутов прямо в структурах.

Это лёгкая библиотека для создания анимаций в Rust-приложениях. Она использует макросы для минимизации шаблонного кода, поддерживает встроенные easing-функции и позволяет анимировать любые типы через реализацию трейта Lerp. Особенно удобна для интеграции с...

★ 28 Rust Форки 0 Issue 0 Оценка 6/10 Карточка проверена

Для кого это

Для разработчиков на Rust, создающих TUI-приложения с ratatui или другие проекты, где нужны плавные переходы значений.

Проблема / задача

Реализация анимаций в Rust часто требует ручного управления временем, интерполяции и обновления состояний — много шаблонного кода.

Как это работает

Вы добавляете атрибут [animate] к структуре и помечаете поля, которые нужно анимировать, с указанием длительности и easing-функций. Библиотека автоматически генерирует методы обновления, а вы вызываете animate::tick() в начале каждого кадра для синхронизации времени. Поддерживаются три режима анимации: однократная, циклическая и чередующаяся.

Что видно по README

Это лёгкая библиотека для создания анимаций в Rust-приложениях. Она использует макросы для минимизации шаблонного кода, поддерживает встроенные easing-функции и позволяет анимировать любые типы через реализацию трейта Lerp. Особенно удобна для интеграции с ratatui для терминальных интерфейсов.

Ключевые возможности

Декларативные анимации через атрибутыТри режима: once, cycle, alternateВстроенные easing-функции и поддержка кастомныхИнтеграция с ratatui (опционально)Нулевые зависимости по умолчанию

Технологии

RustProcedural Macrosratatui (опционально)Go

Темы и ключи

animateanimationcliframeworkguiinterpolationlerplibraryratatuirusttui

Интересный факт

Библиотека построена вокруг идеи, что рендер-цикл работает в одном потоке — многопоточность пока не поддерживается, что откровенно указано в disclaimer.

С чего начать

  • Добавьте крейт: cargo add animate
  • Поместите [animate] над структурой и отметьте поля атрибутами
  • Вызывайте animate::tick() в начале каждого кадра рендеринга

Оценка GitRadar

Удобство
7/10
Свежесть
8/10
Перспектива
6/10
Монетизация
4/10
Общая оценка
6/10

Вердикт GitRadar

Стоит пробовать, если вы разрабатываете TUI-приложение на Rust и хотите добавить интерактивности. Библиотека проста в освоении, но пока сыровата (версия 0.3.0, мало звёзд и активности).

Наблюдения по обновлениям

Проект жив, версия 0.3.0, но активность низкая (0 форков, 0 issues). README и документация полные.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/vyfor/animate
Официальный сайт
https://crates.io/crates/animate
Лицензия
MIT
Создан на GitHub
14 апреля 2026 г.
Последнее обновление репо
14 апреля 2026 г.
Последняя проверка GitRadar
14 апреля 2026 г.
Изученные файлы
README.md, Cargo.toml, animate-core/Cargo.toml, animate-macros/Cargo.toml, animate/Cargo.toml, animate/src/lib.rs

FAQ

Что это такое?

Библиотека для декларативного создания анимаций в Rust-коде через макросы.

Для кого подходит?

В первую очередь для разработчиков TUI-приложений с ratatui, но можно использовать и в других Rust-проектах.

Источники

Нужна помощь с vyfor/animate?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.