[package] name = "galaxyui_core" version = "0.1.0" edition = "2021" authors.workspace = true publish.workspace = true license = "MIT" [features] traces = [] tui = ["dep:ratatui"] # Feature enabled only when app is compiled for integration tests. integration_tests = ["dep:minimp4", "dep:openh264"] # When enabled, skip eager scene building from the window-invalidation callback # and rely on the normal platform redraw path instead; see core/app.rs. defer_scene_build = [] # If enabled, writes named telemetry events to the info log. Should never be # enabled in release builds without a PII audit of telemetry data. log_named_telemetry_events = [] schema_gen = ["dep:schemars"] settings_value = ["dep:settings_value"] # Enables utilities for testing. test-util = [] [dependencies] anyhow = "1.0" async-broadcast.workspace = true async-channel.workspace = true async-executor = "1.4.1" async-task.workspace = true async-fs.workspace = true bounded-vec-deque.workspace = true bytes.workspace = true cfg-if.workspace = true chrono = "0.4" dashmap.workspace = true derivative.workspace = true derive_more.workspace = true dirs.workspace = true enum-iterator.workspace = true float-cmp.workspace = true futures = "0.3" futures-lite.workspace = true futures-util = { version = "0.3", default-features = false } image.workspace = true minimp4 = { workspace = true, optional = true } openh264 = { workspace = true, optional = true } infer = "0.19.0" instant.workspace = true itertools.workspace = true lazy_static = "1.4.0" log = "0.4" schemars = { version = "1", optional = true } settings_value = { workspace = true, optional = true, features = ["derive"] } markdown_parser.workspace = true num-derive = "0.4.2" num-traits.workspace = true num_cpus = "1.0" ordered-float = "3.0.0" parking_lot.workspace = true pathfinder_color.workspace = true pathfinder_geometry.workspace = true rand.workspace = true rangemap.workspace = true ratatui = { version = "0.30", optional = true, features = [ "unstable-rendered-line-info", ] } raw-window-handle = "0.6.2" resvg.workspace = true rstar = "0.12.2" rustc-hash.workspace = true serde = { version = "1.0", features = ["derive", "rc"] } serde_json.workspace = true similar.workspace = true smallvec.workspace = true string-offset.workspace = true strum.workspace = true strum_macros.workspace = true sum_tree.workspace = true tempfile.workspace = true thiserror.workspace = true titlecase = "1.0" tokio.workspace = true tracing.workspace = true trait-set = "0.3.0" vec1.workspace = true galaxy_util.workspace = true [dev-dependencies] command = { workspace = true, features = ["test-util"] } concat-idents.workspace = true tempfile = "3.2.0" ctor = "0.1.19" rust-embed.workspace = true simplelog.workspace = true # Enable the `test-util` feature for our own package when running tests. galaxyui_core = { path = ".", features = ["test-util"] } [target.'cfg(not(target_family = "wasm"))'.dependencies] async-io.workspace = true ctrlc.workspace = true font-kit.workspace = true tokio = { workspace = true, features = ["rt-multi-thread"] } [target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "windows"))'.dependencies] arboard = { workspace = true, features = ["image-data"] } [target.'cfg(target_family = "wasm")'.dependencies] gloo.workspace = true wasm-bindgen-futures.workspace = true woothee = "0.13.0" [build-dependencies] cfg_aliases.workspace = true # The TUI integration test references tui-only API, so it must be skipped # entirely when the feature is off; `required-features` needs an explicit # target section.