docs: fix accumulated staleness in architecture docs, README, and website
A full audit turned up drift across the technical reference docs, mostly predating this week's work: - docs/architecture.md and CLAUDE.md described a rigstats-backend::monitor.rs module (normalize_profile, pick_target_monitor, normalize_visible_panels) that doesn't exist — that responsibility moved to geometry.rs a while ago. Same for a few lhm_process.rs functions (get_lhm_task_details and friends) and a diagnostics.rs module — diagnostics collection actually lives in windows/status.rs. Removed the fictional module/function references, documented what's actually there instead. - docs/architecture.md's Dashboard Panels table was missing the `power` panel entirely, inconsistent with its own other tables. Added. - Both files were missing lock_ext.rs (the LockSafe poison-tolerant mutex helper used throughout windows/*.rs) and win32_behind.rs from their module lists. Added. - windows/CLAUDE.md (the dialog design contract) had drifted the most: dialog_btn_secondary shown with a stale 2-arg signature (now takes `dc: &DialogColors`), three frame-constructor functions documented that don't exist (actual pattern is one dialog_frame(dc) reused with per-call .inner_margin() overrides), a colour table presenting dark-mode-only values as fixed constants with no mention of DialogColors/light mode, a mutex example using raw .lock().unwrap() instead of the .lock_safe() used everywhere now, and no mention of dialog_btn_secondary_compact. Rewrote against the current code. - "Reliability and correctness" in docs/architecture.md described Tauri/JS-era behavior (isValidStatsPayload, isTicking, TempThresholdPayload) that has no equivalent in the current Rust/egui code, and claimed a last-known-good LHM sample is kept across ticks — it isn't. Rewrote to match reality, including that threshold alert notifications don't currently fire at all (tracked as a bug, see #179). - README.md: RAM speed labeled MHz (actual unit is MT/s), GPU core clock labeled MHz (actually shown in GHz), GPU memory clock listed as if displayed when it's collected but never rendered. - website's separate diagnostics-ZIP table (in the Support section) had drifted from the real ZIP contents — referenced a nonexistent sidecar-parsed.json and was missing 5 real files. Replaced with the same 13-file list as README's (correct) table. - Fixed a stray code comment in stats.rs referencing prune_old_logs, which was renamed to prune_old_sessions when the session model shipped. Also includes the not-yet-committed Rust toolchain pinning documentation (README/CONTRIBUTING/docs/setup.md prerequisites, docs/release.md rationale) from the previous round of doc work.
D
Daniel Valfridsson committed
30924e3b84c9556ca9e18e84ba54eff741d99853
Parent: 29edf3f