#pragma once #include #include #include #include #include #include #include #include #include "glm/glm.hpp" #include "util/id_type.hpp" namespace z3d { using u8 = std::uint8_t; using u16 = std::uint16_t; using u32 = std::uint32_t; using u64 = std::uint64_t; using i8 = std::int8_t; using i16 = std::int16_t; using i32 = std::int32_t; using i64 = std::int64_t; using size = ssize_t; using f32 = float; using f64 = double; template using vec = glm::vec; using vec2 = vec<2, f32>; using vec3 = vec<3, f32>; using vec4 = vec<4, f32>; template using mat = glm::mat; using mat3 = mat<4, 4, f32>; using mat4 = mat<4, 4, f32>; template using optional = std::optional; template using array = std::array; template using vector = std::vector; template using array_view = std::span; template using structure = std::tuple; using string_view = std::string_view; template using result = std::expected; using vertex_index = u32; using index_triangle = array; template using identifier = ztu::id_type; }