[package]
edition = "2024"
name = "ftui-runtime"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Elm-style runtime loop and subscriptions for FrankenTUI."
homepage = "https://github.com/Dicklesworthstone/frankentui"
documentation = "https://docs.rs/ftui-runtime"
readme = "README.md"
license = "MIT"
repository = "https://github.com/Dicklesworthstone/frankentui"
resolver = "2"
[features]
crossterm-compat = ["ftui-core/crossterm"]
default = []
hamt = ["dep:im"]
native-backend = ["dep:ftui-tty"]
render-thread = []
state-persistence = [
"dep:serde",
"dep:serde_json",
"dep:base64",
]
stdio-capture = []
telemetry = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-otlp",
"dep:tonic",
"dep:tracing-opentelemetry",
"dep:tracing-subscriber",
]
tracing = []
[lib]
name = "ftui_runtime"
path = "src/lib.rs"
[[test]]
name = "batch_quit"
path = "tests/batch_quit.rs"
[[test]]
name = "e2e_evidence_ledger"
path = "tests/e2e_evidence_ledger.rs"
[[test]]
name = "e2e_snapshot_store"
path = "tests/e2e_snapshot_store.rs"
[[test]]
name = "e2e_unified_evidence"
path = "tests/e2e_unified_evidence.rs"
[[test]]
name = "inline_reflow_policy"
path = "tests/inline_reflow_policy.rs"
[[test]]
name = "mpc_vs_pi_evaluation"
path = "tests/mpc_vs_pi_evaluation.rs"
[[test]]
name = "proptest_allocation_budget_invariants"
path = "tests/proptest_allocation_budget_invariants.rs"
[[test]]
name = "proptest_cost_model_invariants"
path = "tests/proptest_cost_model_invariants.rs"
[[test]]
name = "proptest_reactive_invariants"
path = "tests/proptest_reactive_invariants.rs"
[[test]]
name = "proptest_snapshot_store_invariants"
path = "tests/proptest_snapshot_store_invariants.rs"
[[test]]
name = "proptest_statistical_invariants"
path = "tests/proptest_statistical_invariants.rs"
[[test]]
name = "proptest_voi_conformal_invariants"
path = "tests/proptest_voi_conformal_invariants.rs"
[[test]]
name = "reactive_bindings_e2e"
path = "tests/reactive_bindings_e2e.rs"
[[test]]
name = "resize_migration_compat"
path = "tests/resize_migration_compat.rs"
[[test]]
name = "state_persistence_e2e"
path = "tests/state_persistence_e2e.rs"
[[bench]]
name = "telemetry_bench"
path = "benches/telemetry_bench.rs"
harness = false
required-features = ["telemetry"]
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.ftui-backend]
version = "0.2.0"
[dependencies.ftui-core]
version = "0.2.0"
[dependencies.ftui-i18n]
version = "0.2.0"
[dependencies.ftui-layout]
version = "0.2.0"
[dependencies.ftui-render]
version = "0.2.0"
[dependencies.ftui-style]
version = "0.2.0"
[dependencies.ftui-text]
version = "0.2.0"
[dependencies.ftui-tty]
version = "0.2.0"
optional = true
[dependencies.im]
version = "15.1"
optional = true
[dependencies.opentelemetry]
version = "0.31"
optional = true
[dependencies.opentelemetry-otlp]
version = "0.31"
features = [
"grpc-tonic",
"http-proto",
"reqwest-blocking-client",
]
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.31"
features = ["rt-tokio"]
optional = true
[dependencies.serde]
version = "1.0.227"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.145"
optional = true
[dependencies.tonic]
version = "0.14"
optional = true
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-opentelemetry]
version = "0.32"
optional = true
[dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"registry",
"env-filter",
]
optional = true
[dependencies.unicode-segmentation]
version = "1.12.0"
[dependencies.unicode-width]
version = "0.2.2"
[dependencies.web-time]
version = "1.1.0"
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[dev-dependencies.ftui-core]
version = "0.2.0"
features = ["test-helpers"]
[dev-dependencies.im]
version = "15.1"
[dev-dependencies.opentelemetry]
version = "0.31"
[dev-dependencies.opentelemetry_sdk]
version = "0.31"
features = ["testing"]
[dev-dependencies.proptest]
version = "1.7.0"
[dev-dependencies.serde]
version = "1.0.227"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.145"
[dev-dependencies.tempfile]
version = "3.22.0"
[dev-dependencies.tracing-opentelemetry]
version = "0.32"
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"registry",
"env-filter",
]