pub opaque type Mesh
pub type Vec2 { Vec2(x: Float, y: Float) }
Vec2(x: Float, y: Float)
pub type Vec3 { Vec3(x: Float, y: Float, z: Float) }
Vec3(x: Float, y: Float, z: Float)
pub type Vertex { Vertex(position: Vec3, normal: Vec3, uv: Vec2) }
Vertex(position: Vec3, normal: Vec3, uv: Vec2)
pub fn create_mesh( vertices: List(Vertex), indices: List(Int), ) -> Mesh
pub fn load_obj(path: String) -> Mesh