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