All checks were successful
Синхронизация с rublox-player (Этап 1 ANIMATIONS_PLAN.md): MIXAMO: - Добавлен MixamoAnimator.js (полная копия из плеера) - В PlayerController список MIXAMO_SKINS (78 шт) - _resolveModelSource ветка для skin_* — грузит GLB с /character-assets/skins/ - _loadPlayerModel создаёт MixamoAnimator для Mixamo-скинов CROUCH (Ctrl): - AABB → 0.45, скорость 0.45×walk, приоритет над sprint - Анимации: crouch_enter → crouch_idle / crouch_walk → crouch_to_stand - Y-drop по 0.20-0.45м для разных Mixamo-клипов - Анти-флик debounce + детект one-shot vs loopable PREVIEW PLAYER: - Skin приоритет: URL #skin= → БД → localStorage → дефолт - Дефолт skin_bacon-hair → skin_y-bot ENTERPLAYMODE: - BabylonScene при Play читает hash/localStorage и подставляет user skin поверх projectModelType (тест-режим = играешь СВОИМ скином) KUBIKONEDITOR: - handlePlay async: предзагрузка скина из БД (если нет в URL) и инжект в hash - При Play: requestFullscreen() — блокирует Ctrl+W/D/T/R/S/A/P/F и др. - Во время Play: window keydown listener блокирует системные хоткеи, WASD проходят к PlayerController (для crouch+движение)