[package]
name = "roast2d_internal"
version = "0.3.3"
edition = "2024"
license = "MIT"
repository = "https://github.com/jjyr/roast2d"
description = "Roast2D internal crate"
include = [
  "/src",
  "/assets",
  "Cargo.toml",
  "Cargo.lock"
]

[features]
hotreload = ["dep:libloading", "dep:notify", "dep:roast2d_macro"]
egui = ["dep:egui", "dep:egui-winit", "dep:egui-wgpu"]

[dependencies]
anyhow = "1.0"
glam = { version = "0.30.4", features = ["bytemuck"] }
bytemuck = { version = "1.21.0", features = ["derive"] }
encase = { version = "0.11.2", features = ["glam"] }
image = { version = "0.25", default-features = false, features = ["png"] }
log = "0.4.22"
hashbrown = "0.15"
thiserror = "2.0"
fontdue = "0.9.3"
wgpu = "27"
winit = "0.30"
pollster = "0.4.0"
ordered-float = { version = "5.0", default-features = false }
lru = "0.16.0"
rand = "0.9.1"
crossbeam-channel = "0.5.13"
libloading = { version = "0.8.8", optional = true }
notify = { version = "8.2.0", optional = true }
roast2d_macro = { path = "../roast2d_macro", version = "0.3.3", optional = true }
egui = { version = "0.33.2", optional = true }
egui-winit = { version = "0.33.2", optional = true }
egui-wgpu = { version = "0.33.2", optional = true }

[target.'cfg(target_family = "wasm")'.dependencies]
getrandom = { version = "0.3", features = ["std", "wasm_js"] }
js-sys = { version = "0.3" }
wasm-bindgen = { version = "0.2.104" }
wasm-bindgen-futures = { version = "0.4" }
web-sys = { version = "0.3", features = ["Response", "Window", "WorkerGlobalScope"] }
web-time = "1"
