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
Пружины с одинаковой формой, но разной скоростью, используют один и тот же compiled shape artifact. Compiler/cache перестаёт повторно строить одинаковую нормализованную кривую для разных duration или scale-equivalent mass/stiffness/damping.
Raw authoring identity не должна ломать reuse, но cache key нельзя квантизовать эвристически: canonical doubles выводятся точными формулами и проходят collision-safe equality.
authoring params могут сохраняться для diagnostics, но execution shape имеет один SSOT;
compiler build-time и runtime compositor используют один canonicalization law;
MotionProgram/wire version обновляется явно, если shape identity входит в portable artifact.
GO / NO-GO
GO: существенный cold/cache/retention выигрыш, чистая модель и без повышения bundle gates.
NO-GO: если finite horizon/velocity contracts делают reuse редким или дополнительная canonicalization дороже; сохранить corpus/report, удалить experimental code.
Пользовательский результат
Пружины с одинаковой формой, но разной скоростью, используют один и тот же compiled shape artifact. Compiler/cache перестаёт повторно строить одинаковую нормализованную кривую для разных
durationили scale-equivalentmass/stiffness/damping.Математический закон
Для:
получаем:
Нормализованная форма зависит только от:
ω₀масштабирует время:Следовательно, при корректно безразмерном finite horizon один
easing/samplesartifact может обслуживать целое семейство duration.Проблема текущего cache key
Текущий generic cache identity использует raw:
Scale-equivalent triples и одинаковые
bounceпри разных duration получают разные entries, хотя shape совпадает.Целевая модель
Разделить:
Точные структуры выбираются по size/SSOT conventions; named interface не обязателен в hot tuple path.
Canonical shape key:
Raw authoring identity не должна ломать reuse, но cache key нельзя квантизовать эвристически: canonical doubles выводятся точными формулами и проходят collision-safe equality.
Зависимости
ω₀/ζ;Production implementation заблокирована до прояснения этих контрактов; до этого разрешены oracle, cache simulation и size/perf spike.
RED / доказательства
(m,k,c)дают один shape artifact и разные duration при необходимости.duration/bouncefamily с общим bounce даёт один shape entry.ν=v₀/ω₀: физически разныеv₀, но одинаковый normalized impulse, совпадают.ζ/ν/tolerance/horizon policyне collide.vphysical = ω₀ · dX/duс учётом value span.ν, wrong time scaling, cache collision, wrong velocity scaling, policy-version drift.Метрики
На representative token/app corpus измерить:
Минимальная acceptance — не synthetic one-key win, а заметное reuse на duration-token/stagger/app fixtures.
Архитектурные ограничения
GO / NO-GO
GO: существенный cold/cache/retention выигрыш, чистая модель и без повышения bundle gates.
NO-GO: если finite horizon/velocity contracts делают reuse редким или дополнительная canonicalization дороже; сохранить corpus/report, удалить experimental code.
Родитель: #225. Связано: #105, #218, #219, #220, #221, #223.