mirage-engine 0.1.1

Mirage, an immediate-mode 3D engine for simple games on desktop and the browser
Documentation
# 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 = "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"