[package] name = "masonry" version = "0.2.0" description = "Data-oriented Rust UI design toolkit." keywords = ["gui", "ui", "toolkit"] categories = ["gui", "internationalization", "accessibility"] edition.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true exclude = ["/doc/", ".gitignore"] rust-version.workspace = true [package.metadata.docs.rs] all-features = true # There are no platform specific docs. default-target = "x86_64-unknown-linux-gnu" targets = [] # rustdoc-scrape-examples tracking issue https://github.com/rust-lang/rust/issues/88791 cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] [features] default = [] # Enables tracing using tracy if the default Masonry tracing is used. # https://github.com/wolfpld/tracy can be connected to when this feature is enabled. tracy = [ "tracing-tracy/enable", "dep:tracing-tracy", "dep:wgpu-profiler", "wgpu-profiler/tracy", "vello/wgpu-profiler", ] [lints] workspace = true [dependencies] vello.workspace = true wgpu.workspace = true parley.workspace = true winit.workspace = true smallvec.workspace = true tracing = { workspace = true, features = ["default"] } image.workspace = true once_cell = "1.19.0" serde = { version = "1.0.204", features = ["derive"] } serde_json = "1.0.120" futures-intrusive = "0.5.0" pollster = "0.3.0" unicode-segmentation = "1.11.0" # TODO: Is this still the most up-to-date crate for this? xi-unicode = "0.3.0" tracing-subscriber = { version = "0.3.18", features = ["env-filter", "time"] } accesskit.workspace = true accesskit_winit.workspace = true time = { workspace = true, features = ["macros", "formatting"] } cursor-icon = "1.1.0" dpi.workspace = true nv-flip.workspace = true tracing-tracy = { version = "0.11.3", optional = true } wgpu-profiler = { optional = true, version = "0.17.0", default-features = false } [target.'cfg(target_arch = "wasm32")'.dependencies] web-time.workspace = true [dev-dependencies] float-cmp = { version = "0.9.0", features = ["std"], default-features = false } image = { workspace = true, features = ["png"] } insta = { version = "1.39.0" } assert_matches = "1.5.0" tempfile = "3.10.1" # Make wgpu use tracing for its spans. profiling = { version = "1.0.15", features = ["profile-with-tracing"] } [target.'cfg(target_os = "android")'.dependencies] tracing_android_trace = "0.1.0" [[example]] name = "simple_image" #required-features = ["image", "png"] # This actually enables scraping for all examples, not just this one. # However it is possible to set doc-scrape-examples to false for other specific examples. doc-scrape-examples = true