#pragma once #include namespace glm { typedef long double lf; typedef long long ll; typedef int_fast32_t l; typedef uint16_t us; typedef uint8_t uc; typedef vec<3, lf> lfvec3; typedef vec<3, ll> llvec3; typedef vec<3, l> lvec3; typedef vec<3, us> usvec3; typedef vec<3, uc> ucvec3; const auto IDX_LENGTH = 32; const auto IDX_SHIFT = 5; const auto IDX_LENGTH2 = IDX_LENGTH * IDX_LENGTH; const auto IDX_SIZE = IDX_LENGTH2 * IDX_LENGTH; using idx = glm::u16; const idx IDX_MASK = (1u<