[package]
edition = "2024"
rust-version = "1.88"
name = "frust-ui"
version = "0.5.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Frust: a Rust-native, mobile-first declarative UI framework; the facade crate application code depends on."
homepage = "https://frust.dev"
readme = "README.md"
keywords = [
"gui",
"ui",
"mobile",
"declarative",
"wgpu",
]
categories = ["gui"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/frust-rs/frust"
resolver = "2"
[features]
default = []
devtools = [
"frust-shell-desktop/devtools",
"frust-shell-android/devtools",
"frust-shell-ios/devtools",
]
gpu = [
"dep:frust-gpu",
"dep:wgpu",
"frust-shell-common/gpu",
"frust-shell-desktop/gpu",
"frust-shell-android/gpu",
"frust-shell-ios/gpu",
]
perf-trace = [
"frust-shell-desktop/perf-trace",
"frust-shell-android/perf-trace",
"frust-shell-ios/perf-trace",
]
[lib]
name = "frust"
path = "src/lib.rs"
[[test]]
name = "authoring_seam_conformance"
path = "tests/authoring_seam_conformance.rs"
[[test]]
name = "authoring_seam_resolves"
path = "tests/authoring_seam_resolves.rs"
[[test]]
name = "comment_residue_conformance"
path = "tests/comment_residue_conformance.rs"
[[test]]
name = "focus_edge_commit_conformance"
path = "tests/focus_edge_commit_conformance.rs"
[[test]]
name = "gpu_seam"
path = "tests/gpu_seam.rs"
[[test]]
name = "interaction_basics"
path = "tests/interaction_basics.rs"
[[test]]
name = "interaction_text_input"
path = "tests/interaction_text_input.rs"
[[test]]
name = "nav_shell"
path = "tests/nav_shell.rs"
[[test]]
name = "surface_mode_conformance"
path = "tests/surface_mode_conformance.rs"
[[test]]
name = "theme_ladder_conformance"
path = "tests/theme_ladder_conformance.rs"
[[test]]
name = "theme_reactivity_spike"
path = "tests/theme_reactivity_spike.rs"
[dependencies.any_spawner]
version = "0.3"
[dependencies.anyhow]
version = "1"
[dependencies.frust-core]
version = "0.5.2"
[dependencies.frust-gpu]
version = "0.5.2"
optional = true
[dependencies.frust-reactive]
version = "0.5.2"
[dependencies.frust-render]
version = "0.5.2"
[dependencies.frust-scene]
version = "0.5.2"
[dependencies.frust-shell-android]
version = "0.5.2"
[dependencies.frust-shell-common]
version = "0.5.2"
[dependencies.frust-shell-ios]
version = "0.5.2"
[dependencies.frust-text]
version = "0.5.2"
[dependencies.frust-theme]
version = "0.5.2"
[dependencies.frust-widgets]
version = "0.5.2"
[dependencies.kurbo]
version = "0.13.1"
[dependencies.peniko]
version = "0.6.1"
[dependencies.reactive_graph]
version = "0.2"
[dependencies.wgpu]
version = "30.0.1"
features = [
"std",
"parking_lot",
"wgsl",
]
optional = true
default-features = false
[dev-dependencies.frust-core]
version = "0.5.2"
[dev-dependencies.image]
version = "=0.25.10"
features = [
"png",
"jpeg",
]
default-features = false
[dev-dependencies.peniko]
version = "0.6.1"
[target.'cfg(not(any(target_os = "android", target_os = "ios", target_arch = "wasm32")))'.dependencies.frust-shell-desktop]
version = "0.5.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1.7"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_log]
version = "1.0.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.frust-shell-web]
version = "0.5.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.log]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "=0.2.128"
[target.'cfg(target_os = "linux")'.dependencies.frust-shell-linux]
version = "0.5.2"
[target.'cfg(target_os = "macos")'.dependencies.frust-shell-macos]
version = "0.5.2"
[target.'cfg(target_os = "windows")'.dependencies.frust-shell-windows]
version = "0.5.2"