[package]
edition = "2024"
name = "cranpose-render-wgpu"
version = "0.1.160"
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_tessellation"
path = "tests/arc_tessellation.rs"
[[test]]
name = "backdrop_atlas_parity"
path = "tests/backdrop_atlas_parity.rs"
[[test]]
name = "backdrop_pass_batching"
path = "tests/backdrop_pass_batching.rs"
[[test]]
name = "backdrop_reach"
path = "tests/backdrop_reach.rs"
[[test]]
name = "band_fill"
path = "tests/band_fill.rs"
[[test]]
name = "blur_reference"
path = "tests/blur_reference.rs"
[[test]]
name = "cancellation_contract"
path = "tests/cancellation_contract.rs"
[[test]]
name = "capture_culling"
path = "tests/capture_culling.rs"
[[test]]
name = "clipped_out_layer"
path = "tests/clipped_out_layer.rs"
[[test]]
name = "device_error_survival"
path = "tests/device_error_survival.rs"
[[test]]
name = "device_limits"
path = "tests/device_limits.rs"
[[test]]
name = "direct_surface_root_parity"
path = "tests/direct_surface_root_parity.rs"
[[test]]
name = "effect_sample_domain"
path = "tests/effect_sample_domain.rs"
[[test]]
name = "effect_semantics"
path = "tests/effect_semantics.rs"
[[test]]
name = "glass_layer_cache"
path = "tests/glass_layer_cache.rs"
[[test]]
name = "glass_output_support"
path = "tests/glass_output_support.rs"
[[test]]
name = "glass_reference_shader"
path = "tests/glass_reference_shader.rs"
[[test]]
name = "glass_rim_continuity"
path = "tests/glass_rim_continuity.rs"
[[test]]
name = "glass_shadow_outside_clip"
path = "tests/glass_shadow_outside_clip.rs"
[[test]]
name = "glass_specialization_parity"
path = "tests/glass_specialization_parity.rs"
[[test]]
name = "glass_surface_refraction"
path = "tests/glass_surface_refraction.rs"
[[test]]
name = "glass_underlay_scroll"
path = "tests/glass_underlay_scroll.rs"
[[test]]
name = "glass_vibrancy"
path = "tests/glass_vibrancy.rs"
[[test]]
name = "gpu_fence_uploads"
path = "tests/gpu_fence_uploads.rs"
[[test]]
name = "gradient_blur_reference"
path = "tests/gradient_blur_reference.rs"
[[test]]
name = "initial_present_contract"
path = "tests/initial_present_contract.rs"
[[test]]
name = "layer_effect_cache"
path = "tests/layer_effect_cache.rs"
[[test]]
name = "nested_composite_order"
path = "tests/nested_composite_order.rs"
[[test]]
name = "opaque_prefix_cache"
path = "tests/opaque_prefix_cache.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 = "probe_passes"
path = "tests/probe_passes.rs"
[[test]]
name = "projective_layer_clip"
path = "tests/projective_layer_clip.rs"
[[test]]
name = "queued_surface_frames"
path = "tests/queued_surface_frames.rs"
[[test]]
name = "raster_cache"
path = "tests/raster_cache.rs"
[[test]]
name = "record_path_goldens"
path = "tests/record_path_goldens.rs"
[[test]]
name = "render_contract"
path = "tests/render_contract.rs"
[[test]]
name = "rotate_scale_pixels"
path = "tests/rotate_scale_pixels.rs"
[[test]]
name = "rotating_record_upload"
path = "tests/rotating_record_upload.rs"
[[test]]
name = "run_store_upload"
path = "tests/run_store_upload.rs"
[[test]]
name = "runtime_shader_override_updates"
path = "tests/runtime_shader_override_updates.rs"
[[test]]
name = "scaled_glass_child_mask"
path = "tests/scaled_glass_child_mask.rs"
[[test]]
name = "scene_budgets"
path = "tests/scene_budgets.rs"
[[test]]
name = "scroll_translate_pixels"
path = "tests/scroll_translate_pixels.rs"
[[test]]
name = "shader_warm_ups"
path = "tests/shader_warm_ups.rs"
[[test]]
name = "shadow_blur"
path = "tests/shadow_blur.rs"
[[test]]
name = "shadow_occlusion_banding"
path = "tests/shadow_occlusion_banding.rs"
[[test]]
name = "shape_ablation"
path = "tests/shape_ablation.rs"
[[test]]
name = "shape_pipeline_readiness"
path = "tests/shape_pipeline_readiness.rs"
[[test]]
name = "shape_variant_parity"
path = "tests/shape_variant_parity.rs"
[[test]]
name = "substrate_reference"
path = "tests/substrate_reference.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 = "tab_lighting_rest_identity"
path = "tests/tab_lighting_rest_identity.rs"
[[test]]
name = "text_field_live_edit"
path = "tests/text_field_live_edit.rs"
[[test]]
name = "transient_pool"
path = "tests/transient_pool.rs"
[[test]]
name = "transparent_child"
path = "tests/transparent_child.rs"
[[test]]
name = "viewport_crop"
path = "tests/viewport_crop.rs"
[[test]]
name = "viewport_uniform_growth"
path = "tests/viewport_uniform_growth.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.160"
[dependencies.cranpose-foundation]
version = "0.1.160"
[dependencies.cranpose-render-common]
version = "0.1.160"
default-features = false
[dependencies.cranpose-ui]
version = "0.1.160"
[dependencies.cranpose-ui-graphics]
version = "0.1.160"
[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"