100 Commits

Author SHA1 Message Date
4144fb47cc Merge branch 'main' into user7278-loadingscreen
All checks were successful
CI / Lint (pull_request) Successful in 55s
CI / Build (pull_request) Successful in 1m32s
CI / Secret scan (pull_request) Successful in 20s
CI / PR size check (pull_request) Successful in 5s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
2026-06-07 18:45:47 +00:00
min
3330715781 Merge pull request 'fix(player): .env.production � git � CI ������� ��� VITE_API_BASE (����� ������� �� /app)' (#23) from fix/env-production-ci into main
All checks were successful
CI / Lint (push) Successful in 56s
CI / Build (push) Successful in 1m32s
CI / Secret scan (push) Successful in 24s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 3m0s
2026-06-07 15:49:11 +00:00
min
f4a1feb41d merge main into fix/env-production-ci
All checks were successful
CI / Lint (pull_request) Successful in 1m4s
CI / Build (pull_request) Successful in 1m33s
CI / Secret scan (pull_request) Successful in 20s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
2026-06-07 18:45:39 +03:00
min
71f9d4dd11 fix(player): закоммитить .env.production — CI собирал плеер без VITE_API_BASE
All checks were successful
CI / Lint (pull_request) Successful in 56s
CI / Build (pull_request) Successful in 1m31s
CI / Secret scan (pull_request) Successful in 20s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Корень инцидента 2026-06-07: .env.production был в .gitignore → CI-сборка
без VITE_API_BASE → API base падал на window.location.origin (rublox.pro)
вместо minecraftia-school.ru. redeem-ticket уходил на rublox.pro/api-user
(нет такого) → плеер не получал JWT → выбивал на /app через секунду.
Файл содержит только публичные URL, секретов нет.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 18:41:27 +03:00
min
84fd2d996e Merge pull request 'ci: redeploy player (deploy S2)' (#21) from ci/redeploy-player into main
All checks were successful
CI / Lint (push) Successful in 54s
CI / Build (push) Successful in 1m31s
CI / Secret scan (push) Successful in 20s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 2m57s
2026-06-07 15:11:36 +00:00
min
5a6a222c78 ci: redeploy player (deploy-key + build perms S2)
All checks were successful
CI / Lint (pull_request) Successful in 56s
CI / Build (pull_request) Successful in 1m31s
CI / Secret scan (pull_request) Successful in 20s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 18:06:49 +03:00
min
66d74b823f ������ 14/16/20/40/44: vehicle, ����, ����������, floaters, ��������� (#20)
Some checks failed
CI / Lint (push) Successful in 56s
CI / Build (push) Successful in 1m30s
CI / Secret scan (push) Successful in 51s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Failing after 2m33s
2026-06-07 14:09:57 +00:00
min
2847136819 ci: re-run (secret-scan упал на flaky GitHub 504 при install trufflehog)
All checks were successful
CI / Lint (pull_request) Successful in 54s
CI / Build (pull_request) Successful in 1m36s
CI / Secret scan (pull_request) Successful in 23s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 17:01:37 +03:00
min
270478b133 merge main into feat/vehicle-task14 (sync для мержа PR)
Some checks failed
CI / Lint (pull_request) Successful in 55s
CI / Build (pull_request) Successful in 1m33s
CI / Secret scan (pull_request) Failing after 18s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
2026-06-07 16:55:33 +03:00
min
fed48dd701 fix(player): убрать self-assign text=text в FloaterManager (lint error, блокировал CI)
All checks were successful
CI / Lint (pull_request) Successful in 56s
CI / Build (pull_request) Successful in 1m33s
CI / Secret scan (pull_request) Successful in 27s
CI / PR size check (pull_request) Successful in 8s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 16:48:19 +03:00
min
4364af6e4e ci: проверка после фикса раннера
Some checks failed
CI / Lint (pull_request) Failing after 59s
CI / Build (pull_request) Successful in 1m30s
CI / Secret scan (pull_request) Successful in 20s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 16:42:18 +03:00
min
f452e3794e ci: перезапуск после фикса раннера
Some checks failed
CI / Lint (pull_request) Failing after 38s
CI / Build (pull_request) Failing after 42s
CI / Secret scan (pull_request) Failing after 39s
CI / PR size check (pull_request) Failing after 29s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 15:28:07 +03:00
min
37d1acbba1 fix(player): порт — self.delete снимает interact-подсказку
Some checks failed
CI / Lint (pull_request) Failing after 35s
CI / Build (pull_request) Failing after 29s
CI / Secret scan (pull_request) Failing after 32s
CI / PR size check (pull_request) Failing after 33s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 14:59:26 +03:00
min
5f789764a6 fix(player): порт — инвентарь hotbar-first + поднят над подсказкой
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 14:51:28 +03:00
min
4cc33daa1a feat(player): порт задачи 44 — drag-drop инвентарь
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 14:45:26 +03:00
min
d36059e5ce fix(player): порт — бластер от 3-го лица стреляет в точку клика
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 14:01:15 +03:00
min
909af7a5d8 fix(player): порт — NPC pickable+npcId для попаданий оружия (авто-floater)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 13:49:07 +03:00
min
08143b837c feat(player): порт — авто-floater над мобами + урон NPC от оружия (задача 40 доп)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 13:41:45 +03:00
min
8f229e2cfb feat(player): порт задачи 40 — damage floaters (game.fx.damageFloater)
FloaterManager + fx.damageFloater API/обработчик. Прогон 2676: стек -25×10,
мана -50, 0 ошибок.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 11:05:28 +03:00
min
3eee24ff48 fix(player): mainMenu.show подхватывает opts.onPlay/onShow/onHide (кнопка ИГРАТЬ не запускала игру)
show() игнорировал колбэки из опций — onPlay из mainMenu.show({onPlay}) не
регистрировался, кнопка ИГРАТЬ ничего не делала. Теперь опции-колбэки пушатся
в _onPlay/_onShow/_onHide.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 12:17:42 +03:00
min
d08497ef3b fix(player): scene.setLabel — import LabelManager вместо require (require крашит в браузере)
ReferenceError: require is not defined при game.self.setLabel/scene.setLabel
в плеере. Заменён require('./LabelManager') на статический import (как в студии).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 11:56:34 +03:00
min
b87d1e2525 feat(player): порт задачи 20 — лидерборды + достижения
LeaderstatsManager + AchievementsManager скопированы в плеер, интегрированы
в BabylonScene/worker/GameRuntime (те же точки, что в студии): HUD-таблица,
toast, кубок+страница, bindToStat, сохранение прогресса в БД (savegame, JWT),
мост onChange→worker. Прогон 2616 в плеере: таблица в DOM, 0 ошибок. Полная
фича-парность задачи 20.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 10:48:05 +03:00
min
192e721ba2 fix(player): SkyboxManager.hexToRgb короткий хекс #fff (порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 09:49:02 +03:00
min
88f4307308 fix(player): порт — анимация атаки NPC (setAttacking, R15 attack), scene.setVisible по ref
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 20:26:26 +03:00
min
53f9f3be00 fix(player): тени normalBias 0.02 (порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 20:12:54 +03:00
min
0417d60bdd fix(player): NPC анимация ходьбы + короткие тени (порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 19:47:29 +03:00
min
624bb2a05f fix(player): game.self.setLabel/clearLabel (порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 19:27:13 +03:00
min
b6397a3ad0 fix(player): scene.setColor по ref + scene.setScale (порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 19:13:05 +03:00
min
e4125e6488 fix(player): folderId в serialize/load (парность со студией)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 19:00:38 +03:00
min
fe7e402ebc fix(player): canCollide в metadata примитива (камера не цепляется за зоны, порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 18:49:18 +03:00
min
ffc5341922 fix(player): csm.frustumEdgeFalloff=8 (затухание длинной тени, порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 18:19:05 +03:00
min
fd1d6c7fdb fix(player): game.self.setColor (порт)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 09:31:49 +03:00
min
8cc608ca2a fix(player): game.self.setVisible/setCollide (порт для китов Вики)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 07:41:25 +03:00
min
c3260e0395 fix(player): спавн в 0,0 если точка спавна удалена (порт)
spawnEnabled из project_data; при false игрок появляется в (0, поверхность+2, 0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 02:21:38 +03:00
min
6c05c5631d fix(player): game.self.rotate (порт) — фича-парность с студией
self.rotate(ry)/rotateY шлёт scene.rotate с ref носителя (обработчик
scene.rotate в плеере уже был). Иначе вращающиеся объекты падали бы в плеере.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 02:05:17 +03:00
min
a22832628f fix(player): единая система неба — убрать второе солнце (порт)
Фича-парность: Environment не рисует жёлтую сферу/луну (флаг _drawSkyBodies),
SkyboxManager — единый источник неба и света (lights в конструкторе). Порт
правок студии 1:1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 00:44:25 +03:00
min
151b95f395 feat(player): задача 16 — порт кастомного неба (SkyboxManager)
Фича-парность со студией: SkyboxManager (gradient-купол + горы + облака +
туман + звёзды + пресеты + fadeTo), game-API scene.setSkybox/setClouds/setFog
+ skybox.fadeTo/setSunDirection, сериализация неба, tick облаков/перехода.

Проверено на тест-игре 2541 «Небесная демка» в локальном плеере — небо,
кнопки пресетов и облачность работают.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 00:30:25 +03:00
5d1f515f42 доделал
All checks were successful
CI / Lint (pull_request) Successful in 59s
CI / Build (pull_request) Successful in 1m36s
CI / Secret scan (pull_request) Successful in 2m29s
CI / PR size check (pull_request) Successful in 9s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
2026-06-03 09:30:11 +00:00
147a7588d9 Merge branch 'main' into user7278-loadingscreen
All checks were successful
CI / Lint (pull_request) Successful in 1m16s
CI / Build (pull_request) Successful in 1m39s
CI / Secret scan (pull_request) Successful in 2m31s
CI / PR size check (pull_request) Successful in 7s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
2026-06-03 07:35:34 +00:00
min
24b6360266 feat(14): Vehicle System V1+V2 � ���� � ����� (#19)
All checks were successful
CI / Lint (push) Successful in 59s
CI / Build (push) Successful in 1m36s
CI / Secret scan (push) Successful in 2m31s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 2m25s
2026-06-02 23:37:41 +00:00
min
eb6430182b feat(14): Vehicle System V1+V2 — порт в плеер
All checks were successful
CI / Lint (pull_request) Successful in 57s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
CI / Build (pull_request) Successful in 1m34s
CI / Secret scan (pull_request) Successful in 2m30s
CI / PR size check (pull_request) Successful in 7s
Фича-парность со студией (задача 14):
- VehicleManager + VehicleHud (спидометр-стрелка) идентичны студийным.
- game.scene.spawn('vehicle:car'), onVehicleEnter/Exit, hold-F/E, камера follow/V.
- Звук мотора (рокот+LFO), оседание машины на землю (_settle+повторы),
  скрытие водителя, респавн при падении, shadow-caster фильтр (фикс FPS).
- incrementPlay(id, userId) — передаём user_id для cooldown.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 02:25:15 +03:00
min
4ca8cdd9bd Merge pull request 'feat(13): ������� ���� ���� (game.mainMenu)' (#18) from feat/main-menu-task13 into main
All checks were successful
CI / Lint (push) Successful in 59s
CI / Build (push) Successful in 1m35s
CI / Secret scan (push) Successful in 2m31s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 2m9s
2026-06-02 21:21:53 +00:00
min
b2cff903ba feat(13): главное меню игры (game.mainMenu) — порт в плеер
All checks were successful
CI / Lint (pull_request) Successful in 59s
CI / Build (pull_request) Successful in 1m37s
CI / Secret scan (pull_request) Successful in 2m30s
CI / PR size check (pull_request) Successful in 7s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Фича-парность со студией: namespace game.mainMenu (show/hide/setCamera/
setPatchNotes/колбэки) + зацикливание облёта через onCutsceneDone +
game.player.setInputBlocked в worker + handler в runtime + passthrough
scene.mainMenu в load. Проверено: меню работает в плеере на игре 2434.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 00:07:47 +03:00
min
dd7688c4d7 Merge pull request 'feat(12): ������������� Loading Screen (game.loading)' (#17) from feat/loading-screen-task12 into main
All checks were successful
CI / Lint (push) Successful in 58s
CI / Build (push) Successful in 1m37s
CI / Secret scan (push) Successful in 2m29s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 2m9s
2026-06-02 20:10:51 +00:00
min
302db5e1f4 feat(12): внутриигровой Loading Screen (game.loading) — порт в плеер
All checks were successful
CI / Lint (pull_request) Successful in 58s
CI / Build (pull_request) Successful in 1m36s
CI / Secret scan (pull_request) Successful in 2m40s
CI / PR size check (pull_request) Successful in 7s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Фича-парность со студией: LoadingScreenOverlay.js (DOM-оверлей),
namespace game.loading в worker (хэндл local→real + колбэки через
globalEvent), cmd loading.* + _ensureLoadingScreen в GameRuntime,
class-ref + tick + load конфига в BabylonScene. Проверено: экран
загрузки работает в плеере на тест-игре «Такси-босс» 2427.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 22:00:42 +03:00
min
f420501481 ci: redeploy player на S1 (фикс прав www-data→min на build/)
All checks were successful
CI / Lint (push) Successful in 55s
CI / Build (push) Successful in 1m32s
CI / Secret scan (push) Successful in 2m52s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 1m53s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 21:03:47 +03:00
min
9e3bc60a76 ci: verify-шаг не валится на недоступном root-мусоре в build/wiki
All checks were successful
CI / Lint (push) Successful in 55s
CI / Build (push) Successful in 1m33s
CI / Secret scan (push) Successful in 2m29s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 1m52s
du -sh натыкался на systemd-private-* в build/wiki/tmp (Permission
denied) → exit 1 → deploy failure, хотя rsync долетел. Теперь verify
проверяет наличие index.html, а du неблокирующий (2>/dev/null||true).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 20:43:12 +03:00
min
61ac40ab61 Merge pull request 'feat(11): placement mode � ����������� ��������� (tycoon)' (#15) from feat/placement-task11 into main
All checks were successful
CI / Lint (push) Successful in 59s
CI / Build (push) Successful in 1m33s
CI / Secret scan (push) Successful in 2m27s
CI / PR size check (push) Has been skipped
CI / Deploy to S1 + S2 (push) Successful in 1m55s
2026-06-02 17:24:22 +00:00
min
91af8514c5 fix(11): порт game.format в worker плеера (money/number/time)
All checks were successful
CI / Lint (pull_request) Successful in 55s
CI / Build (pull_request) Successful in 1m29s
CI / Secret scan (pull_request) Successful in 2m30s
CI / PR size check (pull_request) Successful in 6s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Скрипт «Мой завод» (id 2345) падал в плеере на game.format.money —
неймспейс был только в worker студии. Из-за краха в синхронной части
не доходило до inventoryUi.create/placement → инвентарь не показывался.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 20:09:27 +03:00
7a183a192a .
All checks were successful
CI / Lint (pull_request) Successful in 55s
CI / Build (pull_request) Successful in 1m30s
CI / Secret scan (pull_request) Successful in 2m29s
CI / PR size check (pull_request) Successful in 7s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
2026-06-02 16:24:38 +00:00