From f4ec18d528315ee9c413c3f05ed8a4b39e3737b2 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Mon, 20 Jul 2026 18:08:39 +0200 Subject: [PATCH] chore(core): fix build.rs + crate-doc drift left by the W7/W8 splits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build.rs: drop the stale `rerun-if-changed=src/client.rs` (the file became client/ in W7; the path never fires). - lib.rs: the crate doc's module list named 6 of ~19 modules — add the missing ones (config/error/stats/input/reject/reanchor/render_scale/ audio/wol + the quic-gated control-plane group), without intra-doc links to feature-gated modules. - quic/mod.rs: the module doc still described the deleted `msgs` module; list the actual post-split module set. Co-Authored-By: Claude Fable 5 --- crates/punktfunk-core/build.rs | 1 - crates/punktfunk-core/src/lib.rs | 11 +++++++++++ crates/punktfunk-core/src/quic/mod.rs | 13 ++++++++----- 3 files changed, 19 insertions(+), 6 deletions(-) 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";