bite-gpui 1.25.202

Zed's GPU-accelerated UI framework
Documentation
[package]
name = "bite-gpui"
version = "1.25.202"
edition.workspace = true
authors = ["Nathan Sobo <nathan@zed.dev>"]
description = "Zed's GPU-accelerated UI framework"
repository = "https://github.com/bite-gpui/bite-gpui"
license = "Apache-2.0"
homepage = "https://bite-gpui.github.io/"
readme = "README.md"
keywords = ["desktop", "gui", "immediate"]
categories = ["gui"]


[lints]
workspace = true

[features]
# The platform bundle: pulls in the backend for the target OS, hosts the
# `application()`, `headless()`, and `current_platform()` entrypoints, and turns
# on the windowing and text features a desktop build needs.
#
# `default-features = false` drops it, leaving a headless gpui with no platform
# dependencies compiled.
default = ["platform", "multithreaded"]
platform = [
    "dep:gpui_linux",
    "dep:gpui_macos",
    "dep:gpui_windows",
    "dep:gpui_web",
    "font-kit",
    "wayland",
    "x11",
    "windows-manifest",
]
# Threads in the browser: needs a nightly toolchain and a cross-origin-isolated
# page. Off, gpui_web builds on stable.
multithreaded = ["gpui_web?/multithreaded"]
test-support = [
    "gpui_authoring/test-support",
    "gpui_linux?/test-support",
    "gpui_macos?/test-support",
    "gpui_windows?/test-support",
    "wayland",
    "x11",
]
bench-support = [
    "gpui_authoring/bench-support",
    "gpui_linux?/bench-support",
    "gpui_macos?/bench-support",
]
# Preserve the published feature name while consumers migrate to `bench-support`.
bench = ["bench-support"]
inspector = ["gpui_authoring/inspector"]
leak-detection = ["gpui_authoring/leak-detection"]
wayland = ["gpui_platform/wayland", "gpui_linux?/wayland"]
x11 = [
    "scap?/x11",
    "gpui_platform/x11",
    "gpui_linux?/x11",
]
screen-capture = [
    "scap",
    "gpui_platform/screen-capture",
    "gpui_linux?/screen-capture",
    "gpui_macos?/screen-capture",
    "gpui_windows?/screen-capture",
]
windows-manifest = ["dep:embed-resource"]
profiler = ["gpui_authoring/profiler"]
stacker = ["gpui_authoring/stacker"]
font-kit = ["dep:font-kit", "gpui_macos?/font-kit"]

[lib]
name = "gpui"
path = "src/gpui.rs"
doctest = false

[dependencies]
anyhow.workspace = true
gpui_authoring.workspace = true
# Not named in this crate's source: the `wayland`, `x11`, and `screen-capture`
# features forward to it. Those features belong to the platform layer, and the
# façade is the only crate that pulls in the platform backends.
gpui_platform.workspace = true
gpui_runtime.workspace = true

[target.'cfg(target_family = "wasm")'.dependencies]
gpui_web = { workspace = true, optional = true }

[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
gpui_linux = { workspace = true, optional = true }

[target.'cfg(target_os = "macos")'.dependencies]
gpui_macos = { workspace = true, optional = true }
# WARNING: If you change this, you must also publish a new version of zed-font-kit to crates.io
font-kit = { package = "zed-font-kit", version = "0.14.1-zed", optional = true }

[target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "windows"))'.dependencies]
scap = { workspace = true, optional = true }

[target.'cfg(target_os = "windows")'.dependencies]
gpui_windows = { workspace = true, optional = true }
windows.workspace = true


[dev-dependencies]
anyhow.workspace = true
backtrace.workspace = true
bench_metrics = { features = ["test-support"], package = "bite-gp-bench-metrics", path = "../bench_metrics" }
collections = { features = ["test-support"], package = "bite-gp-collections", path = "../collections" }
criterion.workspace = true
env_logger.workspace = true
gpui_macros.workspace = true
gpui_platform = { features = ["test-support"], package = "bite-gp-platform", path = "../gpui_platform" }
gpui_util = { package = "bite-gp-gpui-util", path = "../gpui_util" }
log.workspace = true
lyon = { version = "1.0", features = ["extra"] }
rand.workspace = true
scheduler = { features = ["test-support"], package = "bite-gp-scheduler", path = "../scheduler" }
schemars.workspace = true
serde.workspace = true
serde_json.workspace = true
unicode-segmentation.workspace = true

