[package]
edition = "2024"
name = "craft_core"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for the Craft GUI framework."
homepage = "https://craftgui.com/"
readme = false
license-file = "LICENSE"
repository = "https://github.com/craft-gui/craft"
resolver = "2"
[features]
default = [
"vello_renderer",
"http_client",
]
dev_tools = []
dynamic_linking = []
http_client = ["dep:reqwest"]
vello_cpu_renderer = [
"dep:vello_cpu",
"dep:softbuffer",
"dep:vello_common",
]
vello_hybrid_renderer = [
"dep:vello_hybrid",
"dep:vello_common",
"dep:wgpu",
"wgpu/fragile-send-sync-non-atomic-wasm",
]
vello_renderer = [
"dep:vello",
"dep:wgpu",
"wgpu/fragile-send-sync-non-atomic-wasm",
]
[lib]
name = "craft_core"
path = "src/lib.rs"
[dependencies.bitflags]
version = "2.9.0"
features = ["std"]
[dependencies.cfg-if]
version = "1.0.0"
[dependencies.chrono]
version = "0.4.41"
features = ["std"]
default-features = false
[dependencies.craft_logging]
version = "0.1.0"
[dependencies.glam]
version = "0.30.3"
features = ["std"]
default-features = false
[dependencies.image]
version = "0.25.6"
features = [
"jpeg",
"png",
]
default-features = false
[dependencies.parley]
version = "0.4.0"
features = [
"std",
"system",
]
default-features = false
[dependencies.peniko]
version = "0.4.0"
features = ["std"]
default-features = false
[dependencies.rustc-hash]
version = "2.1.1"
features = ["std"]
default-features = false
[dependencies.softbuffer]
version = "0.4.6"
optional = true
[dependencies.taffy]
version = "0.8.1"
features = [
"std",
"taffy_tree",
"flexbox",
"content_size",
"block_layout",
]
default-features = false
[dependencies.tinyvg-rs]
version = "0.0.1"
default-features = false
[dependencies.vello]
version = "0.5.0"
features = ["wgpu"]
optional = true
default-features = false
[dependencies.vello_common]
version = "0.0.1"
optional = true
[dependencies.vello_cpu]
version = "0.0.1"
optional = true
[dependencies.vello_hybrid]
version = "0.5.0"
optional = true
package = "vello_hybrid_craft"
[dependencies.wgpu]
version = "24.0.3"
features = ["wgsl"]
optional = true
default-features = false
[target.'cfg(any(target_os = "windows", target_os = "macos", target_os = "linux"))'.dependencies.clipboard-rs]
version = "0.2.4"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.45.0"
features = [
"rt-multi-thread",
"sync",
"time",
]
default-features = false
[target.'cfg(not(target_os = "android"))'.dependencies.reqwest]
version = "0.12.15"
features = ["native-tls"]
optional = true
default-features = false
[target.'cfg(not(target_os = "android"))'.dependencies.winit]
version = "0.30.10"
features = []
package = "winit_craft"
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
version = "1.45.0"
features = [
"sync",
"time",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.100"
features = [
"std",
"msrv",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.50"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.77"
features = [
"Document",
"Window",
"Element",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.web-time]
version = "1.1.0"
features = []
default-features = false
[target.'cfg(target_os = "android")'.dependencies.reqwest]
version = "0.12.15"
features = ["rustls-tls"]
optional = true
default-features = false
[target.'cfg(target_os = "android")'.dependencies.winit]
version = "0.30.10"
features = ["android-native-activity"]
package = "winit_craft"