[package]
name = "cranpose"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
description = "Cranpose runtime and UI facade"
[package.metadata.cargo-machete]
ignored = ["cranpose-render-pixels"]
[features]
default = []
desktop = [
"cranpose-app-shell/clipboard-native",
"cranpose-platform-desktop-winit",
"dep:x11rb",
"dep:winit",
]
ios = []
android = ["cranpose-platform-android"]
web = ["cranpose-platform-web", "dep:wasm-bindgen", "dep:web-sys"]
renderer-pixels = ["cranpose-render-pixels"]
renderer-wgpu = ["cranpose-render-wgpu", "dep:wgpu", "dep:pollster"]
robot = ["cranpose-app-shell/test-support"]
[dependencies]
cranpose-app-shell = { workspace = true }
cranpose-core = { workspace = true }
cranpose-ui = { workspace = true }
cranpose-platform-desktop-winit = { workspace = true, optional = true }
cranpose-platform-android = { workspace = true, optional = true }
cranpose-platform-web = { workspace = true, optional = true }
cranpose-render-pixels = { workspace = true, optional = true }
cranpose-render-wgpu = { workspace = true, optional = true }
pollster = { version = "0.4", optional = true }
winit = { version = "0.31.0-beta.2", optional = true }
wasm-bindgen = { version = "0.2", optional = true }
web-sys = { version = "0.3", optional = true, features = [
"Window",
"Location",
"Document",
"Element",
"HtmlElement",
"HtmlCanvasElement",
"CanvasRenderingContext2d",
"Performance",
"MouseEvent",
"Touch",
"TouchList",
"TouchEvent",
"PointerEvent",
"WheelEvent",
"KeyboardEvent",
"CssStyleDeclaration",
"Navigator",
"Clipboard",
"ClipboardEvent",
"DataTransfer",
] }
log = "0.4"
cranpose-services = { workspace = true, default-features = false }
thiserror = "2.0.18"
web-time = { workspace = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
console_error_panic_hook = "0.1"
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"webgpu",
"webgl",
"wgsl",
] }
[target.'cfg(target_os = "android")'.dependencies]
android-activity = { workspace = true }
android_logger = "0.15"
jni = "0.22.4"
ndk = "0.9.0"
raw-window-handle = "0.6"
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"gles",
"vulkan",
"wgsl",
] }
[target.'cfg(all(target_os = "linux", not(target_arch = "wasm32")))'.dependencies]
x11rb = { version = "0.13.2", optional = true }
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"gles",
"vulkan",
"wgsl",
] }
[target.'cfg(target_os = "windows")'.dependencies]
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"dx12",
"wgsl",
] }
[target.'cfg(target_os = "macos")'.dependencies]
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"metal",
"wgsl",
] }
[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android"), not(target_os = "linux"), not(target_os = "windows"), not(target_os = "macos")))'.dependencies]
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"gles",
"vulkan",
"wgsl",
] }