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;
26mod tween;
27
28pub use {
29    asset::*, audio::*, cell::*, collider::*, config::*, easing::*, engine::*, entity::*, input::*,
30    math::*, particle::*, physics::*, renderer::*, scene::*, scheduler::*, spatial::*, sprite::*,
31    timer::*, tween::*,
32};
33
34use euv::*;
35
36use std::{
37    cell::UnsafeCell,
38    collections::{HashMap, HashSet},
39    fmt::Debug,
40    ops::{Add, AddAssign, Mul, MulAssign, Neg, Sub, SubAssign},
41    rc::Rc,
42    sync::atomic::{AtomicU64, Ordering},
43};
44
45use {
46    js_sys::*, lombok_macros::*, wasm_bindgen::prelude::*, wasm_bindgen_futures::JsFuture,
47    web_sys::*,
48};