Skip to main content

euv_engine/
lib.rs

1//! euv-engine
2//!
3//! A high-performance 2D and 3D game engine built on the euv framework for WebAssembly,
4//! featuring an ECS-style entity system, fixed-timestep game loop, canvas rendering,
5//! WebGPU rendering, physics simulation, collision detection, sprite animation,
6//! scene management, asset loading, and Web Audio integration.
7
8mod asset;
9mod audio;
10mod cell;
11mod collider;
12mod config;
13mod easing;
14mod engine;
15mod entity;
16mod input;
17mod math;
18mod particle;
19mod physics;
20mod renderer;
21mod scene;
22mod scheduler;
23mod spatial;
24mod sprite;
25mod timer;
26
27#[cfg(test)]
28mod tests;
29
30mod tween;
31
32pub use {
33    asset::*, audio::*, cell::*, collider::*, config::*, easing::*, engine::*, entity::*, input::*,
34    math::*, particle::*, physics::*, renderer::*, scene::*, scheduler::*, spatial::*, sprite::*,
35    timer::*, tween::*,
36};
37
38use euv::*;
39
40use std::{
41    cell::UnsafeCell,
42    collections::{HashMap, HashSet},
43    fmt::Debug,
44    ops::{Add, AddAssign, Mul, MulAssign, Neg, Sub, SubAssign},
45    rc::Rc,
46    sync::atomic::{AtomicU64, Ordering},
47};
48
49use {
50    js_sys::*, lombok_macros::*, wasm_bindgen::prelude::*, wasm_bindgen_futures::JsFuture,
51    web_sys::*,
52};