diff --git a/crates/punktfunk-core/build.rs b/crates/punktfunk-core/build.rs index 134c8c8f..57d2f750 100644 --- a/crates/punktfunk-core/build.rs +++ b/crates/punktfunk-core/build.rs @@ -10,7 +10,6 @@ fn main() { println!("cargo:rerun-if-changed=src/abi.rs"); println!("cargo:rerun-if-changed=src/config.rs"); println!("cargo:rerun-if-changed=src/input.rs"); - println!("cargo:rerun-if-changed=src/client.rs"); println!("cargo:rerun-if-changed=src/error.rs"); println!("cargo:rerun-if-changed=cbindgen.toml"); diff --git a/crates/punktfunk-core/src/lib.rs b/crates/punktfunk-core/src/lib.rs index 45f6936e..9edd73f0 100644 --- a/crates/punktfunk-core/src/lib.rs +++ b/crates/punktfunk-core/src/lib.rs @@ -16,6 +16,17 @@ //! (recv → open → reorder → FEC recover → reassemble) state machines. //! - [`transport`] — pluggable packet I/O (in-process loopback for tests; UDP for real). //! - [`abi`] — the `extern "C"` surface and `cbindgen`-generated `punktfunk_core.h`. +//! - [`config`] / [`error`] / [`stats`] — session configuration, the shared error/status +//! vocabulary, and the counters snapshot. +//! - [`input`] — the wire input-event vocabulary (keyboard/mouse/touch, gamepad snapshots). +//! - [`reject`] — typed application-close rejection codes · [`reanchor`] — the post-loss +//! freeze-until-reanchor client gate · [`render_scale`] — the shared render-scale setting · +//! [`audio`] — Opus PCM decode for C-ABI embedders · [`wol`] — Wake-on-LAN. +//! - `quic` (feature `quic`) — the punktfunk/1 control plane: handshake, typed control +//! messages, pairing (SPAKE2), the datagram plane codecs, and clock sync. With it come +//! `client` (the embeddable NativeClient worker), `abr` (the adaptive-bitrate +//! controller), and `clipboard` (the shared-clipboard transport task). `tls` +//! (feature `tls`) — the pinned-fingerprint certificate verifier. //! //! ## Threading contract //! diff --git a/crates/punktfunk-core/src/quic/mod.rs b/crates/punktfunk-core/src/quic/mod.rs index 97ccc33d..612de456 100644 --- a/crates/punktfunk-core/src/quic/mod.rs +++ b/crates/punktfunk-core/src/quic/mod.rs @@ -22,11 +22,14 @@ //! reported back for persisting). The data plane adds AES-GCM on top. //! All integers little-endian; every message is `u16 length || payload`. //! -//! Split by concern (networking-audit deferred plan §3 — a pure move): [`msgs`] the -//! handshake + typed control messages, [`pake`] the pairing SPAKE2, [`datagram`] the -//! 0xC9–0xCF plane codecs, [`io`] framed stream IO, [`clock`] skew estimation + mid-stream -//! re-sync, [`endpoint`] the quinn constructors. Every item is re-exported here, so all -//! existing `crate::quic::X` paths compile unchanged. +//! Split by concern (networking-audit deferred plan §3 — a pure move): `handshake` the +//! positional Hello/Welcome/Start codecs, `caps` the capability/codec-negotiation +//! vocabulary, `control` the typed control + clipboard messages, `pairing` the pairing +//! message codecs with [`pake`] the SPAKE2 itself, `datagram` the 0xC9–0xCF plane codecs, +//! [`io`] framed stream IO, `clock` skew estimation + mid-stream re-sync, [`endpoint`] the +//! quinn constructors, [`clipstream`] the per-transfer clipboard fetch streams. Every item +//! is re-exported here, so all existing `crate::quic::X` paths compile unchanged; each +//! module's tests sit at its own foot. /// Protocol magic + version, first bytes of the positional handshake (Hello/Welcome/Start). pub const MAGIC: &[u8; 4] = b"PKF1";