[package]
edition = "2024"
name = "cranpose-render-wgpu"
version = "0.1.111"
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 = "absolute_offset_text_redraw"
path = "tests/absolute_offset_text_redraw.rs"
[[test]]
name = "arc_mesh_parity"
path = "tests/arc_mesh_parity.rs"
[[test]]
name = "backdrop_pass_batching"
path = "tests/backdrop_pass_batching.rs"
[[test]]
name = "cancellation_contract"
path = "tests/cancellation_contract.rs"
[[test]]
name = "command_feed_parity"
path = "tests/command_feed_parity.rs"
[[test]]
name = "device_error_survival"
path = "tests/device_error_survival.rs"
[[test]]
name = "device_limits"
path = "tests/device_limits.rs"
[[test]]
name = "effect_semantics"
path = "tests/effect_semantics.rs"
[[test]]
name = "fail_closed_contract"
path = "tests/fail_closed_contract.rs"
[[test]]
name = "glass_layer_cache"
path = "tests/glass_layer_cache.rs"
[[test]]
name = "glass_rim_continuity"
path = "tests/glass_rim_continuity.rs"
[[test]]
name = "initial_present_contract"
path = "tests/initial_present_contract.rs"
[[test]]
name = "instanced_quad_parity"
path = "tests/instanced_quad_parity.rs"
[[test]]
name = "pass_timing_report"
path = "tests/pass_timing_report.rs"
[[test]]
name = "present_runtime_contract"
path = "tests/present_runtime_contract.rs"
[[test]]
name = "raster_cache"
path = "tests/raster_cache.rs"
[[test]]
name = "render_contract"
path = "tests/render_contract.rs"
[[test]]
name = "retained_bundle_parity"
path = "tests/retained_bundle_parity.rs"
[[test]]
name = "rim_mesh_parity"
path = "tests/rim_mesh_parity.rs"
[[test]]
name = "rotate_scale_pixels"
path = "tests/rotate_scale_pixels.rs"
[[test]]
name = "round_cull_parity"
path = "tests/round_cull_parity.rs"
[[test]]
name = "scene_range_cache_exactness"
path = "tests/scene_range_cache_exactness.rs"
[[test]]
name = "scroll_translate_pixels"
path = "tests/scroll_translate_pixels.rs"
[[test]]
name = "segment_surface_parity"
path = "tests/segment_surface_parity.rs"
[[test]]
name = "shadow_occlusion_banding"
path = "tests/shadow_occlusion_banding.rs"
[[test]]
name = "sized_retained_mesh_parity"
path = "tests/sized_retained_mesh_parity.rs"
[[test]]
name = "solid_fs_parity"
path = "tests/solid_fs_parity.rs"
[[test]]
name = "stale_transition_parity"
path = "tests/stale_transition_parity.rs"
[[test]]
name = "static_span_cache_parity"
path = "tests/static_span_cache_parity.rs"
[[test]]
name = "support"
path = "tests/support.rs"
[[test]]
name = "surface_packet"
path = "tests/surface_packet.rs"
[[test]]
name = "swipe_to_dismiss_lazy"
path = "tests/swipe_to_dismiss_lazy.rs"
[[test]]
name = "text_field_live_edit"
path = "tests/text_field_live_edit.rs"
[[test]]
name = "wear_layer_alpha_pixels"
path = "tests/wear_layer_alpha_pixels.rs"
[[test]]
name = "wear_scaling_list_pixels"
path = "tests/wear_scaling_list_pixels.rs"
[dependencies.bytemuck]
version = "1.25"
features = ["derive"]
[dependencies.cranpose-core]
version = "0.1.111"
[dependencies.cranpose-foundation]
version = "0.1.111"
[dependencies.cranpose-render-common]
version = "0.1.111"
default-features = false
[dependencies.cranpose-ui]
version = "0.1.111"
[dependencies.cranpose-ui-graphics]
version = "0.1.111"
[dependencies.log]
version = "0.4"
[dependencies.naga]
version = "29.0.3"
features = ["wgsl-in"]
[dependencies.smallvec]
version = "1.15.1"
[dependencies.web-time]
version = "1.1"
[dev-dependencies.naga]
version = "29.0.3"
features = [
"wgsl-in",
"glsl-out",
]
[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 = "29.0"
features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
]
default-features = false
[target.'cfg(all(target_os = "linux", not(target_arch = "wasm32")))'.dependencies.wgpu]
version = "29.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 = "29.0.3"
features = [
"wgsl-in",
"glsl-out",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.wgpu]
version = "29.0"
features = [
"std",
"webgpu",
"webgl",
"wgsl",
]
default-features = false
[target.'cfg(target_os = "android")'.dependencies.wgpu]
version = "29.0"
features = [
"std",
"parking_lot",
"vulkan",
"wgsl",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.wgpu]
version = "29.0"
features = [
"std",
"parking_lot",
"metal",
"wgsl",
]
default-features = false
[target.'cfg(target_os = "windows")'.dependencies.wgpu]
version = "29.0"
features = [
"std",
"parking_lot",
"dx12",
"wgsl",
]
default-features = false
[lints.clippy]
clone_on_copy = "deny"
dbg_macro = "deny"
redundant_locals = "deny"
todo = "deny"
[lints.rust]
linker_messages = "deny"
unsafe_code = "deny"