[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
http_client = { features = ["test-support"], package = "bite-gp-http-client", path = "../http_client" }
proptest = { workspace = true }
reqwest_client = { workspace = true, features = ["test-support"] }

# The `surface` example's producers. Dev-dependencies on purpose: the facade's own graph stays free
# of the renderer crates, and an example is the only thing in it that has to name a backend's types.
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dev-dependencies]
ash = "0.38"
gpui_wgpu.workspace = true
wgpu.workspace = true

[target.'cfg(target_os = "macos")'.dev-dependencies]
core-foundation.workspace = true
foreign-types.workspace = true
metal.workspace = true
pollster.workspace = true
wgpu.workspace = true

[target.'cfg(target_os = "windows")'.dev-dependencies]
windows.workspace = true

[target.'cfg(target_family = "wasm")'.dev-dependencies]
wasm-bindgen = { workspace = true }
web-sys = { version = "0.3", features = ["console"] }

[build-dependencies]
embed-resource = { version = "3.0", optional = true }

[target.'cfg(target_os = "macos")'.build-dependencies]
bindgen = "0.72"

[package.metadata.cargo-shear]
ignored = [
    "bindgen",
    "font-kit",
]

[[bench]]
name = "inspector_render"
harness = false
required-features = ["bench-support"]

[[bench]]
name = "randomized_element_tree"
harness = false
required-features = ["bench-support"]

[[example]]
name = "hello_world"
path = "examples/hello_world.rs"

[[example]]
name = "instrumented_pipeline"
path = "examples/instrumented_pipeline.rs"

[[example]]
name = "frame_pipeline_decorator"
path = "examples/frame_pipeline_decorator.rs"

[[example]]
name = "move_entity_between_windows"
path = "examples/move_entity_between_windows.rs"

[[example]]
name = "image"
path = "examples/image/image.rs"

[[example]]
name = "input"
path = "examples/input.rs"

[[example]]
name = "on_window_close_quit"
path = "examples/on_window_close_quit.rs"

[[example]]
name = "window_movable"
path = "examples/window_movable.rs"

[[example]]
name = "opacity"
path = "examples/opacity.rs"

[[example]]
name = "pattern"
path = "examples/pattern.rs"

[[example]]
name = "set_menus"
path = "examples/set_menus.rs"

[[example]]
name = "system_notifications"
path = "examples/system_notifications.rs"


[[example]]
name = "shadow"
path = "examples/shadow.rs"

[[example]]
name = "svg"
path = "examples/svg/svg.rs"

[[example]]
name = "tab_stop"
path = "examples/tab_stop.rs"

[[example]]
name = "text"
path = "examples/text.rs"

[[example]]
name = "text_wrapper"
path = "examples/text_wrapper.rs"

[[example]]
name = "tree"
path = "examples/tree.rs"

[[example]]
name = "uniform_list"
path = "examples/uniform_list.rs"

[[example]]
name = "window_shadow"
path = "examples/window_shadow.rs"

[[example]]
name = "grid_layout"
path = "examples/grid_layout.rs"

[[example]]
name = "list_example"
path = "examples/list_example.rs"

[[example]]
name = "mouse_pressure"
path = "examples/mouse_pressure.rs"

[[example]]
name = "a11y"
path = "examples/a11y.rs"

[[example]]
name = "view_example"
path = "examples/view_example/view_example_main.rs"

[package.metadata.bite]
source = "https://github.com/bite-gpui/bite-gpui.git"
branch = "bite_v1.25.x"
commit = "19271206c7e12504f1a0b3879a85c90df5d9b4c4"
upstream = "1.25.2"
amendment = 2
original = "gpui"