[package] name = "punktfunk-client-session" description = "punktfunk/1 Vulkan session binary — SDL3 window, ash presenter, terminal stats; the power-user / gamescope stream client" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true authors.workspace = true repository.workspace = true [[bin]] name = "punktfunk-session" path = "src/main.rs" [features] default = ["ui"] # The Skia console UI (stats OSD, capture HUD, later the gamepad library). Dropping it # (`--no-default-features`) is the ~15 MB-smaller power-user build: same streaming, # stats on stdout only. ui = ["dep:pf-console-ui", "dep:serde_json"] # Same Linux+Windows gating as the rest of the client stack; elsewhere this is a stub # binary. [target.'cfg(any(target_os = "linux", windows))'.dependencies] pf-presenter = { path = "../../crates/pf-presenter" } pf-console-ui = { path = "../../crates/pf-console-ui", optional = true } pf-client-core = { path = "../../crates/pf-client-core" } punktfunk-core = { path = "../../crates/punktfunk-core", features = ["quic"] } # The fake-library dev hook (`PUNKTFUNK_FAKE_LIBRARY`, browse mode) parses GameEntry JSON. serde_json = { version = "1", optional = true } anyhow = "1" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Embeds the app icon as an exe resource (build.rs) — Windows hosts only (rc.exe from # the SDK); same pattern as clients/windows. [target.'cfg(windows)'.build-dependencies] winresource = "0.1"