From 22026f2f1d3f806f1925bf24982cdb2f4cfe0845 Mon Sep 17 00:00:00 2001 From: min Date: Wed, 17 Jun 2026 09:57:57 +0300 Subject: [PATCH 1/2] =?UTF-8?q?fix(vehicle):=20=D0=BC=D0=B0=D1=88=D0=B8?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B5=D0=B4=D0=B5=D1=82=20=D0=B2=D0=B8=D0=B4?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=20=E2=80=94=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B8=D1=82=D1=8C=20=D0=BA=D1=83=D0=B7=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B8=D0=B7=20LOD-freeze?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Регрессия: LOD-оптимизация (_updateModelLOD) замораживала worldMatrix далёких моделей. Кузов машины (modelManager-инстанс) под неё попадал, а после парентинга к chassisNode его root.position стала локальной (≈0,0,0) → LOD мерял дистанцию неверно и замораживал машину → меш переставал следовать за коллайдером (едешь на невидимой машине, видимая стоит). Фикс: помечаем кузов _spawnedAtRuntime=true (+_isVehicleBody) при спавне — LOD его не трогает (как зомби/динамику). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/editor/engine/VehicleManager.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/editor/engine/VehicleManager.js b/src/editor/engine/VehicleManager.js index aabbf04..696e3fd 100644 --- a/src/editor/engine/VehicleManager.js +++ b/src/editor/engine/VehicleManager.js @@ -76,6 +76,14 @@ export class VehicleManager { veh.bodyInstanceId = bodyId; const inst = this._models.instances.get(bodyId); if (inst && inst.rootMesh) { + // Кузов машины — динамический объект: им двигает VehicleManager + // (через парентинг к chassisNode). Исключаем из LOD-freeze, иначе + // freezeWorldMatrix замораживает меш и он перестаёт следовать за + // chassisNode → «едешь на невидимой машине, видимая стоит». + // (LOD меряет дистанцию по локальной root.position запарентенного + // кузова ≈0,0,0 — некорректно, и замораживает машину.) + inst._spawnedAtRuntime = true; + inst._isVehicleBody = true; // Габариты AABB + вертикальный offset кузова СЧИТАЕМ ДО парентинга // (в мировых координатах, кузов ещё в (x,y,z)). try { From b638842948ebb479073bd72489ea421a0b114e37 Mon Sep 17 00:00:00 2001 From: min Date: Wed, 17 Jun 2026 10:11:15 +0300 Subject: [PATCH 2/2] =?UTF-8?q?ci:=20rerun=20checks=20(secret-scan=20?= =?UTF-8?q?=D1=84=D0=BB=D0=B0=D0=BF=D0=BD=D1=83=D0=BB,=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit