Commit graph

3 commits

Author SHA1 Message Date
537bb4238f engine/client: коллизия с брашами и displacement'ами, фикс AABB игрока
- AABB игрока: ступни на position.z (было — центр), фикс проекций на нормали
  (учёт знака компонент) — игрок больше не проваливается сквозь пол
- коллизия displacement'ов: SAT AABB-треугольник (13 осей, минимальный сдвиг
  для тонких поверхностей) + пространственная сетка 128 юнитов
- ориентация сетки displacement'ов: стартовый угол по startPosition, далее по
  порядку обхода грани (VBSP AdjustSurfPointData); индексы a*side+b; проверено
  на gm_construct — 332 совпадающих ребра соседних displacement'ов
- нормали displacement'ов наружу (порядок обхода как у граней BSP)
- тесты игрока: падение на пол, стояние на треугольнике, направления стрейфа
2026-10-12 02:18:06 +03:00
b8b5a4c328 engine/render: M3 v0 — рендер мира BSP со скайбоксом
- crates/engine: сборка мира (браши, displacement'ы, лайтмапы в вершинах,
  материалы через VMT/patch/include, кэш текстур, пропуск прозрачных материалов),
  загрузка скайбокса из skyname
- crates/render: wgpu-рендерер мира (VB/IB, батчи, глубина), скайбокс-куб,
  камера-полёт, capture PNG с учётом BGRA, debug-режимы материалов
- client: команда map (диск/VPK, pakfile карты, WASD+мышь, --pos/--angles/--screenshot)
- тесты: gm_construct/gm_flatgrass собираются, 0 заглушек, 41 324 треугольника
- docs: прогресс M3 и заметки (BGRA, pak-VMT, z=w клиппинг)
2026-10-12 00:06:26 +03:00
dec5b2c48f sprint 0: workspace, tier/fs/math, VPK v1/v2 с CRC, окно SDL3+wgpu на Vulkan
- crates/tier: tracing-логи, конвары с реестром, конфиг TOML, авто-детект ассетов
- crates/fs: bounded-парсер VPK v1/v2 (preload, встроенные данные, внешние архивы),
  VirtualFs с приоритетами и защитой от traversal, CRC-проверка
- crates/math: Vec3/Angle/Aabb
- crates/client (gmod-rs): fs doctor / fs cat, окно SDL3+wgpu 30, FPS в заголовке и логе
- тесты на реальных VPK (~/gmod_server/server): 9 контейнеров, 77 933 записи, 0 ошибок CRC
- CI-скелет, fuzz-таргет vpk_parse, config.example.toml, обновление docs
2026-10-11 22:47:09 +03:00