[package]
name = "mir"
version = "0.1.0"
edition = "2021"
description = "R-1.0 world renderer: spectral layout + honeycrisp backend โ deterministic 3D world"
[features]
default = []
bevy-plugin = ["dep:bevy"]
[dependencies]
memmap2 = "0.9"
thiserror = "2"
serde = { version = "1", features = ["derive"] }
toml = "0.8"
bevy = { version = "0.18", optional = true }
# honeycrisp is the Apple fast path: unimem links IOSurface/CoreFoundation, so
# these cannot build for any other target. Off Apple, mir runs the portable
# csr_matvec in backend.rs and the gpu.rs stub (wgpu backend: plans P3).
[target.'cfg(target_vendor = "apple")'.dependencies]
aruminium = { path = "../honeycrisp/aruminium" }
acpu = { path = "../honeycrisp/acpu" }
# The portable device layer (Vulkan / DX12 / GL). Same wgpu major as Bevy,
# so cyb's binary carries one copy.
[target.'cfg(not(target_vendor = "apple"))'.dependencies]
wgpu = "27"
pollster = "0.4"
log = "0.4"
# portable now: IOSurface on Apple, memfd elsewhere
unimem = { path = "../honeycrisp/unimem" }
# Raw Vulkan for the unimem host-pointer import (same ash wgpu-hal builds
# against โ the types must unify).
[target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies]
ash = "0.38"
[dev-dependencies]
tempfile = "3"