[package]
name = "open-gpui"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "Open GPUI's GPU-accelerated UI framework forked from Zed GPUI."
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "README.md"
license.workspace = true
keywords = ["desktop", "gui", "immediate"]
categories = ["gui"]
autoexamples = false
[lints]
workspace = true
[features]
default = ["font-kit", "wayland", "x11", "windows-manifest"]
test-support = [
"leak-detection",
"open_gpui_collections/test-support",
"open_gpui_http_client/test-support",
"wayland",
"x11",
"proptest",
]
inspector = ["open_gpui_macros/inspector"]
leak-detection = ["backtrace"]
wayland = [
"bitflags",
]
x11 = [
"scap?/x11",
]
screen-capture = [
"scap",
]
windows-manifest = ["dep:embed-resource"]
input-latency-histogram = ["dep:hdrhistogram"]
[lib]
path = "src/gpui.rs"
doctest = false
[dependencies]
accesskit.workspace = true
anyhow.workspace = true
async-task = "4.7"
backtrace = { workspace = true, optional = true }
bitflags = { workspace = true, optional = true }
open_gpui_collections.workspace = true
ctor.workspace = true
derive_more.workspace = true
etagere = "0.2"
futures.workspace = true
futures-concurrency.workspace = true
open_gpui_macros.workspace = true
open_gpui_shared_string.workspace = true
open_gpui_http_client.workspace = true
image.workspace = true
inventory.workspace = true
itertools.workspace = true
log.workspace = true
num_cpus = "1.13"
parking = "2.0.0"
parking_lot.workspace = true
postage.workspace = true
proptest = { workspace = true, optional = true }
chrono.workspace = true
profiling.workspace = true
rand.workspace = true
raw-window-handle = "0.6"
regex.workspace = true
open_gpui_refineable.workspace = true
open_gpui_scheduler.workspace = true
resvg = { version = "0.45.0", default-features = false, features = [
"text",
"system-fonts",
"memmap-fonts",
"raster-images"
] }
usvg = { version = "0.45.0", default-features = false }
ttf-parser = "0.25"
open_gpui_util_macros.workspace = true
schemars.workspace = true
seahash = "4.1"
serde.workspace = true
serde_json.workspace = true
slotmap.workspace = true
smallvec.workspace = true
async-channel.workspace = true
stacksafe.workspace = true
strum.workspace = true
open_gpui_sum_tree.workspace = true
taffy = "=0.10.1"
thiserror.workspace = true
open_gpui_core_util.workspace = true
hdrhistogram = { workspace = true, optional = true }
waker-fn = "1.2.0"
lyon = "1.0"
pin-project = "1.1.10"
spin = "0.10.0"
pollster.workspace = true
url.workspace = true
uuid.workspace = true
web-time.workspace = true
heapless.workspace = true
[target.'cfg(target_family = "wasm")'.dependencies]
getrandom = { version = "0.3.4", features = ["wasm_js"] }
uuid = { workspace = true, features = ["js"] }
[target.'cfg(target_os = "macos")'.dependencies]
block = "0.1"
cocoa.workspace = true
cocoa-foundation.workspace = true
core-foundation.workspace = true
core-foundation-sys.workspace = true
core-graphics = "0.24"
core-video.workspace = true
core-text = "21"
font-kit = { package = "open-gpui-font-kit", version = "0.14.3", optional = true }
foreign-types = "0.5"
log.workspace = true
open_gpui_media.workspace = true
objc.workspace = true
objc2 = { version = "0.6", optional = true }
objc2-metal = { version = "0.3", optional = true }
mach2.workspace = true
metal.workspace = true
[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "macos"))'.dependencies]
pathfinder_geometry = "0.5"
[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "windows"))'.dependencies]
scap = { workspace = true, optional = true }
[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.61", features = ["Win32_Foundation"] }
[dev-dependencies]
backtrace.workspace = true
open_gpui_collections = { workspace = true, features = ["test-support"] }
env_logger.workspace = true
open_gpui_core_util = { workspace = true }
lyon = { version = "1.0", features = ["extra"] }
proptest = { workspace = true }
rand.workspace = true
open_gpui_scheduler = { workspace = true, features = ["test-support"] }
unicode-segmentation = { workspace = true }
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
open_gpui_http_client = { workspace = true, features = ["test-support"] }
[build-dependencies]
embed-resource = { version = "3.0", optional = true }
[target.'cfg(target_os = "macos")'.build-dependencies]
bindgen = "0.71"
cbindgen = { version = "0.28.0", default-features = false }