[package]
edition = "2024"
name = "mirage-engine"
version = "0.1.1"
build = false
exclude = [
"examples/assets",
"docs",
"tools",
"cargo-mirage",
"tests/assets",
".vscode",
"ARCHITECTURE.md",
"CLAUDE.md",
"check.sh",
"clippy.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Mirage, an immediate-mode 3D engine for simple games on desktop and the browser"
readme = "README.md"
keywords = [
"gamedev",
"engine",
"3d",
"wgpu",
"immediate-mode",
]
categories = [
"game-engines",
"graphics",
"wasm",
]
license = "Zlib OR Apache-2.0 OR MIT"
repository = "https://codeberg.org/M0jo/mirage-engine"
[package.metadata.mirage]
assets = ["examples/assets"]
[features]
default = ["ui"]
offscreen = []
ui = [
"dep:egui",
"dep:egui-wgpu",
"dep:egui-winit",
]
[lib]
name = "mirage_engine"
path = "src/lib.rs"
[[example]]
name = "animation"
path = "examples/animation.rs"
[[example]]
name = "breakout-game"
path = "examples/breakout-game.rs"
[[example]]
name = "input-lab"
path = "examples/input-lab.rs"
[[example]]
name = "isometric-board"
path = "examples/isometric-board.rs"
[[example]]
name = "material-playground"
path = "examples/material-playground.rs"
[[example]]
name = "post-effects"
path = "examples/post-effects.rs"
[[example]]
name = "sound-lab"
path = "examples/sound-lab.rs"
[[example]]
name = "sprite-adventure"
path = "examples/sprite-adventure.rs"
[[example]]
name = "stress-preview"
path = "examples/stress-preview.rs"
[[example]]
name = "ui-fonts"
path = "examples/ui-fonts.rs"
[[test]]
name = "actions"
path = "tests/actions.rs"
[[test]]
name = "catalog"
path = "tests/catalog.rs"
[[test]]
name = "clip"
path = "tests/clip.rs"
[[test]]
name = "part"
path = "tests/part.rs"
[[test]]
name = "saves"
path = "tests/saves.rs"
[[test]]
name = "shader_values"
path = "tests/shader_values.rs"
[dependencies.bytemuck]
version = "1.25"
features = ["derive"]
[dependencies.egui]
version = "0.35.0"
optional = true
[dependencies.egui-wgpu]
version = "0.35.0"
features = ["fragile-send-sync-non-atomic-wasm"]
optional = true
default-features = false
[dependencies.egui-winit]
version = "0.35.0"
features = ["links"]
optional = true
default-features = false
[dependencies.glam]
version = "0.33.5"
features = ["bytemuck"]
[dependencies.gltf]
version = "1.4.1"
features = [
"names",
"utils",
]
default-features = false
[dependencies.image]
version = "0.25.10"
features = [
"jpeg",
"png",
]
default-features = false
[dependencies.lewton]
version = "0.10.2"
[dependencies.log]
version = "0.4.33"
[dependencies.mirage-engine-derive]
version = "0.1.0"
[dependencies.skrifa]
version = "0.42.1"
[dependencies.wgpu]
version = "29.0.4"
[dependencies.winit]
version = "0.30.13"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.cpal]
version = "0.18.2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.egui-winit]
version = "0.35.0"
features = [
"clipboard",
"wayland",
"x11",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.env_logger]
version = "0.11.11"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.gilrs]
version = "0.11"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.pollster]
version = "1.0.1"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1.7"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_log]
version = "1.1.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.104"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "=0.2.127"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.77"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.104"
features = [
"AudioBuffer",
"AudioBufferSourceNode",
"AudioContext",
"AudioContextState",
"AudioDestinationNode",
"AudioNode",
"AudioParam",
"AudioScheduledSourceNode",
"BaseAudioContext",
"GainNode",
"StereoPannerNode",
"WaveShaperNode",
"console",
"Document",
"Element",
"Gamepad",
"GamepadButton",
"GamepadMappingType",
"HtmlCanvasElement",
"HtmlElement",
"Navigator",
"Node",
"Response",
"Storage",
"Window",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.web-time]
version = "1.1.0"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.52"
features = ["Win32_UI_Input_KeyboardAndMouse"]
[lints.clippy]
arbitrary_source_item_ordering = "warn"