M2: Add word and character counts with optional content exclusions (#1780)

* M2: Add word and character counts with optional content exclusions

Retain the complete reviewed change, including prior integration resolutions,
on current upstream.

M2: Add document word counts and semantic exclusions

* Refresh catalog hashes after merging main

---------

Co-authored-by: LabDennis <341377186+LabDennis@users.noreply.github.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
This commit is contained in:
Sir Clangington III.
2026-10-15 02:24:33 -04:00
committed by GitHub
co-authored by LabDennis Brandon Thomas
parent 5098728078
commit c5c5d0d661
40 changed files with 1130 additions and 28 deletions
+12
View File
@@ -13,6 +13,18 @@ areas = { A = "core", B = "view", C = "edit", D = "organize", E = "comment", F =
# A. Core document model and fidelity
# ==================================================================================================
[[feature]]
id = "core.word-count"
title = "Word and character count"
area = "A"
tier = "P2"
milestone = "M2"
status = "shipped"
commands = ["file.word_count"]
tools = ["text_word_count"]
evidence = ["crates/engine/src/word_count.rs::word_count_filters_are_independent_and_do_not_change_normal_extraction", "crates/automation/tests/automation.rs::word_count_reads_selected_pages_and_unsaved_edits_without_mutating", "crates/ui-egui/src/word_count_ui.rs::word_count_dialog_counts_changes_pages_and_closes"]
notes = "Unicode words and characters for the current snapshot; all or current page in GUI, selected pages headlessly. Desktop background work with cancellation. Optional semantic table/code/Figure and invisible-text exclusions; no OCR or visual layout classification. Unsupported structure remains counted and is reported. Mixed ActualText exclusions fail explicitly. See docs/word-count.md."
[[feature]]
id = "core.open-pdf"
title = "Open PDF files"