[package]
name = "blue_engine"
version = "0.3.99"
authors = ["Elham Aryanpur <elhamaryanpur5@gmail.com>"]
edition = "2021"
description = "General-Purpose, Easy-to-use, Fast, Secure, and Portable graphics engine"
documentation = "https://github.com/ElhamAryanpur/BlueEngine/wiki"
repository = "https://github.com/ElhamAryanpur/BlueEngine"
keywords = ["gamedev", "graphics", "3D", "2D", "game"]
categories = ["game-development", "gui", "graphics", "rendering"]
license = "Apache-2.0"
resolver = "2"

[lib]
name = "blue_engine"
crate-type = ["lib", "cdylib"]

[features]
default = []
NON_FILL_POLYGON_MODE = []
model_loader = ["dep:gltf"]
gui = ["dep:imgui-winit-support", "dep:imgui-wgpu", "dep:imgui"]

[dependencies]
futures = "0.3.21"
winit = "0.26.1"
image = "0.24.2"
bytemuck = { version = "1.10.0", features = ["derive"] }
winit_input_helper = "0.12.0"
anyhow = "1.0.57"
env_logger = "0.9.0"
wgpu = { version = "0.13.0" }
nalgebra-glm = "0.17.0"
# model_loader
gltf = { version = "1.0.0", optional = true }
# GUI
imgui-wgpu = { version = "0.20.0", optional = true }
imgui-winit-support = { version = "0.8.2", optional = true, features = [
    "winit-26",
] }
imgui = { version = "0.8.2", optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
wgpu = { version = "0.13.0", features = ["webgl"] }

# ========== EXAMPLES ========== #

# SHAPES
[[example]]
name = "triangle"
path = "examples/shapes/triangle.rs"

[[example]]
name = "square"
path = "examples/shapes/square.rs"

[[example]]
name = "cube"
path = "examples/shapes/cube.rs"

# CAMERA
[[example]]
name = "rotate_around"
path = "examples/camera/rotate_around.rs"

[[example]]
name = "fly_camera"
path = "examples/camera/fly_camera.rs"

# GUI
[[example]]
name = "hello_gui"
path = "examples/gui/hello_gui.rs"

[[example]]
name = "styling_gui"
path = "examples/gui/styling.rs"

# Development ONLY
[[example]]
name = "dev"
path = "examples/dev/dev.rs"
