Some checks failed
1) Билборд (Магазин апгрейдов, ID=1906): текст и иконки отрисовывались зеркально из-за того что BILLBOARDMODE_ALL разворачивает FRONT-сторону plane так что мы видим back-side с зеркальным UV. mesh.scaling.x=-1 игнорируется billboardMode. Решение: отключить billboardMode, вместо него каждый кадр в onBeforeRenderObservable ставим mesh.rotation.y = atan2(dx,dz) + PI — front смотрит на камеру → UV рисуется правильно. 2) Autosave перезаписывал реальный проект пустой стартовой сценой при reload страницы (баг #1893, #1905 — оба перетёрты). Добавил sceneLoadingRef guard в doSave: пока sceneLoading=true, autosave запрещён. 3) Запрет публикации без обложки — фронт (alert + open Settings) и бэк (400 thumbnail_required если pd.thumbnail < 100 байт). 4) Scripting API: - шорткат: game.scene.spawn('billboard',...) вместо 'primitive:billboard' (применяется ко всем примитивам) - проброс template/face/content/elements в scene.spawn для билбордов - PrimitiveManager.updateInstance — поддержка billboardOpts patch'а 5) Тест-игра 'Магазин апгрейдов' ID=1906 — 4 shop-item билборда + banner + shop-purchase кнопка 'Сбросить апгрейды' + HUD рубликов. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>