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 engine;
14mod entity;
15mod input;
16mod math;
17mod physics;
18mod renderer;
19mod scene;
20mod scheduler;
21mod spatial;
22mod sprite;
23
24pub use {
25    asset::*, audio::*, cell::*, collider::*, config::*, engine::*, entity::*, input::*, math::*,
26    physics::*, renderer::*, scene::*, scheduler::*, spatial::*, sprite::*,
27};
28
29use euv::*;
30
31use std::{
32    cell::UnsafeCell,
33    collections::{HashMap, HashSet},
34    fmt::Debug,
35    ops::{Add, AddAssign, Mul, MulAssign, Neg, Sub, SubAssign},
36    rc::Rc,
37    sync::atomic::{AtomicU64, Ordering},
38};
39
40use {
41    js_sys::*, lombok_macros::*, wasm_bindgen::prelude::*, wasm_bindgen_futures::JsFuture,
42    web_sys::*,
43};