feat(11): placement mode + ���� #23

Merged
min merged 2 commits from feat/placement-task11 into main 2026-06-02 17:24:20 +00:00
Owner

������ 11: placement/inventoryUi, ���� ��� ����� #58, ����� (voxel culling, guard ������, hotbar, ���������).

?? Generated with Claude Code

������ 11: placement/inventoryUi, ���� ��� ����� #58, ����� (voxel culling, guard ������, hotbar, ���������). ?? Generated with [Claude Code](https://claude.com/claude-code)
min added 1 commit 2026-06-02 16:09:19 +00:00
feat(11): placement mode — расстановка предметов (tycoon)
Some checks failed
CI / Lint (pull_request) Successful in 1m15s
CI / Build (pull_request) Successful in 1m58s
CI / Secret scan (pull_request) Failing after 9s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
ee1b7352b7
Движок: PlacementManager (тень-превью формой воксельной модели за курсором,
снап к сетке, стопка, проверка зоны и баланса, поворот R/колесо, ПКМ/Esc),
ShopInventoryUi (магазин-слоты, авто-серые при нехватке валюты); проводка
game.placement.* и game.inventoryUi.* в worker/GameRuntime/BabylonScene.

Попутные фиксы:
- TerrainManager: backFaceCulling=false — воксели не просвечивают (видна была
  задняя грань сквозь переднюю);
- KubikonEditor: guard от потери userModels/scripts при частичной загрузке
  (terrain догрузился, модели/скрипт нет → автосейв затирал) — критичный
  фикс защиты данных для ВСЕХ игр;
- Hotbar: пустой инвентарь не показывает панель (глобальное правило);
- MinimapOverlay: миникарта только по флагу игры (не авто на больших картах);
- cleanup usermodel-инстансов при Stop.

Вики: карточка #58 + статья-урок «Мой завод» (g5 Разбор готовых игр),
openProjectId=2345, скриншоты залиты на прод.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
min added 1 commit 2026-06-02 17:10:02 +00:00
fix(11): guard от потери userModels/scripts при автосейве
All checks were successful
CI / Lint (pull_request) Successful in 1m7s
CI / Build (pull_request) Successful in 2m3s
CI / Secret scan (pull_request) Successful in 2m35s
CI / PR size check (pull_request) Successful in 8s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
b2b545344a
При частичной загрузке сцены (terrain догрузился, модели/скрипты ещё
нет из-за таймаута) автосейв затирал scene нулями. Блокируем сейв если
ранее загружено >0 объектов, а сейчас 0 и пользователь не редактировал;
loadFailedRef в safety-timer блокирует автосейв при таймауте загрузки.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
min merged commit 153bba7c5b into main 2026-06-02 17:24:20 +00:00
min deleted branch feat/placement-task11 2026-06-02 17:24:21 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rublox/studio#23
No description provided.