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
Проверить отдельную аналитическую траекторию для быстрых no-overshoot UI-переходов: первая фаза быстро набирает скорость, затем в единственной вычисляемой точке переключается на критический хвост с непрерывными position, velocity и acceleration.
Это не замена spring и не автоматический default. Production API допускается только после математической, perceptual и size/perf приёмки.
Общая C² landing formula
Пусть в момент переключения состояние относительно цели:
y < 0 // ещё не достигли цели
v > 0
a // текущее ускорение
Критический хвост с частотой Ω:
ytail(s) = [y + (v+Ωy)s] exp(-Ωs)
Условие совпадения ускорения даёт:
Ω = (v + sqrt(v²-a y)) / (-y)
при допустимом discriminant/domain.
Инварианты:
ytail(0) = y
ytail'(0) = v
ytail''(0) = a
Кроме того:
v+Ωy = -sqrt(v²-a y) <= 0
что даёт основание исследовать монотонное приближение к цели без overshoot.
Специальная точка максимальной скорости
Если первая фаза — underdamped spring из покоя и switch делается при a=0, то:
y = -(2ζ/ω₀)v
Ω = ω₀/ζ
Получается очень дешёвый двухфазный закон без root search.
Исследовательский прототип при одинаковом исходном ω₀ показал более короткий time-to-0.1% относительно critical spring для части ζ domain, особенно при малом ζ. Это не perceptual evidence и не product claim.
Фундаментальное ограничение
Jerk в switch обычно разрывается. Для switch в max-velocity point:
jafter / jbefore = 1/ζ²
При малом ζ скачок может быть крупным. Нетривиальный переход между двумя постоянными second-order системами, одновременно сохраняющий position/velocity/acceleration/jerk, в общем случае переопределён: C³ требует либо той же системы, либо time-varying coefficients/bridge.
Нельзя называть C² «идеально гладким» без этого уточнения.
Варианты исследования
A. Exact C² two-phase
Минимальная аналитическая family выше.
B. Bounded C³ bridge
Короткий quintic/septic bridge между фазами с constraints на endpoint state и доказанным deviation/jerk budget. Допустим только если не превращает механизм в тяжёлый trajectory optimizer.
C. Time-varying pole schedule
Только offline/compiler path; нужна stability/monotonicity proof. Не вводить per-frame adaptive controller без сильного evidence.
Perceptual protocol
До публичного API провести blind comparison на matched conditions:
critical spring;
underdamped spring без overshoot через high damping;
cubic/minimum-jerk finite tween;
ballistic-critical A/B variants.
Сравнивать при одинаковых:
duration до declared tolerance;
initial acceleration/peak velocity либо clearly reported mismatch;
amplitude;
display refresh/device class.
Метрики: preference, perceived responsiveness, abruptness at switch, task-specific appropriateness. Не выводить универсальный «красивее» из robotics/control literature.
RED / математические доказательства
Symbolic C² endpoint identities.
Domain proof v²-a y >=0, monotonic/no-overshoot conditions.
Exact/ULP sampling vs piecewise reference.
Switch at max velocity formula Ω=ω₀/ζ.
Jerk ratio characterization и prohibited low-ζ domain при необходимости.
имеет ясно ограниченный use case, где blind study показывает преимущество;
аналитически стабильна и no-overshoot в declared domain;
API использует измеримые параметры, не semantic feel;
runtime/compiler cost ниже или сопоставим с существующими primitives;
не усложняет nano и не подменяет spring default.
NO-GO
Отсутствие perceptual преимущества, заметный jerk artifact или тяжёлая C³-компенсация — успешный NO-GO. Сохранить research note/oracles, удалить experimental production code.
Пользовательский результат
Проверить отдельную аналитическую траекторию для быстрых no-overshoot UI-переходов: первая фаза быстро набирает скорость, затем в единственной вычисляемой точке переключается на критический хвост с непрерывными position, velocity и acceleration.
Это не замена spring и не автоматический default. Production API допускается только после математической, perceptual и size/perf приёмки.
Общая C² landing formula
Пусть в момент переключения состояние относительно цели:
Критический хвост с частотой
Ω:Условие совпадения ускорения даёт:
при допустимом discriminant/domain.
Инварианты:
Кроме того:
что даёт основание исследовать монотонное приближение к цели без overshoot.
Специальная точка максимальной скорости
Если первая фаза — underdamped spring из покоя и switch делается при
a=0, то:Получается очень дешёвый двухфазный закон без root search.
Исследовательский прототип при одинаковом исходном
ω₀показал более короткий time-to-0.1% относительно critical spring для частиζdomain, особенно при маломζ. Это не perceptual evidence и не product claim.Фундаментальное ограничение
Jerk в switch обычно разрывается. Для switch в max-velocity point:
При малом
ζскачок может быть крупным. Нетривиальный переход между двумя постоянными second-order системами, одновременно сохраняющий position/velocity/acceleration/jerk, в общем случае переопределён: C³ требует либо той же системы, либо time-varying coefficients/bridge.Нельзя называть C² «идеально гладким» без этого уточнения.
Варианты исследования
A. Exact C² two-phase
Минимальная аналитическая family выше.
B. Bounded C³ bridge
Короткий quintic/septic bridge между фазами с constraints на endpoint state и доказанным deviation/jerk budget. Допустим только если не превращает механизм в тяжёлый trajectory optimizer.
C. Time-varying pole schedule
Только offline/compiler path; нужна stability/monotonicity proof. Не вводить per-frame adaptive controller без сильного evidence.
Perceptual protocol
До публичного API провести blind comparison на matched conditions:
Сравнивать при одинаковых:
Метрики: preference, perceived responsiveness, abruptness at switch, task-specific appropriateness. Не выводить универсальный «красивее» из robotics/control literature.
RED / математические доказательства
v²-a y >=0, monotonic/no-overshoot conditions.Ω=ω₀/ζ.GO
Новая family допустима только если:
NO-GO
Отсутствие perceptual преимущества, заметный jerk artifact или тяжёлая C³-компенсация — успешный NO-GO. Сохранить research note/oracles, удалить experimental production code.
Не входит
snappy/smooth/premiumв core.Родитель: #225. Связано: #219, #230, #95.