[package]
name = "blue_engine_utilities"
version = "0.9.3"
edition = "2024"
authors = ["Elham Aryanpur <elhamaryanpur5@gmail.com>"]
description = "Utilities for Blue Engine"
repository = "https://github.com/AryanpurTech/BlueEngineUtilities"
keywords = ["gamedev", "utility", "3D", "2D", "animation"]
categories = ["game-development", "graphics", "rendering"]
license = "Apache-2.0"

[features]
default = []
all = ["animation", "gltf", "obj", "physics", "egui"]
animation = ["dep:keyframe_derive", "dep:keyframe"]
gltf = ["dep:gltf"]
obj = ["dep:obj-rs"]
physics = ["dep:rapier3d"]
egui = ["dep:egui", "dep:egui-winit", "dep:egui-wgpu"]
## pass blue engine's headless mode
headless = ["blue_engine/headless"]

[dependencies]
# blue_engine = { path = "../../", default-features = false, features = [
#     "debug",
#     "window",
#     "static_link",
# ] }
blue_engine = { version = "0.9.3" }
eyre = "0.6.12"

# Animation
keyframe = { version = "1.1.1", optional = true }
keyframe_derive = { version = "1.0.0", optional = true }

# model loading
gltf = { version = "1.4.1", optional = true }
obj-rs = { version = "0.7.4", optional = true }

# physics
rapier3d = { version = "0.23.1", features = ["simd-stable"], optional = true }
nalgebra-glm = { version = "0.19.0" }

# egui
egui = { version = "0.31.1", optional = true }
egui-wgpu = { version = "0.31.1", optional = true }
egui-winit = { version = "0.31.1", optional = true }

# Animation examples
[[example]]
name = "animation"
path = "examples/animation.rs"

# Camera examples
[[example]]
name = "fly_camera"
path = "examples/flycamera.rs"

# Light examples
[[example]]
name = "basic_light"
path = "examples/basic_light.rs"

# Model examples
[[example]]
name = "model"
path = "examples/model.rs"

# Raycast examples
# [[example]]
# name = "raycast"
# path = "examples/raycast.rs"

# Physics examples
[[example]]
name = "physics"
path = "examples/physics.rs"

# EGUI examples
[[example]]
name = "hello_egui"
path = "examples/hello_egui.rs"
