[workspace] resolver = "3" members = ["crates/slag-core", "crates/slag-gpui", "examples/hello"] [workspace.package] version = "0.1.0" edition = "2021" authors = ["puregarlic"] license = "Apache-2.0" [workspace.dependencies] slag-core = { path = "crates/slag-core" } slag-gpui = { path = "crates/slag-gpui" } # Async / runtime — only the mpsc channel that carries effects across the # tokio -> gpui boundary; apps bring their own runtime. tokio = { version = "1", features = ["sync"] } # Logging tracing = "0.1" # Steel scheme interpreter, the framework's scripting language. Deliberately # NON-sync (no `sync` feature): gpui is single-threaded, so values stay # Rc-based and one engine lives on the main thread. Note this does NOT relax # the `Send + Sync` bound on registered host functions — see `slag_core::host` # for why they reach component state through a thread-local. The package is # `steel-core` but its import path is `steel`, hence the alias. steel = { package = "steel-core", version = "0.8.2", default-features = false, features = ["std", "modules"] } # Hot-reload watcher for on-disk component packs. notify = "6" # UI — pinned to Zed/longbridge upstreams. Bump deliberately; both are pre-1.0. # `gpui` is deliberately specified WITHOUT branch/rev so it shares a cargo # source with `gpui-component`'s own zed dep — cargo unifies them into a single # rev in the lockfile. Diverging here means two `gpui::View` types in the # build, which breaks every gpui-component widget. Consumers must declare # their gpui deps the same way (see README). gpui = { git = "https://github.com/zed-industries/zed" } gpui_platform = { git = "https://github.com/zed-industries/zed" } gpui-component = { git = "https://github.com/longbridge/gpui-component" } gpui-component-assets = { git = "https://github.com/longbridge/gpui-component" } # Substitute our patched copy of Zed's Windows platform backend everywhere the # zed git source would supply it. Carries the DirectComposition first-present # fix for the intermittent transparent-window-on-launch failure; see # vendor/gpui_windows/LOCAL_PATCHES.md. Re-vendor when bumping the zed rev. # NOTE: [patch] only applies from the consuming workspace root, so downstream # apps must carry this stanza themselves (pointing at their own vendored copy # or this one). [patch."https://github.com/zed-industries/zed"] gpui_windows = { path = "vendor/gpui_windows" }