whisker-dev-runtime 0.4.1

Development-only runtime: WebSocket client + hot-reload patch receiver.
Documentation
[package]
name = "whisker-dev-runtime"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Development-only runtime: WebSocket client + hot-reload patch receiver."

[features]
default = []
# Pulls in the WebSocket client + subsecond bindings. `whisker-driver`
# turns this on through its own `hot-reload` feature; release builds
# get an empty crate.
hot-reload = [
    "dep:tokio",
    "dep:tokio-tungstenite",
    "dep:futures-util",
    "dep:serde",
    "dep:serde_json",
    "dep:subsecond",
    "dep:subsecond-types",
    "dep:libc",
]

[dependencies]
whisker-runtime = { workspace = true }

# Hot-reload-only — every dep below disappears from release builds.
tokio = { workspace = true, optional = true, features = ["rt", "macros", "net", "io-util", "sync", "time"] }
tokio-tungstenite = { workspace = true, optional = true, features = ["connect"] }
futures-util = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
subsecond = { workspace = true, optional = true }
subsecond-types = { workspace = true, optional = true }
# `pipe(2)` / `dup2` / `read` / `STDOUT_FILENO` for `log_capture` —
# every device target we support is POSIX (Android NDK, iOS, macOS host,
# Linux host), so libc covers the whole matrix.
libc = { workspace = true, optional = true }