[package]
edition = "2024"
rust-version = "1.95"
name = "hydrolysis"
version = "0.1.0"
authors = ["Lexo Liu"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A modern UI framework for Rust"
readme = "README.md"
keywords = [
"ui",
"framework",
"rust",
"gui",
"water",
]
categories = ["gui"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/water-rs/waterui"
resolver = "2"
[package.metadata.cargo-machete]
ignored = [
"cfg_aliases",
"shaderloom",
]
[features]
accessibility = ["dep:accesskit"]
default = []
inspector-signals = ["waterui/inspector-signals"]
testing = []
web = [
"accessibility",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:web-sys",
]
webview-system = [
"dep:block2",
"dep:cookie",
"dep:futures",
"dep:objc2-web-kit",
"dep:serde_json",
]
winit = [
"accessibility",
"dep:winit",
"dep:ui-events-winit",
"dep:accesskit_winit",
"dep:ctrlc",
"dep:objc2",
"dep:objc2-app-kit",
"dep:objc2-core-graphics",
"dep:objc2-foundation",
"dep:objc2-quartz-core",
]
[lib]
name = "hydrolysis"
path = "src/lib.rs"
[[example]]
name = "wayland_showcase"
path = "examples/wayland_showcase.rs"
[[example]]
name = "wayland_smoke"
path = "examples/wayland_smoke.rs"
[[test]]
name = "hydrolysis_ext"
path = "tests/hydrolysis_ext.rs"
[[test]]
name = "real_engine_macos"
path = "tests/real_engine_macos.rs"
harness = false
required-features = [
"webview-system",
"winit",
]
[dependencies.accesskit]
version = "0.24"
optional = true
[dependencies.accesskit_winit]
version = "0.33.2"
optional = true
[dependencies.async-task]
version = "4.7"
[dependencies.executor-core]
version = "0.7.1"
features = ["std"]
[dependencies.keyboard-types]
version = "0.8.3"
default-features = false
[dependencies.lru]
version = "0.16"
[dependencies.nami]
version = "0.11.0"
[dependencies.native-executor]
version = "0.8.0"
[dependencies.parley]
version = "0.11"
features = ["system"]
default-features = false
[dependencies.png]
version = "0.18"
[dependencies.pollster]
version = "1.0"
[dependencies.rayon]
version = "1.12"
[dependencies.rustc-hash]
version = "2.1.3"
[dependencies.shaderloom]
version = "0.1.2"
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.ui-events-winit]
version = "0.3.0"
optional = true
[dependencies.unicode-segmentation]
version = "1.12"
[dependencies.vello]
version = "0.9"
[dependencies.waterkit-clipboard]
version = "0.1.0"
[dependencies.waterui]
version = "0.3.0"
features = [
"gpu",
"inspector",
]
default-features = false
[dependencies.waterui-assets]
version = "0.1.0"
[dependencies.waterui-backend-core]
version = "0.1.0"
features = [
"widgets",
"gestures",
]
default-features = false
[dependencies.waterui-controls]
version = "0.3.0"
[dependencies.waterui-core]
version = "0.3.0"
[dependencies.waterui-form]
version = "0.3.0"
[dependencies.waterui-graphics]
version = "0.3.0"
features = ["gpu"]
default-features = false
[dependencies.waterui-icon]
version = "0.3.0"
[dependencies.waterui-inspector-protocol]
version = "0.1.0"
[dependencies.waterui-layout]
version = "0.3.0"
[dependencies.waterui-locale]
version = "0.1.0"
[dependencies.waterui-map]
version = "0.1.0"
[dependencies.waterui-shape]
version = "0.1.0"
default-features = false
[dependencies.waterui-text]
version = "0.3.0"
[dependencies.waterui-webview]
version = "0.3.0"
[dependencies.wgpu]
version = "29.0.4"
[dependencies.winit]
version = "0.30"
optional = true
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.executor-core]
version = "0.7.1"
features = [
"std",
"async-executor",
]
[dev-dependencies.image]
version = "0.25"
features = ["png"]
default-features = false
[dev-dependencies.jiff]
version = "0.2"
features = ["serde"]
[dev-dependencies.tiny_http]
version = "0.12"
[build-dependencies.cfg_aliases]
version = "0.2.2"
[build-dependencies.shaderloom]
version = "0.1.2"
features = ["build"]
[target."cfg(any(unix, windows))".dependencies.ctrlc]
version = "3.5"
features = ["termination"]
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.serde]
version = "1.0"
features = [
"alloc",
"derive",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.serde_json]
version = "1"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
"Response",
"CompositionEvent",
"CssStyleDeclaration",
"Document",
"DomRect",
"Element",
"Event",
"EventTarget",
"HtmlCanvasElement",
"HtmlElement",
"HtmlInputElement",
"KeyboardEvent",
"Node",
"PointerEvent",
"WheelEvent",
"Window",
]
optional = true
[target.'cfg(target_os = "linux")'.dependencies]
[target.'cfg(target_os = "macos")'.dependencies.block2]
version = "0.6"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.cookie]
version = "0.18"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.futures]
version = "0.3"
features = [
"std",
"async-await",
]
optional = true
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.objc2]
version = "0.6"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-app-kit]
version = "0.3"
features = [
"NSAnimation",
"NSResponder",
"NSView",
"objc2-quartz-core",
]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-core-graphics]
version = "0.3"
features = ["CGPath"]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-foundation]
version = "0.3"
features = [
"NSArray",
"NSData",
"NSDate",
"NSDictionary",
"NSError",
"NSGeometry",
"NSHTTPCookie",
"NSJSONSerialization",
"NSObject",
"NSRunLoop",
"NSString",
"NSURL",
"NSURLError",
"NSURLRequest",
"NSURLResponse",
]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-quartz-core]
version = "0.3"
features = [
"CALayer",
"CADisplayLink",
"CAFrameRateRange",
"CAMetalLayer",
"CAShapeLayer",
"objc2-core-graphics",
]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-web-kit]
version = "0.3.2"
features = [
"std",
"block2",
"objc2-app-kit",
"objc2-core-foundation",
"WKBackForwardList",
"WKContentWorld",
"WKFrameInfo",
"WKSecurityOrigin",
"WKHTTPCookieStore",
"WKNavigation",
"WKNavigationAction",
"WKNavigationDelegate",
"WKNavigationResponse",
"WKScriptMessage",
"WKScriptMessageHandler",
"WKUserContentController",
"WKUserScript",
"WKWebView",
"WKWebViewConfiguration",
"WKWebsiteDataStore",
]
optional = true
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.serde_json]
version = "1"
optional = true