[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 = [
"cranpose-platform-desktop-winit",
"dep:winit",
"dep:objc2",
"dep:objc2-foundation",
"dep:objc2-ui-kit",
"dep:objc2-uniform-type-identifiers",
]
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(target_os = "ios")'.dependencies]
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"metal",
"wgsl",
] }
objc2 = { version = "0.6", optional = true }
objc2-foundation = { version = "0.3", default-features = false, optional = true, features = [
"std",
"NSArray",
"NSEnumerator",
"NSError",
"NSObject",
"NSSet",
"NSString",
"NSURL",
] }
objc2-ui-kit = { version = "0.3", default-features = false, optional = true, features = [
"std",
"block2",
"objc2-uniform-type-identifiers",
"UIApplication",
"UIDocumentPickerViewController",
"UIResponder",
"UIScene",
"UISceneSession",
"UIView",
"UIViewController",
"UIWindow",
"UIWindowScene",
] }
objc2-uniform-type-identifiers = { version = "0.3", default-features = false, optional = true, features = [
"std",
"UTCoreTypes",
"UTType",
] }
[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android"), not(target_os = "linux"), not(target_os = "windows"), not(target_os = "macos"), not(target_os = "ios")))'.dependencies]
wgpu = { version = "29.0", optional = true, default-features = false, features = [
"std",
"parking_lot",
"gles",
"vulkan",
"wgsl",
] }