1#![cfg_attr(not(feature = "std"), no_std)]
2#![forbid(unsafe_code)]
3
4extern crate alloc;
16
17mod arena;
18mod camera;
19mod color;
20mod error;
21mod light;
22mod material;
23mod mesh;
24mod scene;
25mod texture;
26mod transform;
27
28pub use arena::{Arena, Id};
29pub use camera::Camera;
30pub use color::{ColorRgba8, Rgb};
31pub use error::Error;
32pub use light::DirectionalLight;
33pub use material::Material;
34pub use mesh::{MAX_VERTEX_COUNT, Mesh};
35pub use scene::{RenderObject, Scene};
36pub use texture::Texture;
37pub use transform::Transform;
38
39pub type MeshId = Id<Mesh>;
42pub type TextureId = Id<Texture>;
45pub type ObjectId = Id<RenderObject>;
48
49#[cfg(test)]
50mod tests {
51 use alloc::vec;
52 use alloc::vec::Vec;
53
54 #[test]
55 fn alloc_is_available() {
56 let mut v: Vec<u32> = vec![0, 1, 2];
57 v.push(3);
58 assert_eq!(v, [0, 1, 2, 3]);
59 }
60}