1#![allow(clippy::missing_safety_doc)]
2
3use std::{
4 any::{Any, TypeId},
5 cell::{Cell, UnsafeCell},
6 collections::{HashMap, HashSet},
7 fmt::Debug,
8 marker::PhantomData,
9 ops::{Deref, DerefMut},
10};
11
12#[allow(unused_imports)]
13use crate as ecs;
14
15pub use geng_ecs_derive::*;
16
17#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18pub struct Id(u32);
19
20pub trait Component: Sized + 'static {}
21
22impl<T: 'static> Component for T {}
23
24mod entity;
25mod fetch;
26mod filter;
27mod query;
28mod storage;
29pub mod util;
30mod world;
31
32pub use entity::*;
33pub use fetch::*;
34pub use filter::*;
35pub use query::*;
36use util::*;
37pub use world::*;