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). `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: 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. offset tracks the finger sample-for-sample from the down.
- [ ] **"The copy report button seemed impossible to hit until I hit the - [x] **"The copy report button seemed impossible to hit until I hit the
diagnostics one."** Not hit-testing: the button logged `iris bench diagnostics one." (done 2026-09-07, b8ea723).** Not hit-testing: the
report: nothing to copy -- run the benchmark first` six times and did button logged `iris bench report: nothing to copy -- run the benchmark
nothing on screen. A control that silently declines is the UI_RULES first` six times and did nothing on screen. A control that silently
failure "a failure is reported where it happened": Copy report must declines is the UI_RULES failure "a failure is reported where it
always copy something -- the diagnostics and the log with a first line happened": `copy_report` now always copies something -- the
saying no benchmark has run -- and never depend on another button diagnostics pane's own text (with a first line saying no benchmark has
having been pressed first. run) when nothing has run yet, or the last report otherwise -- and
- [ ] **"The logs seem way too big to send in this message box, causes a never depends on another button having been pressed first.
lot of lag."** Two causes. (1) The ring was 1339 lines of `naga::front` - [x] **"The logs seem way too big to send in this message box, causes a
/ `wgpu_core` / `jni` DEBUG output with 4050 dropped: the ring logger lot of lag." (done 2026-09-07, 7485d78 + b8ea723).** Two causes. (1)
accepts every crate at Debug, and the trace gate (992c472) only covers The ring was 1339 lines of `naga::front` / `wgpu_core` / `jni` DEBUG
iris's own lines. The ring must take Debug only from `iris`/`client_core` output with 4050 dropped: the ring logger accepted every crate at
targets when trace is on, and Info and above from everything else -- Debug, and the trace gate (992c472) only covered iris's own lines.
one filter at the ring, not per callsite. (2) Copy report appends the `client_core::log_ring::ring_accepts` is the one filter now, applied at
whole ring. It should append the last ~150 lines and a first line the ring rather than per callsite: Debug/Trace only from `iris`/
saying "N earlier lines omitted; full log in Dev Updater's Runtime `client_core` targets when tracing is on, Info and above from
tab" -- the full ring is what the devlog provider is for. 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 - [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 back to 0 on the phone, so the insets now arrive with a height; the
push-up was not reported broken this time. 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 - [ ] 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 with no slop (docs/IRIS_TODO.md, night). Opus, next slot; uses the
layer-1 harness. layer-1 harness.
- [ ] Report hygiene: ring takes Debug only from iris targets, Copy - [x] **Report hygiene (done 2026-09-07).** Ring takes Debug only from
report always copies and trims the log (docs/IRIS_TODO.md, night). `iris`/`client_core` targets, Copy report always copies and trims the
Sonnet, with the header item below (same file, `bench_client.rs`). log. `client_core::log_ring::ring_accepts` is the one filter (Info+
- [ ] Bench app header: four controls no longer fit at 1080px and the from anywhere; Debug/Trace only from this app's own targets, and only
devlog agent shrank the label type 18 -> 13 to make room (UI_RULES: while `iris::diagnostics::trace_enabled()` says tracing is on) --
never shrink text to fit). Put the controls in two rows or make the `RingLogger` takes that as a plain `fn() -> bool` rather than depending
header wrap; restore the size. Sonnet. 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 - [x] **Bench app crash-loops on this checkout's emulator (done
2026-09-07).** Not the surface lifecycle at all, and not "once 2026-09-07).** Not the surface lifecycle at all, and not "once
backgrounded" -- a build with the **default features** (no backgrounded" -- a build with the **default features** (no