All checks were successful
Этап 1 плана анимаций (ANIMATIONS_PLAN.md): CROUCH (Ctrl): - При зажатии Ctrl персонаж приседает, AABB → 0.45 - Скорость в crouch = 0.45×walk, crouch имеет приоритет над sprint - Анимации: crouch_enter (one-shot) → crouch_idle / crouch_walk - При вставании: crouch_to_stand (one-shot, если не движется) - Y-drop для разных Mixamo-клипов (crouch_idle: -0.45, walk: -0.25) - Anti-flicker debounce 120ms в MixamoAnimator FULLSCREEN + СТАРТ-ЭКРАН: - При запуске игры показывается оверлей "Нажми чтобы играть" - Клик → requestFullscreen() → Chrome блокирует Ctrl+W/D/T/R/S и др. - В fullscreen Esc отдаётся браузеру (выход), меню открывается на Tab - Без fullscreen — Esc открывает меню как обычно - BottomBar динамически показывает Esc/Tab в зависимости от режима СКИН ЮЗЕРА: - Приоритет: URL #skin=<id> → БД (rublox_equipped_skin) → localStorage → skin_y-bot - В Esc-меню "Участники" Mixamo-скины грузят PNG с /character-assets/skins/ MIXAMO ANIMATOR: - Полный класс с lazy-loading 35 состояний - AnimationGroup loop=true через onAnimationGroupEnd safety-net - crossFadeFrom для плавных переходов - Жёсткий stop всех не-current групп → нет фантомных анимаций