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