archetype_ecs/
lib.rs

1// Copyright 2024 Saptak Santra
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//! Archetype ECS - High-performance Entity Component System
16//!
17//! Production-ready ECS with parallel scheduler and advanced features.
18//!
19//! ## Profiling
20//!
21//! Archetype ECS has built-in support for the `tracing` ecosystem.
22//! To enable profiling, add the `profiling` feature to your `Cargo.toml`:
23//!
24//! ```toml
25//! [dependencies]
26//! archetype_ecs = { version = "1.1", features = ["profiling"] }
27//! ```
28//!
29//! See `examples/16_profiling_basics.rs` for a complete setup guide.
30
31pub mod app;
32pub mod archetype;
33pub mod bitset;
34pub mod command;
35pub mod component;
36pub mod debug;
37pub mod dependency;
38pub mod entity;
39pub mod error;
40pub mod event;
41pub mod event_bus;
42pub mod event_subscriber;
43pub mod event_types;
44pub mod executor;
45pub mod hierarchy;
46pub mod hierarchy_system;
47pub mod hot_reload;
48pub mod observer;
49pub mod parallel;
50pub mod plugin;
51pub mod prelude;
52pub mod profiling;
53pub mod query;
54pub mod reflection;
55pub mod schedule;
56pub mod serialization;
57pub mod simd;
58pub mod system;
59pub mod time;
60pub mod transform;
61pub mod world;
62
63#[cfg(test)]
64mod tests;
65
66pub use app::*;
67pub use archetype::*;
68pub use command::*;
69pub use component::*;
70pub use dependency::*;
71pub use entity::*;
72pub use error::*;
73pub use event::*;
74pub use event_bus::*;
75pub use event_subscriber::*;
76pub use event_types::*;
77pub use executor::*;
78pub use hierarchy::*;
79pub use hierarchy_system::*;
80pub use observer::*;
81pub use parallel::*;
82pub use plugin::*;
83pub use query::*;
84pub use reflection::*;
85pub use schedule::*;
86pub use serialization::*;
87pub use system::*;
88pub use transform::*;
89pub use world::*;
90
91#[cfg(all(test, not(target_env = "msvc")))]
92mod ecs_bench;