Skip to main content

flow_ngin/
lib.rs

1//! flow-ngin
2//!
3//! A lightweight, cross-platform instancing-oriented game engine focused on
4//! native and WASM compatibility. This crate exposes a small surface for
5//! constructing GPU resources, rendering pipelines and scene data. The design
6//! emphasizes reuse of pipelines, efficient instancing and a minimal runtime
7//! surface suitable for embedding in native applications or the web.
8//!
9//! High-level modules
10//! - `camera`: camera types, controller and uniforms for view/projection
11//! - `context`: central GPU and window context that owns device/queue/pipelines
12//! - `data_structures`: engine data models (meshes, instances, textures)
13//! - `flow`: high level flow control (scenes / update loops)
14//! - `pick`: object picking utilities and shaders
15//! - `pipelines`: definitions for various render pipelines (basic, light, gui)
16//! - `resources`: helpers to load textures/models and create GPU resources
17//! - `render`: render composition for efficient pipeline reuse
18//!
19
20pub mod camera;
21pub mod context;
22pub mod data_structures;
23pub mod flow;
24pub mod pick;
25pub mod pipelines;
26pub mod resources;
27pub mod render;
28#[cfg(feature = "ui")]
29pub mod ui;
30
31// Re-exports commonly used types for convenience in downstream code.
32pub use winit::dpi::PhysicalPosition;
33pub use cgmath::*;
34pub use winit::event::DeviceEvent;
35pub use winit::event::WindowEvent;
36pub use wgpu::*;