You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[0.3] Воспроизводимый benchmark dashboard против Motion, GSAP и Anime.js #95
Для каждого compiler-сценария фиксировать отдельно:
build-plugin cost — build side, не browser bundle;
browser initial gzip/Brotli/raw;
browser reachable total с dynamic chunks;
фактический module graph и отсутствие/presence solver/parser;
synchronous call setup;
native Element.animate cost;
cold compile и warm/cache path для uncompiled runtime;
main-thread callbacks после запуска;
размер/число serialized linear() stops;
compiled/uncompiled browser-differential.
5 KB из #220 — consumer ceiling common-сценария, а не разрешение сравнивать compiled Lab Motion с полным competitor entry без одинаковой функциональной поверхности.
Controls
чистый WAAPI для compositor-сценариев;
пустой rAF loop для стоимости harness;
одинаковый линейный tween, когда физические модели несопоставимы;
одинаковый фактически serialized plan, когда сравнивается executor overhead;
no-compiler Lab Motion как контроль стоимости lowering.
Правила честности
вывод формулируется только для измеренного сценария;
«быстрее библиотек» без уточнения сценария запрещено;
lazy work учитывается или явно отделяется от synchronous start cost;
spring-модели разных библиотек не сравниваются как одинаковая траектория;
compiled common-case не сравнивается с full competitor bundle как общий рейтинг;
wall-time одной машины не является единственным CI-гейтом;
vendor-числа без собственного измерения помечаются отдельно;
собственный проигрыш публикуется наравне с выигрышем.
Поставка
JSON schema результата;
schema различает build-side, initial, lazy и total costs;
генерация Markdown/страницы без ручного копирования чисел;
методология рядом с каждым графиком;
команда локального воспроизведения;
артефакты trace/screencast для freeze-сценария;
compiler fixtures из packed tarball, а не source alias-only;
профиль измерения в существующем self-hosted de-04 pool: фиксированная среда, ограниченный параллелизм и baseline-only калибровка по PROFILE-01 активного плана;
PR-комментарий только при статистически значимом регрессе;
исторический ряд по release tags, а не по случайным локальным веткам.
Критерии приёмки
существующий результат 2026-07-09-dda628e проходит schema validation;
dashboard строится из результата без ручных чисел;
опубликованы все зарегистрированные результаты, включая каждый наблюдённый проигрыш или отсутствие преимущества; неуспешные controls/запуски и cold/warm пути сохранены;
новая версия участника не подменяется незаметно lockfile-диапазоном;
документация различает shipped size, consumer initial и reachable total;
Пользовательский результат
Потребитель видит проверяемые различия библиотек по конкретным сценариям и может воспроизвести результат, не доверяя маркетинговому утверждению.
Источник данных
Dashboard читает только машинно-сгенерированные результаты
bench/compare. Ручное редактирование чисел запрещено. Каждый результат содержит:lab-motion;Сценарная матрица
Стоимость старта
Runtime continuity
Ресурсы
Compiler / pay-for-use
После baseline #208 и эпика #220 матрица обязана различать:
nanoбез compiler;./animatefeat(animate): объединить N-keyframe tracks общим owner/lifecycle #205.Для каждого compiler-сценария фиксировать отдельно:
Element.animatecost;linear()stops;5 KB из #220 — consumer ceiling common-сценария, а не разрешение сравнивать compiled Lab Motion с полным competitor entry без одинаковой функциональной поверхности.
Controls
Правила честности
Поставка
Критерии приёмки
2026-07-09-dda628eпроходит schema validation;Не-цели
Связано: #98, #106, #195, #208, #220, #221, #222.