After backend CORS rollout users had stale CORS-failure cached for
Mixamo GLB. Adding a query suffix forces browsers to re-fetch the URL
instead of replaying the cached failure.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Этап 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 групп → нет фантомных анимаций
Open-source web player for Rublox games, dual-licensed under
AGPL-3.0 + Commercial.
Highlights:
- Babylon.js 7 + React 18 + Vite 5 stack
- Self-contained engine (~46k lines): BlockManager, ModelManager,
PlayerController, ScriptSandboxWorker, MultiplayerSync, 30+ GD
gamemodes
- Configurable backend via VITE_API_BASE and friends — works against
staging (dev-api.rublox.pro) out of the box
- Standalone mode (VITE_STANDALONE=true) loads a bundled sample game
for first-run without any backend
- Full docs: README, ARCHITECTURE, CONTRIBUTING, SECURITY, CHANGELOG
- Lint + format scaffolding (ESLint + Prettier + EditorConfig)
- Legal: LICENSE (AGPL-3.0), LICENSE-COMMERCIAL.md, CLA.md, COPYRIGHT.md
- Issue templates: bug_report, feature_request, security_disclosure
Removed before public release:
- frontend_deploy.py (contained production SSH credentials)
- ~27 admin endpoints (kept in private repo)
- Hard-coded internal URLs and IPs
- All previous git history (clean repo init)