3495d189e1
Third de-coupling for the host crate carve (plan §W6.1 leaf). HostConfig + the config() OnceLock (config.rs, pure std, zero deps) move to a new pf-host-config leaf so every subsystem crate (pf-encode/pf-capture/pf-vdisplay/pf-gpu) can read process config WITHOUT depending on the orchestrator. 34 crate::config::config() call sites across 19 files repoint to pf_host_config::config(). thread_qos stays in the host for now (it calls session_tuning::on_hot_thread — its own leaf-ification rides the encode carve). Granular-crate decision (supersedes the plan's single pf-media): split capture/encode/ vdisplay into separate crates rather than one broad crate — the capture↔encode cycle is broken by a shared frame-types leaf, and vdisplay→encode (can_open_another_session) is a legal one-way edge since encode never references vdisplay. Verified: Linux (home-worker-5) clippy -p pf-host-config -p punktfunk-host --all-targets -D warnings; Windows (192.168.1.158) clippy --features nvenc,amf-qsv --all-targets green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
13 lines
533 B
TOML
13 lines
533 B
TOML
# The process-wide host configuration global (HostConfig + the config() OnceLock), extracted into a
|
|
# leaf crate so every subsystem crate (pf-encode, pf-capture, pf-vdisplay, pf-gpu) can read config
|
|
# WITHOUT depending on the orchestrator (plan §W6 — config parked above its consumers). Pure std.
|
|
[package]
|
|
name = "pf-host-config"
|
|
version = "0.12.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Process-wide punktfunk host configuration (env-parsed HostConfig behind a OnceLock)."
|
|
publish = false
|
|
|
|
[dependencies]
|