[package]
name = "cyb"
version = "0.6.0"
edition = "2024"
description = "cyb โ immortal robot GUI (Bevy shell)"
license-file = "LICENSE"
repository = "https://github.com/cyberia-to/cyb"
homepage = "https://cyb.ai"
readme = "README.md"
keywords = ["cyber", "cyb", "bevy", "robot"]
categories = ["gui", "multimedia"]
[lib]
name = "cyb"
crate-type = ["cdylib", "lib"]
path = "src/lib.rs"
bin
name = "cyb"
path = "src/main.rs"
[dependencies]
ureq = { version = "3", features = ["json"] }
zheng = { path = "../../zheng/rs" }
nebu = { package = "strata-nebu", path = "../../strata/nebu/rs" }
# vault: encrypted-at-rest secrets (pure-rust, all platforms)
chacha20poly1305 = "0.10"
getrandom = "0.2"
sha2 = "0.10"
sha1 = "0.10"
hmac = "0.12"
base32 = "0.5"
soma-kernel = { path = "../../soma/kernel" }
# cyb workspace crates
cyb-core = { path = "../core" }
hemera = { package = "cyber-hemera", version = "0.3", path = "../../hemera/rs" }
mudra = { package = "cyber-mudra", path = "../../mudra" }
tru = { package = "cyber-tru", path = "../../tru/rs" }
tape = { package = "cyber-tape", path = "../../tape/impl/rust" }
prysm = { path = "../../prysm" }
# rune โ open-computation language; terminal `rune` command path
rune-ast = { path = "../../rune/rs/ast" }
rune-parse = { path = "../../rune/rs/parse" }
rune-lower = { path = "../../rune/rs/lower" }
rune-interp = { path = "../../rune/rs/interp" }
rune-subject = { path = "../../rune/rs/subject" }
rune-prysm = { path = "../../rune/rs/prysm" }
# One app on every platform (portable-backends.md). mir carries honeycrisp
# only on Apple targets; the nushell stack is pure Rust and cross-compiles.
bevy = { workspace = true }
mir = { path = "../../mir", features = ["bevy-plugin"] }
serde = { workspace = true }
serde_json = { workspace = true }
chrono = "0.4"
nu-protocol = { path = "../../nu/crates/nu-protocol" }
nu-engine = { path = "../../nu/crates/nu-engine" }
nu-parser = { path = "../../nu/crates/nu-parser" }
nu-command = { path = "../../nu/crates/nu-command", default-features = false, features = ["os"] }
nu-cmd-lang = { path = "../../nu/crates/nu-cmd-lang" }
nu-cmd-extra = { path = "../../nu/crates/nu-cmd-extra" }
nu-cli = { path = "../../nu/crates/nu-cli" }
nu-std = { path = "../../nu/crates/nu-std" }
nu-utils = { path = "../../nu/crates/nu-utils" }
# Vulkan platforms: raw device-extension callback (see app.rs) speaks ash โ
# the same one wgpu-hal builds against.
[target.'cfg(target_os = "android")'.dependencies]
# The soft keyboard speaks GameTextInput; bevy re-exports the same crate it
# drives the activity with, so the versions cannot drift.
android-activity = "0.6.1"
libc = "0.2"
[target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies]
ash = "0.38"
# Adds the raw-vulkan-init hooks only where Vulkan exists; with resolver v2
# this feature never reaches the macOS build (where bevy_render's module
# would fail against a Metal-only wgpu).
bevy = { workspace = true, features = ["raw_vulkan_init"] }
# Desktop-only surfaces: global hotkeys, the tray, the pasteboard.
[target.'cfg(not(target_os = "android"))'.dependencies]
global-hotkey = "0.7.0"
tray-icon = "0.21"
arboard = "3"
# The local mind, on every body. Fetching models stays desktop-only (the
# import pipeline shells to python3); the phone receives weights pushed to
# it until p2p distribution lands.
[target.'cfg(target_os = "macos")'.dependencies]
glia-import = { package = "import", path = "../../glia/import" }