Миграция начинается с анализа исходного JSON, сформированного более ранними версиями Bodymovin. Старые экспортированные файлы часто содержат несовместимые или частично устаревшие конструкции, которые по-разному интерпретируются различными версиями Lottie Web.
Ключевые зоны проверки:
v) — в старых файлах
встречаются значения, не отражающие актуальную схему данных Lottie. Это
влияет на интерпретацию ключевых кадров и слоёв.layers) — возможны различия в
типах слоёв, особенно при наличии precomposition, image layers и shape
layers.transform могли сериализоваться иначе, включая
несовместимые поля anchor point и scale.Особое внимание уделяется структурам, которые в новых версиях интерпретируются иначе или вовсе игнорируются, что приводит к визуальным артефактам.
Одной из наиболее частых проблем миграции являются shape-слои, экспортированные из старых версий After Effects через Bodymovin.
В ранних версиях поддержка операций объединения фигур
(merge paths) была ограниченной. В новых версиях Lottie Web
логика этих операций стала строже и ближе к поведению After Effects.
Проблемные зоны:
mm (merge mode) параметровВ старых анимациях возможны некорректные параметры:
lineCap и lineJoinПри миграции важна проверка соответствия всех визуальных атрибутов актуальной спецификации Lottie.
Precomposition является наиболее чувствительной частью миграции.
Старые версии часто экспортировали precomp как:
В современных версиях Lottie Web поддержка вложенности стала более строгой:
Основная проблема миграции заключается в различиях интерпретации координатных систем: вложенные композиции могут менять поведение anchor point и scale относительно родительского слоя.
Старые анимации часто содержат несовместимые реализации масок.
Ранее поддержка масок была ограниченной и часто приводила к:
В современных версиях Lottie Web маски обрабатываются через унифицированный pipeline, однако старые структуры могут требовать нормализации.
Типичные проблемы:
При миграции требуется проверка соответствия индексации слоёв и их визуального порядка.
Ключевые кадры в старых JSON-файлах могут иметь структурные отличия.
Ранние версии использовали упрощённые методы интерполяции:
Современный Lottie Web поддерживает более точную модель easing, что может привести к изменению поведения анимации после миграции.
В старых анимациях hold-кадры могли кодироваться неявно, что приводило к:
Lottie Web поддерживает несколько режимов рендеринга:
Старые анимации часто были оптимизированы под SVG-рендерер, что создаёт проблемы при миграции на Canvas.
SVG-рендерер чувствителен к:
Старые JSON могут содержать конструкции, которые создают избыточные DOM-узлы в новых версиях.
Canvas-режим требует более строгой геометрической консистентности. Проблемы возникают при:
Старые проекты часто используют устаревшую систему ассетов.
Типичные проблемы:
В современных реализациях Lottie Web используется более строгая
модель загрузки ресурсов, где каждый asset должен быть явно определён в
JSON через assets массив и корректно разрешаться во время
инициализации.
Шрифты являются одной из наиболее нестабильных частей миграции.
Старые анимации часто:
В Lottie Web современные версии требуют явного описания font assets или замены текста на shape layers. При отсутствии корректной декларации возможны:
Основной источник проблем миграции — различия между версиями Bodymovin.
Характерные несовместимости:
Особенно критичны изменения в:
После переноса анимаций в актуальный формат Lottie Web требуется дополнительная нормализация производительности.
Основные зоны оптимизации:
Дополнительно анализируется время парсинга JSON, поскольку старые анимации часто содержат избыточные структуры, увеличивающие нагрузку при инициализации.
После миграции поведение анимаций может различаться в зависимости от устройства и рендерера.
Типичные эффекты:
Старые анимации, не учитывающие DPR (device pixel ratio), особенно подвержены визуальным расхождениям после перехода на новые версии Lottie Web.
Наиболее проблемные элементы, встречающиеся в legacy JSON:
Такие конструкции требуют либо упрощения в исходном проекте, либо ручной правки JSON после экспорта.
Lottie Web API также претерпевал изменения, влияющие на миграцию интеграций:
DOMLoaded, complete,
loopCompletesetSpeed и
goToAndPlaydestroy и повторной
инициализацииСтарые интеграции могут опираться на поведение, которое больше не является детерминированным в новых версиях.
Финальный этап связан с приведением всех анимаций к единообразной модели исполнения. Основное внимание сосредоточено на согласовании:
После нормализации структура JSON становится совместимой с актуальным Lottie Web без визуальных расхождений между платформами и режимами рендеринга.