#pragma once struct Table { s32 size; T data; }; struct Vec2 { T x; T y; }; struct Vec3 { T x; T y; T z; }; struct Vec4 { T x; T y; T z; T w; }; struct Mat3 { Vec3 v[3]; }; struct Transform { Mat3 mat; Vec3 vec; }; struct Sphere { Vec3 center; float radius; }; struct Plane { float x; float y; float z; float d; }; struct DPlane { double x; double y; double z; double d; };