Главная · Скиллы · remotion-to-hyperframes

remotion-to-hyperframesмиграция с Remotion на HyperFrames

heygen-com/hyperframes

Инструмент миграции кодовой базы Remotion в HyperFrames HTML. Активируется только при явном запросе переноса — не вмешивается в обычную работу с Remotion.

Установка

npx -y skills add heygen-com/hyperframes --skill remotion-to-hyperframes --agent claude-code

Remotion to HyperFrames

Перенос видеокомпозиций Remotion (React) в HyperFrames (HTML + GSAP). Большинство идиом Remotion имеют прямые эквиваленты в HyperFrames — перевод механически прост примерно для 80% типичных композиций.

Используйте этот навык ТОЛЬКО когда пользователь явно просит мигрировать из Remotion. Примеры запросов: «port my Remotion project to HyperFrames», «convert this Remotion code», «migrate from Remotion».

Когда НЕ использовать

  • Создание новой HyperFrames-композиции (даже вдохновлённой Remotion-видео).
  • Remotion упомянут вскользь без запроса на миграцию.
  • Пользователь делится кодом Remotion как справочным материалом, не прося перевод.

Не поддерживается (откажитесь):

  • Обратное направление. Экспорт HyperFrames → Remotion или другие фреймворки — не поддерживается.
  • Не-Remotion источники. After Effects (.aep), Framer Motion, plain React/CSS — пересоздайте через /general-video.

Рабочий процесс

Шаг 1: Линтинг источника

Запустите scripts/lint_source.py над директорией Remotion-источника. Линтер обнаруживает паттерны, которые не переводятся корректно:

  • Блокеры (отказ + рекомендация interop): useState, useReducer, useEffect/useLayoutEffect с непустыми зависимостями, async calculateMetadata, сторонние React UI-библиотеки (MUI, Chakra, shadcn, Radix и т.д.).
  • Предупреждения (перевести после удаления конструкта): конфиг @remotion/lambda, delayRender, useCallback, useMemo, кастомные хуки.
  • Информация (перевести с примечанием): staticFile, interpolateColors.

При срабатывании блокера — остановитесь. Прочитайте references/escape-hatch.md и предложите runtime interop паттерн.

Шаг 2: Планирование перевода

Прочитайте references/api-map.md — индекс каждого Remotion API и его HF-эквивалента. Загружайте только нужные справочники:

Источник содержитСправочник
Composition, calculateMetadataparameters.md
Sequence, Series, Loop, AbsoluteFillsequencing.md
useCurrentFrame, interpolate, springtiming.md
Audio, Video, Img, IFramemedia.md
TransitionSeries, @remotion/transitionstransitions.md
@remotion/google-fonts, Font.loadFontfonts.md

Шаг 3: Генерация HF-композиции

Создайте index.html с:

  • Корневым <div id="stage"> с атрибутами data-composition-id, data-start="0", data-duration, data-fps, data-width, data-height.
  • Плоским списком scene div с data-start / data-duration / data-track-index.
  • Инлайн <style> для раскладки; CSS устанавливает начальное состояние каждого анимированного свойства.
  • Одним тегом <script> с паузированным gsap.timeline({paused: true}). Каждый useCurrentFrame() становится tween на этом timeline.
  • Регистрацией: window.__timelines["<composition-id>"] = tl;

Шаг 4: Валидация

# Рендер Remotion-baseline
cd remotion-src && npx remotion render <CompositionId> out/baseline.mp4

# Рендер HF-перевода
cd ../hf-src && npx hyperframes render --skill=remotion-to-hyperframes --output ../hf.mp4

# SSIM diff
../../scripts/render_diff.sh ./remotion-src/out/baseline.mp4 ./hf.mp4 ./diff

Порог: ~0.02 ниже p05 уровня сложности источника. Критично: оба рендера должны использовать одинаковый формат пикселей — установите Config.setVideoImageFormat("png") + Config.setColorSpace("bt709") в remotion.config.ts.

Шаг 5: Документирование пробелов

Всё, что не перевелось корректно (опущенные volume ramps, приблизительные переходы, заменённые шрифты), фиксируется в TRANSLATION_NOTES.md рядом с HF-выводом.

Валидированные результаты тестового корпуса

УровеньФорма композицииMean SSIMПорог
T1одноэлементный fade-in0.9740.95
T2мульти-сцена + spring + audio + image0.9850.95
T3data-driven, кастомные компоненты, count-up0.9530.90
T4escape-hatch (8 lint-случаев)8/8 passн/д

Из того же репозитория

hyperframesвидео в HTML без редактора таймлайна
heygen-com/hyperframes
Создание видеоконтента в HTML с GSAP таймлайнами. Полный воркфлоу: композиции, анимации, аудио-синхронизация и финальный рендер без видеоредактора.
23.3k80.7k установок
hyperframes-cliCLI для HyperFrames видео
heygen-com/hyperframes
Полный dev-цикл для HyperFrames: init с 9 стартовыми шаблонами, lint для ошибок композиций, inspect и финальный рендер видеопроектов.
23.3k76.6k установок
gsapGSAP для HyperFrames
heygen-com/hyperframes
Справочник GSAP специально для HyperFrames: методы tweening (to/from/fromTo), последовательности таймлайна и эффекты специально для видеокомпозиций.
23.3k76.3k установок
hyperframes-registryреестр компонентов HyperFrames
heygen-com/hyperframes
Управляет командой hyperframes add: установка blocks и компонентов из реестра, подключение к композициям. Blocks получают data-block атрибуты для анимации.
23.3k74.1k установок
website-to-hyperframesсайт в HyperFrames видео
heygen-com/hyperframes
7-шаговый пайплайн: захват сайта → извлечение бренда → нарратив → HyperFrames проект. Превращает любой URL в полный видеопроект автоматически.
23.3k74.1k установок
css-animationsCSS анимации для HyperFrames
heygen-com/hyperframes
Адаптер CSS keyframe анимаций для детерминированного seeking в HyperFrames. Синхронизирует анимации с таймлайном вместо wall-clock времени.
23.3k56.5k установок