Seregon/StratoSDK

StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.

Rust/27.3 KB/No license
crates/strato-ui-renderer/Cargo.toml
1[package]
2name = "strato-ui-renderer"
3version = "0.0.0"
4edition = "2021"
5authors = ["Warp Team <dev@warp.dev>", "StratoSDK Team"]
6publish = false
7license = "MIT"
8description = "Quarantined MIT import of Strato UI renderer for StratoSDK clean-room adaptation"
9 
10[lib]
11name = "strato_ui"
12 
13[features]
14# Enabling this feature works around a bug in Metal frame capture by loading
15# Metal shaders from the file system instead of from data compiled into the
16# binary. The shaders are written to the temp directory during initialization of
17# a renderer to enable this, which could slow opening of the first window.
18enable-metal-frame-capture = []
19# Enables the font-kit rasterizer on Windows.
20fontkit-rasterizer = []
21traces = ["strato_ui_core/traces"]
22# Feature enabled only when app is compiled for integration tests.
23integration_tests = ["strato_ui_core/integration_tests"]
24# If enabled, writes named telemetry events to the info log. Should never be
25# enabled in release builds without a PII audit of telemetry data.
26log_named_telemetry_events = ["strato_ui_core/log_named_telemetry_events"]
27schema_gen = ["strato_ui_core/schema_gen"]
28# Enables utilities for testing.
29test-util = ["strato_ui_core/test-util"]
30experimental-wgpu-renderer = ["dep:wgpu", "dep:bytemuck", "dep:version-compare"]
31 
32[dependencies]
33async-task.workspace = true
34anyhow.workspace = true
35bytemuck = { workspace = true, features = ["derive"], optional = true }
36cfg-if.workspace = true
37dashmap.workspace = true
38derive_more.workspace = true
39futures.workspace = true
40futures-util.workspace = true
41instant.workspace = true
42itertools.workspace = true
43lazy_static.workspace = true
44log.workspace = true
45num-traits.workspace = true
46ordered-float.workspace = true
47parking_lot.workspace = true
48pathfinder_color.workspace = true
49pathfinder_geometry.workspace = true
50takecell = "0.1.1"
51thiserror.workspace = true
52vec1.workspace = true
53version-compare = { workspace = true, optional = true }
54strato_ui_core = { package = "strato-ui-core", path = "../strato-ui-core" }
55wgpu = { workspace = true, optional = true }
56 
57[dev-dependencies]
58env_logger.workspace = true
59futures-timer = "3.0.2"
60image = { workspace = true, default-features = false, features = ["png"] }
61rust-embed.workspace = true
62strato_ui = { package = "strato-ui-renderer", path = ".", features = ["test-util"] }
63strato_ui_core = { package = "strato-ui-core", path = "../strato-ui-core", features = ["test-util"] }
64 
65[target.'cfg(target_os = "macos")'.dependencies]
66block.workspace = true
67chrono.workspace = true
68cocoa.workspace = true
69core-foundation.workspace = true
70core-graphics.workspace = true
71core-text.workspace = true
72dispatch = "0.2.0"
73font-kit.workspace = true
74foreign-types = "0.5.0"
75libc.workspace = true
76metal = "0.33.0"
77objc.workspace = true
78 
79[target.'cfg(target_os = "macos")'.dev-dependencies]
80rand.workspace = true
81 
82[target.'cfg(not(target_family = "wasm"))'.dependencies]
83async-io.workspace = true
84ctrlc.workspace = true
85font-kit.workspace = true
86 
87[target.'cfg(not(target_os = "macos"))'.dependencies]
88bimap = "0.6.2"
89bytemuck.workspace = true
90cosmic-text.workspace = true
91derivative.workspace = true
92fontdb = "0.23.0"
93memmap2 = "0.9.3"
94owned_ttf_parser = "0.25.0"
95resvg.workspace = true
96serde.workspace = true
97version-compare.workspace = true
98winit.workspace = true
99wgpu.workspace = true
100 
101[target.'cfg(not(any(target_os = "macos", target_family = "wasm")))'.dependencies]
102global-hotkey = "0.7.0"
103 
104[target.'cfg(target_family = "wasm")'.dependencies]
105gloo.workspace = true
106js-sys = "0.3.69"
107wasm-bindgen.workspace = true
108wasm-bindgen-futures.workspace = true
109web-sys.workspace = true
110 
111[target.'cfg(all(target_family = "wasm"))'.dependencies.wgpu]
112workspace = true
113features = ["fragile-send-sync-non-atomic-wasm", "webgl"]
114 
115[target.'cfg(any(target_os = "linux", target_os = "windows"))'.dependencies]
116arboard = { workspace = true, features = [
117 "wayland-data-control",
118 "image-data",
119] }
120native-dialog = "0.7.0"
121open = "5.0.0"
122 
123[target.'cfg(target_os = "linux")'.dependencies]
124blocking.workspace = true
125dirs.workspace = true
126# On Linux, use dlopen to locate fontconfig at runtime. Other platforms should not depend on fontconfig at all.
127font-kit = { workspace = true, default-features = false, features = [
128 "source-fontconfig-dlopen",
129] }
130futures-lite.workspace = true
131nix = { workspace = true, features = ["user"] }
132notify-rust = "4.10.0"
133open = "5.0.0"
134tini = "1.3.0"
135urlencoding = "2.1.3"
136x11rb.workspace = true
137x11-dl = "2.21.0"
138zbus.workspace = true
139 
140[target.'cfg(target_os = "windows")'.dependencies]
141dwrote = { version = "0.11", default-features = false }
142winreg.workspace = true
143windows = { workspace = true, features = [
144 "Win32_Graphics_Dwm",
145 "Win32_Graphics_DirectWrite",
146 "Win32_UI_Shell",
147 "Win32_Networking",
148 "Win32_System_Com",
149 "Win32_Networking_NetworkListManager",
150 "Win32_System_DataExchange",
151 "Win32_System_Memory",
152] }
153windows-core.workspace = true
154windows-version = "0.1.2"
155tauri-winrt-notification = "0.7.0"
156 
157[build-dependencies]
158bindgen = "0.70.1"
159cc = { version = "1.0", features = ["parallel"] }
160cfg_aliases.workspace = true
161