[package]
name = "operad"
version = "8.0.1"
edition = "2021"
license = "MIT"
description = "A cross-platform GUI library for Rust."
homepage = "https://github.com/Andrewp2/Operad"
repository = "https://github.com/Andrewp2/Operad"
readme = "README.md"
keywords = ["ui", "widgets", "rendering", "wgpu", "accessibility"]
categories = ["gui", "rendering", "development-tools::testing"]
include = [
"CHANGELOG.md",
"Cargo.lock",
"Cargo.toml",
"LICENSE",
"README.md",
"docs/getting_started.md",
"docs/just_work_principles.md",
"docs/release_process.md",
"docs/v7_0_migration_guide.md",
"docs/v7_0_performance.md",
"docs/v8_0_api_stability.md",
"docs/v8_0_completion_audit.md",
"docs/v8_0_roadmap.md",
"docs/widget_inventory.md",
"examples/**",
"scripts/**",
"src/**",
"tests/**",
"web/**",
]
[lib]
name = "operad"
path = "src/lib.rs"
[features]
default = ["widgets", "native-window"]
accesskit-winit = ["dep:accesskit", "dep:accesskit_winit", "dep:winit"]
egui = ["dep:egui"]
egui-renderer-compat = ["egui"]
wgpu = ["dep:wgpu", "dep:pollster", "dep:glyphon", "dep:epaint_default_fonts"]
native-window = ["wgpu", "text-cosmic", "dep:winit", "dep:arboard"]
text-cosmic = ["dep:cosmic-text", "dep:epaint_default_fonts"]
widgets = []
audit = []
web-runtime = [
"wgpu",
"text-cosmic",
"dep:console_error_panic_hook",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:web-sys",
]
web-showcase = ["web-runtime", "widgets"]
[[example]]
name = "minimal_native"
required-features = ["native-window"]
[[example]]
name = "minimal_web"
required-features = ["web-runtime"]
[[example]]
name = "simple_form"
required-features = ["native-window", "widgets"]
[[example]]
name = "canvas_app"
required-features = ["native-window", "widgets"]
[[example]]
name = "command_palette_hotkeys"
required-features = ["native-window", "widgets"]
[[example]]
name = "docked_workspace"
required-features = ["native-window", "widgets"]
[[example]]
name = "theme_customization"
required-features = ["native-window", "widgets"]
[[example]]
name = "animation_state_machine"
required-features = ["native-window", "widgets"]
[[example]]
name = "showcase"
required-features = ["native-window", "widgets"]
[[example]]
name = "showcase_web"
required-features = ["web-showcase"]
[[test]]
name = "api_surface"
required-features = ["widgets"]
[[test]]
name = "showcase_layout"
required-features = ["native-window", "widgets"]
[profile.dev]
opt-level = 1
[profile.test]
opt-level = 0
[dependencies]
accesskit = { version = "0.21.1", optional = true }
accesskit_winit = { version = "0.29.2", optional = true, default-features = false, features = ["rwh_06", "accesskit_unix", "async-io"] }
arboard = { version = "3.6.1", optional = true, features = ["wayland-data-control"] }
binpack2d = "1.0.1"
console_error_panic_hook = { version = "0.1.7", optional = true }
cosmic-text = { version = "0.18.2", optional = true }
egui = { version = "0.33.3", optional = true }
epaint_default_fonts = { version = "0.33.3", optional = true }
glyphon = { version = "0.11.0", optional = true }
lyon_tessellation = "1.0.20"
pollster = { version = "0.4.0", optional = true }
taffy = "0.10.1"
wasm-bindgen = { version = "0.2.121", optional = true }
wasm-bindgen-futures = { version = "0.4.71", optional = true }
web-sys = { version = "0.3.98", optional = true, features = [
"Clipboard",
"console",
"CssStyleDeclaration",
"Document",
"DomRect",
"Element",
"Event",
"EventTarget",
"HtmlCanvasElement",
"HtmlElement",
"KeyboardEvent",
"MouseEvent",
"Navigator",
"Node",
"Performance",
"PointerEvent",
"WheelEvent",
"Window",
] }
web-time = "1.1.0"
wgpu = { version = "29.0.3", optional = true, features = ["wgsl"] }
winit = { version = "0.30.12", optional = true }