docs: tick report hygiene and bench header (commits 7485d78, b8ea723)

Both docs/IRIS_TODO.md's night bullets and docs/RUST.md's queue items
covered by the two client-core/iris-android-app commits above.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Fable 5.1 committed 2026-09-07 22:26:49 -04:00
1 parent b8ea723718
commit 3eb0e033d5
2 files changed
+48 -25

No files matched your search

+21 -18
View File
@@ -1091,24 +1091,27 @@ showed, beyond her words:
`Released(None)`, not a tap (Compose does not deliver a click either).
Layer-1 test on a flick followed by a down + small drag 150 ms later:
offset tracks the finger sample-for-sample from the down.
- [ ] **"The copy report button seemed impossible to hit until I hit the
diagnostics one."** Not hit-testing: the button logged `iris bench
report: nothing to copy -- run the benchmark first` six times and did
nothing on screen. A control that silently declines is the UI_RULES
failure "a failure is reported where it happened": Copy report must
always copy something -- the diagnostics and the log with a first line
saying no benchmark has run -- and never depend on another button
having been pressed first.
- [ ] **"The logs seem way too big to send in this message box, causes a
lot of lag."** Two causes. (1) The ring was 1339 lines of `naga::front`
/ `wgpu_core` / `jni` DEBUG output with 4050 dropped: the ring logger
accepts every crate at Debug, and the trace gate (992c472) only covers
iris's own lines. The ring must take Debug only from `iris`/`client_core`
targets when trace is on, and Info and above from everything else --
one filter at the ring, not per callsite. (2) Copy report appends the
whole ring. It should append the last ~150 lines and a first line
saying "N earlier lines omitted; full log in Dev Updater's Runtime
tab" -- the full ring is what the devlog provider is for.
- [x] **"The copy report button seemed impossible to hit until I hit the
diagnostics one." (done 2026-09-07, b8ea723).** Not hit-testing: the
button logged `iris bench report: nothing to copy -- run the benchmark
first` six times and did nothing on screen. A control that silently
declines is the UI_RULES failure "a failure is reported where it
happened": `copy_report` now always copies something -- the
diagnostics pane's own text (with a first line saying no benchmark has
run) when nothing has run yet, or the last report otherwise -- and
never depends on another button having been pressed first.
- [x] **"The logs seem way too big to send in this message box, causes a
lot of lag." (done 2026-09-07, 7485d78 + b8ea723).** Two causes. (1)
The ring was 1339 lines of `naga::front` / `wgpu_core` / `jni` DEBUG
output with 4050 dropped: the ring logger accepted every crate at
Debug, and the trace gate (992c472) only covered iris's own lines.
`client_core::log_ring::ring_accepts` is the one filter now, applied at
the ring rather than per callsite: Debug/Trace only from `iris`/
`client_core` targets when tracing is on, Info and above from
everything else. (2) Copy report appended the whole ring; it now
appends `LogRing::tail_text(COPY_REPORT_TAIL_LINES)` (150, named at the
constant) with a first line saying how many older lines were left out
-- the full ring is still what the devlog provider hands Dev Updater.
- [x] Keyboard: the report shows `ime_bottom=891 ime_visible=true` then
back to 0 on the phone, so the insets now arrive with a height; the
push-up was not reported broken this time.
+27 -7
View File
@@ -719,13 +719,33 @@ closes it.
- [ ] Catch-a-fling: down during a fling stops it at the down and drags
with no slop (docs/IRIS_TODO.md, night). Opus, next slot; uses the
layer-1 harness.
- [ ] Report hygiene: ring takes Debug only from iris targets, Copy
report always copies and trims the log (docs/IRIS_TODO.md, night).
Sonnet, with the header item below (same file, `bench_client.rs`).
- [ ] Bench app header: four controls no longer fit at 1080px and the
devlog agent shrank the label type 18 -> 13 to make room (UI_RULES:
never shrink text to fit). Put the controls in two rows or make the
header wrap; restore the size. Sonnet.
- [x] **Report hygiene (done 2026-09-07).** Ring takes Debug only from
`iris`/`client_core` targets, Copy report always copies and trims the
log. `client_core::log_ring::ring_accepts` is the one filter (Info+
from anywhere; Debug/Trace only from this app's own targets, and only
while `iris::diagnostics::trace_enabled()` says tracing is on) --
`RingLogger` takes that as a plain `fn() -> bool` rather than depending
on `iris` directly, since `client-core` sits below it; `app_log.rs`
wires `iris::diagnostics::trace_enabled` through at install. Fixed the
1339-held/4050-dropped flood from `naga::front`/`wgpu_core`/`jni`
logging at Debug unconditionally. `bench_client.rs`'s `copy_report` no
longer declines when nothing has run: with no benchmark yet it copies
the diagnostics pane's own text instead, with a first line saying so,
and always appends `LogRing::tail_text(COPY_REPORT_TAIL_LINES = 150)`
(a first line naming how many older lines were left out) rather than
the whole ring. `client-core`'s tests cover the filter and the trim;
the copy path was checked on the emulator (immediate `Copy report` tap
with no prior button press now logs "copied to clipboard").
- [x] **Bench app header (done 2026-09-07).** Four controls no longer fit
at 1080px at `HEADER_TEXT = 18`, and a previous agent had shrunk it to
13 to make room -- UI_RULES: never shrink text to fit. Restored to 18
and split `bench_controls` into two rows (`Dir::DOWN` of two
`Dir::RIGHT` pairs: run+copy, then diagnostics+trace), doubling the
header's own height (`HEADER_ROW_HEIGHT_DP`) rather than the outer
layout's reserved space, since `top_bar` sizes to its own content.
Checked on the emulator: `ui-trace show ... --field box` confirms two
clean rows with no overlap, and a screenshot shows the restored size
reading clearly.
- [x] **Bench app crash-loops on this checkout's emulator (done
2026-09-07).** Not the surface lifecycle at all, and not "once
backgrounded" -- a build with the **default features** (no