docs: record what phase 8 built, and what is left for a person across all nine
The plan's last phase becomes a record, and the document gains a closing status: every count the audit was written to move, from the state in "Where this app stands" to what `m3-audit.sh` reports today, and a gathered list of what a person still has to look at — the eight screens with competing filled buttons, the two list-detail families the pane work did not reach, the container transform, desktop keyboard traversal, and the avatar picker's selected state. **The audit caught the previous commit.** `ThemeGallery` added eight string literals in composables, taking the count 39 -> 47, which is exactly the drift the budget exists to notice. They are sample text — the words are chosen to be words, so that colour pairings can be looked at — and putting them in the catalogue would add eight entries no screen shows and a translator would have to be told to ignore. So the audit grows a third exemption marker beside `m3-color-exempt` and `m3-spacing-exempt`: `m3-string-exempt`, per file rather than per line, because the exemption is a property of what the file is for and eight markers down one gallery would say less than one at the top of it. Back to 39, and the report now says how many files are exempt so the mechanism cannot be used quietly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -209,8 +209,32 @@ note "TextAlign.Center: $centred"
|
||||
# ---------------------------------------------------------------------------
|
||||
hdr 'Content (phase 4)'
|
||||
|
||||
literals=$(( $(count 'text = "') + $(count 'Text\("') ))
|
||||
# A file whose strings are sample text rather than UI text -- ThemeGallery, whose whole
|
||||
# job is to render colour pairings and whose words are chosen to be words -- marks itself
|
||||
# once at the top with `// m3-string-exempt: <reason>`. Per file rather than per line,
|
||||
# because the exemption is a property of what the file is for, and eight markers down one
|
||||
# gallery would say less than one at the top of it.
|
||||
#
|
||||
# The same shape as `m3-color-exempt` and `m3-spacing-exempt`: the reason travels with the
|
||||
# code rather than living in a list of file names here.
|
||||
sample_text_files() {
|
||||
grep -rlE 'm3-string-exempt' "$UI" --include=*.kt 2>/dev/null
|
||||
}
|
||||
|
||||
string_literals() {
|
||||
local exempt
|
||||
exempt=$(sample_text_files | sed 's|^|^|' )
|
||||
if [[ -z $exempt ]]; then
|
||||
grep -rE 'text = "|Text\("' "$UI" --include=*.kt 2>/dev/null | grep -vE "$NOT_A_COMMENT"
|
||||
else
|
||||
grep -rE 'text = "|Text\("' "$UI" --include=*.kt 2>/dev/null | grep -vE "$NOT_A_COMMENT" \
|
||||
| grep -vE "$(sample_text_files | paste -sd'|' -)"
|
||||
fi
|
||||
}
|
||||
|
||||
literals=$(string_literals | wc -l | tr -d ' ')
|
||||
report 'string literals in composables' "$literals" "$BUDGET_STRING_LITERALS"
|
||||
note "sample-text files exempt: $(sample_text_files | wc -l | tr -d ' ')"
|
||||
res=$(count 'stringResource|Res\.string')
|
||||
note "stringResource / Res.string: $res"
|
||||
# Delegated, because the grep version was wrong twice: it required every word after the
|
||||
|
||||
Reference in New Issue
Block a user