khora_lanes/asset_lane/loading/mesh_loader_lane/
mod.rs

1// Copyright 2025 eraflo
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Defines lanes for loading mesh assets.
16
17mod gltf_loader_lane;
18mod obj_loader_lane;
19mod resource_resolver;
20
21pub use gltf_loader_lane::*;
22pub use obj_loader_lane::*;
23pub use resource_resolver::*;
24
25use super::AssetLoaderLane;
26use khora_core::renderer::api::Mesh;
27
28/// Common trait for all mesh loaders
29pub trait MeshLoaderLane: AssetLoaderLane<Mesh> + Send + Sync + 'static {}
30
31// Implement the trait for all types that implement AssetLoaderLane<Mesh>
32impl<T> MeshLoaderLane for T where T: AssetLoaderLane<Mesh> + Send + Sync + 'static {}