gmod-rs/crates/engine/src
Niko Marmeladkov 5380184dfe
Some checks are pending
CI / checks (push) Waiting to run
Замер коллизий по всей карте: мнимых стен в кирпичах нет
Три диагностики, чтобы перестать гадать по жалобам про «невидимые стены».

`probe_ramp_movement` — движение у рампы из точки пользователя
(`-2438 -966 48`): роняет игрока на опору, гоняет восемь сторон и на каждом
кадре сравнивает сдвиг с ожидаемым. Рывков нет, залипания есть, и виновник
найден: кирпич #829 по `y = -1024` с настоящими текстурами бетона и кирпича —
стена видна на кадре из этой точки. Фантомного выталкивания в точке нет.

`probe_phantom_walls_scan` — обход всей карты (11200 точек, 10824 свободных)
с шагом кадра 8 юнитов ищет кирпич, который отсекает шаг, находясь дальше
8 юнитов от тела, и отдельно — ложное «тело внутри, хотя по плоскостям
снаружи». Оба счётчика нулевые. Это объясняет, почему старый обход молчал:
его сетка покрывала только центр (x −1500..600, y −800..600), запад и юг
карты не проверялись вовсе.

`probe_collision_contents` — состав коллизии по данным BSP: 2118 кирпичей из
2203, и служебных среди них нет. 7 кирпичей `func_vehicleclip` (в Source режут
только машины) исключены владельцем, триггеры — тоже; ни TOOLSTRIGGER, ни
клипов в коллизии не осталось. Текстуры кирпичей читаются прямо из
`dbrushside.texinfo`, а не подбором по плоскостям.

Вывод: у «невидимых стен» вокруг рамп и стыков источник не в наборе кирпичей.
Нужен точный адрес места, где это чувствуется: отладочный слой из прошлого
коммита покажет, есть ли у мнимой стены рёбра кирпича вообще.

В docs/PARITY.md A9 дописаны все три замера и остаток вопроса.
2026-10-16 19:04:18 +03:00
..
camera.rs engine/render: M3 v0 — рендер мира BSP со скайбоксом 2026-10-12 00:06:26 +03:00
constraints.rs engine: констрейны — шар, шарнир, ползун, сварка, верёвка 2026-10-13 13:56:47 +03:00
entity.rs lua: мост к движку — Entity(), ents.* работают с живым миром 2026-10-13 12:57:01 +03:00
lib.rs Отладочный слой коллизий: видеть, из чего складывается стена 2026-10-16 18:52:33 +03:00
model.rs render: вода (SURF_WARP), area-скайбокс с правильным порядком глубины, лайтмапы диспов по UV 2026-10-12 08:28:28 +03:00
physics.rs Переписана коллизия тела с кирпичами: SAT вместо неверной глубины проникновения 2026-10-13 16:02:06 +03:00
player.rs Замер коллизий по всей карте: мнимых стен в кирпичах нет 2026-10-16 19:04:18 +03:00
world.rs Лайтмапа читалась со сдвигом строки: «+1» был повторной правкой 2026-10-16 17:49:13 +03:00