[package]
name = "cranpose-render-wgpu"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
description = "GPU renderer for Cranpose scenes through wgpu"
autotests = false
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[features]
default = []
backend-gles = ["wgpu/gles", "naga/glsl-out"]
embedded-default-font = ["cranpose-render-common/embedded-default-font"]
[dependencies]
cranpose-render-common = { workspace = true }
cranpose-ui-graphics = { workspace = true }
cranpose-foundation = { workspace = true }
cranpose-ui = { workspace = true }
cranpose-core = { workspace = true }
bytemuck = { workspace = true }
log = "0.4"
naga = { version = "30.0.1", features = ["wgsl-in"] }
web-time = { workspace = true }
smallvec = "1.16.2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
rayon = "1.12"
[target.'cfg(all(target_os = "linux", not(target_arch = "wasm32")))'.dependencies]
wgpu = { workspace = true, features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
] }
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
rustix = { version = "1.1", features = ["thread"] }
[target.'cfg(target_os = "windows")'.dependencies]
wgpu = { workspace = true, features = [
"std",
"parking_lot",
"dx12",
"wgsl",
"static-dxc",
] }
[target.'cfg(target_os = "macos")'.dependencies]
wgpu = { workspace = true, features = [
"std",
"parking_lot",
"metal",
"wgsl",
] }
[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android"), not(target_os = "linux"), not(target_os = "windows"), not(target_os = "macos")))'.dependencies]
wgpu = { workspace = true, features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
] }
[target.'cfg(target_os = "android")'.dependencies]
wgpu = { workspace = true, features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wgpu = { workspace = true, features = [
"std",
"webgpu",
"webgl",
"wgsl",
] }
naga = { version = "30.0.1", features = ["wgsl-in", "glsl-out"] }
[dev-dependencies]
cranpose-app-shell = { path = "../../cranpose-app-shell", features = ["test-support"] }
cranpose-liquid = { path = "../../cranpose-liquid" }
cranpose-macros = { path = "../../cranpose-macros" }
cranpose-render-common = { path = "../common", features = ["embedded-default-font"] }
naga = { version = "30.0.1", features = ["wgsl-in", "glsl-out"] }
png = "0.18.1"
pollster = "0.4.0"
stats_alloc = "0.1.10"
[[test]]
name = "integration"
path = "tests/integration.rs"