[package]
edition = "2024"
rust-version = "1.95"
name = "slate-framework"
version = "1.0.1"
authors = ["Phuc Huynh <huynhhoangphuc@proton.me>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPU-accelerated Rust UI framework — umbrella crate"
readme = "README.md"
keywords = [
"gui",
"ui",
"gpu",
"wgpu",
"framework",
]
categories = [
"gui",
"graphics",
"rendering",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/HuynhHoangPhuc/slate-framework"
resolver = "2"
[features]
default = []
profiling = [
"slate-reactive/profiling",
"slate-renderer/profiling",
]
test-hooks = [
"slate-renderer/test-hooks",
"slate-platform/test-hooks",
]
tokio = [
"dep:tokio",
"dep:async-compat",
]
[lib]
name = "slate_framework"
path = "src/lib.rs"
[[test]]
name = "accessibility"
path = "tests/accessibility.rs"
[[test]]
name = "accessibility_accesskit_conversion"
path = "tests/accessibility_accesskit_conversion.rs"
[[test]]
name = "concurrency_stress"
path = "tests/concurrency_stress.rs"
[[test]]
name = "device_lost_callback_integration"
path = "tests/device_lost_callback_integration.rs"
[[test]]
name = "dispatch_golden_trace"
path = "tests/dispatch_golden_trace.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "element_id_stability"
path = "tests/element_id_stability.rs"
[[test]]
name = "element_trait"
path = "tests/element_trait.rs"
[[test]]
name = "event_capture_and_window_id"
path = "tests/event_capture_and_window_id.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "executor"
path = "tests/executor.rs"
[[test]]
name = "focus_dispatch"
path = "tests/focus_dispatch.rs"
[[test]]
name = "focus_registry"
path = "tests/focus_registry.rs"
[[test]]
name = "gated_suite_sentinel"
path = "tests/gated_suite_sentinel.rs"
[[test]]
name = "golden_trace_two_window"
path = "tests/golden_trace_two_window.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "hit_test"
path = "tests/hit_test.rs"
[[test]]
name = "image_device_lost_recovery"
path = "tests/image_device_lost_recovery.rs"
[[test]]
name = "image_element"
path = "tests/image_element.rs"
[[test]]
name = "ime_dispatch"
path = "tests/ime_dispatch.rs"
[[test]]
name = "keyboard_dispatch"
path = "tests/keyboard_dispatch.rs"
[[test]]
name = "layout_computation"
path = "tests/layout_computation.rs"
[[test]]
name = "multi_window_smoke"
path = "tests/multi_window_smoke.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "perf_benchmark"
path = "tests/perf_benchmark.rs"
[[test]]
name = "profiling_counters"
path = "tests/profiling_counters.rs"
[[test]]
name = "reactive_counter_smoke"
path = "tests/reactive_counter_smoke.rs"
[[test]]
name = "reactive_div_modifiers"
path = "tests/reactive_div_modifiers.rs"
[[test]]
name = "recovery_end_to_end"
path = "tests/recovery_end_to_end.rs"
[[test]]
name = "recovery_flap_guard_cycle_leak_l1"
path = "tests/recovery_flap_guard_cycle_leak_l1.rs"
[[test]]
name = "recovery_flap_guard_l1"
path = "tests/recovery_flap_guard_l1.rs"
[[test]]
name = "recovery_flap_guard_upgrade_l1"
path = "tests/recovery_flap_guard_upgrade_l1.rs"
[[test]]
name = "recovery_flap_guard_wgpu_l1"
path = "tests/recovery_flap_guard_wgpu_l1.rs"
[[test]]
name = "recovery_size_move_defer_exit_l2"
path = "tests/recovery_size_move_defer_exit_l2.rs"
[[test]]
name = "recovery_size_move_deferral_l2"
path = "tests/recovery_size_move_deferral_l2.rs"
[[test]]
name = "redraw_counters_smoke"
path = "tests/redraw_counters_smoke.rs"
[[test]]
name = "scene_lpx_no_scale_multiply"
path = "tests/scene_lpx_no_scale_multiply.rs"
[[test]]
name = "tab_traversal"
path = "tests/tab_traversal.rs"
[[test]]
name = "text_area_editing"
path = "tests/text_area_editing.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "text_area_ime"
path = "tests/text_area_ime.rs"
[[test]]
name = "text_area_layout"
path = "tests/text_area_layout.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "text_area_mouse"
path = "tests/text_area_mouse.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "text_area_nav"
path = "tests/text_area_nav.rs"
harness = false
required-features = ["test-hooks"]
[[test]]
name = "text_field_caret"
path = "tests/text_field_caret.rs"
[[test]]
name = "text_field_mouse"
path = "tests/text_field_mouse.rs"
[[test]]
name = "text_shaping_cache_gc"
path = "tests/text_shaping_cache_gc.rs"
[[test]]
name = "text_shaping_cache_hit_miss"
path = "tests/text_shaping_cache_hit_miss.rs"
[[test]]
name = "text_shaping_cache_memory_cap"
path = "tests/text_shaping_cache_memory_cap.rs"
[[test]]
name = "text_wrap"
path = "tests/text_wrap.rs"
[[test]]
name = "use_state_lifecycle"
path = "tests/use_state_lifecycle.rs"
[dependencies.accesskit]
version = "=0.24.0"
[dependencies.async-compat]
version = "=0.2.4"
optional = true
[dependencies.bytemuck]
version = "1.25"
features = ["derive"]
[dependencies.glam]
version = "0.32"
[dependencies.image]
version = "0.25"
[dependencies.log]
version = "0.4"
[dependencies.pollster]
version = "0.4"
[dependencies.slate-platform]
version = "1.0.1"
[dependencies.slate-reactive]
version = "1.0.1"
[dependencies.slate-renderer]
version = "1.0.1"
[dependencies.slate-text]
version = "1.0.1"
[dependencies.smallvec]
version = "=1.15.1"
[dependencies.smol]
version = "=2.0.2"
[dependencies.taffy]
version = "=0.10.1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "=1.52.0"
features = ["rt"]
optional = true
[dependencies.unicode-segmentation]
version = "1"
[dependencies.wgpu]
version = "29.0.3"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.insta]
version = "1.47"
features = ["filters"]
[dev-dependencies.tracing-test]
version = "0.2"
[dev-dependencies.trybuild]
version = "1"