gmod-rs/crates
Niko Marmeladkov b9b03abe3b lua: типы GMod — Vector, Angle, Color с арифметикой
Батч 3, шаг 1. Фундамент Lua-API: без этих типов Entity:GetPos() не
возвращает ничего, с чем можно считать.

Проверено тестами через настоящий LuaRuntime, а не голый интерпретатор:
скрипт считает теми же глобалами, что и обычный автор в Sandbox.

Решения по совместимости:
- пропущенные аргументы не бывают ошибкой: Vector() и Vector(1, 2) должны
  работать, иначе ломается бытовой код Sandbox;
- деление на ноль даёт 1, а не inf — inf в позиции пропа отравляет всю
  геометрию объекта;
- NaN из скрипта не доезжает до физики;
- компоненты цвета обрезаются в 0..255, а не отвергаются;
- Source — левая система координат: нулевые углы смотрят вдоль +X,
  yaw=90 — вдоль +Y.

Найден дефект чтения чисел в mlua 0.11: Value::as_number() различает только
Number и молча возвращает None на Integer, а LuaJIT отдаёт целые как
Integer. Vector(1, 2, 3) давал Vector(0, 0, 0) — и это выглядело как
«арифметика не работает». Собственный value_number() принимает Number,
Integer и строку-число.

Ещё убрат шум тригонометрии: cos(90°) в f32 равен 6.1e-17, и
Angle(0,90,0):Forward() печатал -0.00000004371139 вместо 0.

Тестов 17 в glua (было 1), 23 набора по воркспейсу, clippy чист.
2026-10-13 12:48:50 +03:00
..
client engine: физика на Rapier3D — пропы падают, сталкиваются и засыпают 2026-10-13 12:36:51 +03:00
engine engine: физика на Rapier3D — пропы падают, сталкиваются и засыпают 2026-10-13 12:36:51 +03:00
formats render/engine: отсечение задних граней с нормализацией намотки 2026-10-12 17:12:40 +03:00
fs lua: рантайм LuaJIT с GMod-подобным API и автозагрузкой клиентских аддонов 2026-10-12 04:29:09 +03:00
lua lua: типы GMod — Vector, Angle, Color с арифметикой 2026-10-13 12:48:50 +03:00
math engine/client: коллизия с брашами и displacement'ами, фикс AABB игрока 2026-10-12 02:18:06 +03:00
net net: добавлен недостающий userinfo-конвар cl_playermodel 2026-10-12 14:51:57 +03:00
render engine/render: динамический свет из карты (солнце, лампы, прожекторы) 2026-10-13 08:55:51 +03:00
tier sprint 0: workspace, tier/fs/math, VPK v1/v2 с CRC, окно SDL3+wgpu на Vulkan 2026-10-11 22:47:09 +03:00