3 Commits

Author SHA1 Message Date
min
94da0e1409 feat(skin): Mixamo-палитра 80 скинов + fallback на legacy R15
All checks were successful
CI / Lint (pull_request) Successful in 56s
CI / Build (pull_request) Successful in 1m38s
CI / Secret scan (pull_request) Successful in 25s
CI / PR size check (pull_request) Successful in 8s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Что:
- _resolveModelSource:
  * Mixamo (skin_y-bot/x-bot/eve/...) → /character-assets/skins/<id>.glb
    (с rublox-site, non-humanoid-rigged kind)
  * Legacy R15 (skin_bacon-hair, skin_sigma-labubu и др.) — сохранена
    старая ветка через manifest + /kubikon-assets/. Это нужно пока
    бэк storys работает в legacy-режиме (RUBLOX_NEW_SKINS_AVAILABLE != true).
- skinFolderRef.current default: skin_bacon-hair → skin_y-bot
- BabylonScene._playerModelType default + миграция character-* → skin_y-bot
- PlayerController._modelTypeId default → skin_y-bot
- MultiplayerSync: все дефолты → skin_y-bot

LOCAL DEV:
- На localhost плеер сначала пробует localStorage('rublox_selected_skin')
  (тот же ключ что в rublox-site), потом БД. Это позволяет тестить выбор
  скина в сайте без записи в прод-БД.

Зависит от:
- PR storys (новый бэк-резолв + feature-flag)
- PR user (endpoint /<id>/gender)
- Заливки 80 GLB на rublox.pro/character-assets/skins/ (отдельная инфра-задача)
2026-06-13 10:24:37 +03:00
min
ccf76d539b feat(player): графика/эффекты (фича-парность со студией) + realtime на game.rublox.pro
GraphicsManager (постобработка/материалы/API game.graphics) — паритет со студией,
применяется при загрузке игры если автор настроил. Новые материалы chrome/water/
iridescent. Realtime-эндпоинт переведён на game.rublox.pro (S1 NPM прямо, без
hop через S2 — чинит разрывы WebSocket). MultiplayerSync улучшен.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 01:29:00 +03:00
87444ee2c8 Initial public release: Rublox Player v1.0
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)
2026-05-27 23:04:04 +03:00