docs(comments): rewrite comments across all crates to the guidelines

Sweep every first-party crate source (1956 .rs files) to the project comment
guidelines: delete redundant restatements, decorative banners, change
narration, and end-of-line comments; keep and tighten the crucial ones
(invariants, bug rationale, SAFETY blocks, ported-source attribution).

No functional code changed. Every edit is proven comment-only against the
prior tree by a comment-stripping lexer (string/char/raw-string aware) plus a
separate doctest-fence check. Where removing a comment made rustfmt or clippy
want to re-lay-out adjacent code, the minimal triggering comment is restored so
code tokens stay byte-identical.

Gates green: cargo fmt --all --check (0 diffs), cargo check and cargo clippy
--workspace --all-targets (0 warnings).

Adds scripts/check_codegen_comment_guidelines.py — the enforcement gate for
these guidelines (flags banners, end-of-line comments, change narration, and
commented-out code).
This commit is contained in:
2026-07-23 16:55:39 -04:00
parent ff0fb56c67
commit a02b555e66
1458 changed files with 10729 additions and 21750 deletions
@@ -48,8 +48,6 @@ const MEASURE_TIME: Duration = Duration::from_secs(3);
const MEASURE_TIME_HEAVY: Duration = Duration::from_secs(5);
const RENDER_WIDTH: u16 = 120;
// ── Fixtures ────────────────────────────────────────────────────────────────
struct Fixture {
_dir: TempDir,
path: PathBuf,
@@ -170,8 +168,6 @@ fn make_hunk_at(file_lines: &[&str], close_i: usize) -> Option<DiffHunk> {
}
}
// ── Non-product prefix baseline ─────────────────────────────────────────────
fn own_ranges(ranges: Vec<(SyntectStyle, &str)>) -> Vec<(SyntectStyle, String)> {
ranges.into_iter().map(|(s, t)| (s, t.to_owned())).collect()
}
@@ -233,8 +229,6 @@ fn estimate_style_map_bytes(map: &HashMap<usize, Vec<(ratatui::style::Style, Str
bytes
}
// ── Bench groups ────────────────────────────────────────────────────────────
fn configure_fast(group: &mut criterion::BenchmarkGroup<'_, criterion::measurement::WallTime>) {
group
.sample_size(SAMPLE_SIZE)
@@ -287,7 +281,6 @@ fn bench_matrix(c: &mut Criterion) {
let config = DiffRenderConfig::default();
let syntect = get_syntect();
// ── 500L + prefix (own heavy config) ────────────────────────────────────
{
let fx = gen_python_fixture(500, 8);
let file_lines: Vec<&str> = fx.file_text.lines().collect();
@@ -308,7 +301,6 @@ fn bench_matrix(c: &mut Criterion) {
group.finish();
}
// ── 10kL session (no prefix) ────────────────────────────────────────────
{
let fx = gen_python_fixture(10_000, 40);
let styles = compute_file_scoped_styles(fx.path(), &fx.file_text, &fx.hunks)
+1 -8
View File
@@ -23,11 +23,9 @@ use kigi_tui::theme::Theme;
static BENCH_MD: &str = include_str!("bench.md");
/// Viewport dimensions for the benchmark.
const VIEWPORT_WIDTH: u16 = 120;
const VIEWPORT_HEIGHT: u16 = 50;
/// How many lines to advance per step in full_scroll.
const SCROLL_STEP: u16 = 10;
/// Entry count for the reveal benchmarks. Approximates the ~3,200-entry
@@ -76,8 +74,6 @@ fn compute_layouts(
.collect()
}
// ─── Benchmarks ────────────────────────────────────────────────────
/// Render a single frame at scroll offset 0 (top of document).
///
/// The per-frame baseline with no top clipping — only bottom-clipped.
@@ -152,11 +148,10 @@ fn bench_full_scroll(c: &mut Criterion) {
let appearance = AppearanceConfig::default();
let layouts = compute_layouts(&entries, &appearance);
// usize: scroll offset is usize in the render path.
let total: usize = layouts
.iter()
.map(|l| l.height as usize + l.gap_after as usize)
.sum(); // heights + gaps
.sum();
let max_scroll = total.saturating_sub(VIEWPORT_HEIGHT as usize);
// Prime the wrap cache
@@ -271,8 +266,6 @@ fn bench_windowed_scroll(c: &mut Criterion) {
g.finish();
}
// ─── Reveal (scrollback-search n/N navigation) ─────────────────────
/// One paragraph of lorem-style body per entry (~1.7 KB), so the
/// `REVEAL_ENTRIES`-entry corpus is on the order of the motivating session's
/// searchable text (a few MB; the exact size is logged).
+11 -13
View File
@@ -1,12 +1,11 @@
//! Criterion benchmarks for scrollback search.
//!
//! - `scan` measures the raw regex scan over a large corpus — the work that ran
//! synchronously on the input thread on every keystroke before the background
//! daemon, and now runs off-thread.
//! - `query_steady` / `query_cold` measure the UI-thread cost of `update_query`
//! after the daemon change: a steady keystroke only compiles the matcher and
//! enqueues the query (the scan is off-thread), while the cold path also
//! rebuilds and ships the corpus on a content change.
//! - `scan` measures the raw regex scan over a large corpus — the work the
//! daemon runs off the input thread, sparing the UI a per-keystroke scan.
//! - `query_steady` / `query_cold` measure the UI-thread cost of `update_query`:
//! a steady keystroke only compiles the matcher and enqueues the query (the
//! scan is off-thread), while the cold path also rebuilds and ships the corpus
//! on a content change.
use std::hint::black_box;
use std::time::Duration;
@@ -53,9 +52,8 @@ fn build_large_scrollback(entries: usize) -> ScrollbackState {
state
}
/// The regex scan itself — the work the daemon now runs off the input thread
/// (previously this ran synchronously per keystroke). `fox` appears in every
/// entry, the worst case for match collection.
/// The regex scan itself — the corpus work the daemon runs off the input
/// thread. `fox` appears in every entry, the worst case for match collection.
fn bench_scan(c: &mut Criterion) {
let state = build_large_scrollback(CORPUS_ENTRIES);
let mut index = ScrollbackSearchIndex::new();
@@ -71,9 +69,9 @@ fn bench_scan(c: &mut Criterion) {
g.finish();
}
/// Steady keystroke after the daemon: the corpus is already shipped, so
/// `update_query` just compiles the matcher and enqueues the query, and `poll`
/// picks up the async result — no scan on the UI thread.
/// Steady keystroke: the corpus is already shipped, so `update_query` just
/// compiles the matcher and enqueues the query, and `poll` picks up the async
/// result — no scan on the UI thread.
fn bench_query_steady(c: &mut Criterion) {
let state = build_large_scrollback(CORPUS_ENTRIES);
let mut search = ScrollbackSearchState::open();