cranpose 0.1.21

Cranpose runtime and UI facade
Documentation
[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"] # Enable robot testing support (cranpose-ui now always included)

[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",
    # Clipboard support
    "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",
] }
# iOS file picker (UIDocumentPickerViewController). Only pulled in with the
# `ios` feature.
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",
] }