# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.86"
name = "mawida"
version = "0.4.0"
authors = ["Francisco R. Ortega, Ph.D."]
build = false
exclude = [
    "reports/",
    "bck/",
    ".vscode/",
    "assets/sounds/",
    "alias/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A small, code-first, modern 2D game engine in Rust, built on wgpu. 2D today, with the seams cut for 3D, VR, and embedded scripting."
homepage = "https://mawida.com"
readme = "README.md"
keywords = [
    "gamedev",
    "graphics",
    "wgpu",
    "2d",
    "engine",
]
categories = [
    "game-development",
    "graphics",
]
license = "BSD-2-Clause"
repository = "https://git.nuilab.org/fortega/mawida-engine"

[features]
audio = ["dep:rodio"]
default = [
    "runtime",
    "audio",
]
gamepad = [
    "dep:gilrs",
    "dep:log",
]
gltf = ["dep:gltf"]
lua = [
    "dep:mlua",
    "dep:log",
]
physics = [
    "dep:rapier2d",
    "dep:log",
]
runtime = [
    "dep:winit",
    "dep:wgpu",
    "dep:pollster",
    "dep:raw-window-handle",
    "dep:env_logger",
    "dep:log",
]
xr = [
    "dep:openxr",
    "dep:ash",
    "dep:wgpu-types",
    "dep:log",
    "runtime",
]

[lib]
name = "mawida"
path = "src/lib.rs"

[[example]]
name = "bounce"
path = "examples/bounce.rs"
required-features = ["runtime"]

[[example]]
name = "cube3d"
path = "examples/cube3d.rs"
required-features = [
    "runtime",
    "gltf",
]

[[example]]
name = "ecs_assets"
path = "examples/ecs_assets.rs"
required-features = [
    "runtime",
    "audio",
]

[[example]]
name = "fps_text"
path = "examples/fps_text.rs"
required-features = ["runtime"]

[[example]]
name = "hello_quad"
path = "examples/hello_quad.rs"
required-features = ["runtime"]

[[example]]
name = "hello_quad_ecs"
path = "examples/hello_quad_ecs.rs"
required-features = [
    "runtime",
    "audio",
]

[[example]]
name = "lua_fountain"
path = "examples/lua_fountain.rs"
required-features = [
    "runtime",
    "lua",
]

[[example]]
name = "sprite_storm"
path = "examples/sprite_storm.rs"
required-features = ["runtime"]

[[example]]
name = "walker"
path = "examples/walker.rs"
required-features = ["runtime"]

[[example]]
name = "xr_smoke"
path = "examples/xr_smoke.rs"
required-features = ["xr"]

[dependencies.ash]
version = "0.38.0"
optional = true

[dependencies.bytemuck]
version = "1.25.0"
features = ["derive"]

[dependencies.env_logger]
version = "0.11.11"
optional = true

[dependencies.gilrs]
version = "0.11.2"
optional = true

[dependencies.glam]
version = "0.33.1"

[dependencies.gltf]
version = "1.4.1"
optional = true

[dependencies.image]
version = "0.25.10"

[dependencies.log]
version = "0.4.33"
optional = true

[dependencies.mlua]
version = "0.12.0"
features = [
    "lua54",
    "vendored",
]
optional = true

[dependencies.openxr]
version = "0.21.1"
optional = true

[dependencies.pollster]
version = "0.4.0"
optional = true

[dependencies.rapier2d]
version = "0.34.0"
optional = true

[dependencies.raw-window-handle]
version = "0.6.2"
optional = true

[dependencies.rodio]
version = "0.22.2"
optional = true

[dependencies.thiserror]
version = "2.0.18"

[dependencies.wgpu]
version = "29.0.3"
optional = true

[dependencies.wgpu-types]
version = "29.0.3"
optional = true

[dependencies.winit]
version = "0.30.13"
optional = true

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3
