[package]
edition = "2024"
name = "cranpose-render-wgpu"
version = "0.1.167"
authors = ["Dmitry Samoylenko"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WGPU renderer backend for Cranpose"
homepage = "https://samoylenkodmitry.github.io/cranpose/"
readme = "README.md"
keywords = [
"gui",
"ui",
"compose",
"declarative",
"framework",
]
categories = ["gui"]
license = "Apache-2.0"
repository = "https://github.com/samoylenkodmitry/cranpose"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
backend-gles = [
"wgpu/gles",
"naga/glsl-out",
]
default = []
embedded-default-font = ["cranpose-render-common/embedded-default-font"]
[lib]
name = "cranpose_render_wgpu"
path = "src/lib.rs"
[[example]]
name = "pass_count_submit_cost"
path = "examples/pass_count_submit_cost.rs"
[[example]]
name = "pass_timing_profile"
path = "examples/pass_timing_profile.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.bytemuck]
version = "1.25"
features = ["derive"]
[dependencies.cranpose-core]
version = "0.1.167"
[dependencies.cranpose-foundation]
version = "0.1.167"
[dependencies.cranpose-render-common]
version = "0.1.167"
default-features = false
[dependencies.cranpose-ui]
version = "0.1.167"
[dependencies.cranpose-ui-graphics]
version = "0.1.167"
[dependencies.log]
version = "0.4"
[dependencies.naga]
version = "30.0.1"
features = ["wgsl-in"]
[dependencies.smallvec]
version = "1.16.1"
[dependencies.web-time]
version = "1.1"
[dev-dependencies.naga]
version = "30.0.1"
features = [
"wgsl-in",
"glsl-out",
]
[dev-dependencies.png]
version = "0.18.1"
[dev-dependencies.pollster]
version = "0.4.0"
[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]
version = "30.0"
features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
]
default-features = false
[target.'cfg(all(target_os = "linux", not(target_arch = "wasm32")))'.dependencies.wgpu]
version = "30.0"
features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
]
default-features = false
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies.rustix]
version = "1.1"
features = ["thread"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rayon]
version = "1.12"
[target.'cfg(target_arch = "wasm32")'.dependencies.naga]
version = "30.0.1"
features = [
"wgsl-in",
"glsl-out",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.wgpu]
version = "30.0"
features = [
"std",
"webgpu",
"webgl",
"wgsl",
]
default-features = false
[target.'cfg(target_os = "android")'.dependencies.wgpu]
version = "30.0"
features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.wgpu]
version = "30.0"
features = [
"std",
"parking_lot",
"metal",
"wgsl",
]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.wgpu]
version = "30.0"
features = [
"std",
"parking_lot",
"dx12",
"wgsl",
]
default-features = false
[lints.clippy]
assigning_clones = "warn"
clone_on_copy = "deny"
cloned_instead_of_copied = "warn"
dbg_macro = "deny"
elidable_lifetime_names = "warn"
explicit_iter_loop = "warn"
ignored_unit_patterns = "warn"
manual_assert = "warn"
manual_let_else = "warn"
map_unwrap_or = "warn"
needless_raw_string_hashes = "warn"
or_fun_call = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "warn"
redundant_locals = "deny"
semicolon_if_nothing_returned = "warn"
todo = "deny"
uninlined_format_args = "warn"
unnested_or_patterns = "warn"
[lints.rust]
linker_messages = "deny"
unsafe_code = "deny"