docs/RUST.md: the two 2026-09-06 fixes under P1a, with the emulator's first legible screenshot
This commit is contained in:
1 parent
f5b88932b4
commit
33e8ab83a2
2 files changed
+29
No files matched your search
@@ -5654,6 +5654,35 @@ device.
|
|||||||
also what Iris's phone reports have shown all along. The fix
|
also what Iris's phone reports have shown all along. The fix
|
||||||
matters for any device that falls back to GLES, which is why it is
|
matters for any device that falls back to GLES, which is why it is
|
||||||
not just an emulator convenience.
|
not just an emulator convenience.
|
||||||
|
- **Appearance testing on Android is back.** `build-apk.sh debug
|
||||||
|
--abi x86_64 --features "transcript-screen bench force-gles"` on
|
||||||
|
this checkout's AVD draws the transcript legibly --
|
||||||
|
`docs/bench/p1a-2026-09-06/iris-emulator-gles-fixed.png` -- so
|
||||||
|
P1b onwards can be checked here rather than only on the desktop
|
||||||
|
backend or Iris's phone.
|
||||||
|
**2026-09-06: the move slot has one owner.** IRIS_TODO's open
|
||||||
|
"a wrapped transcript row trips `reposition`'s debug assert" is
|
||||||
|
fixed rather than suppressed. `mov` accumulates a delta on a
|
||||||
|
widget's move slot and `reposition` overwrote it, and both
|
||||||
|
legitimately land on one widget in one frame: `List::place`'s
|
||||||
|
Bottom-known branch offers a row a same-size box that has *moved*
|
||||||
|
(`mov`), then corrects the placement inside it when the row's
|
||||||
|
cached height no longer matches what the row reports
|
||||||
|
(`reposition`) -- measured with a probe on the `.wrap(true)` repro:
|
||||||
|
`h=1604.7 height=548.7`, the row's own draw having updated
|
||||||
|
`active.size` without the list's height cache. The slot now means
|
||||||
|
`move_applied + repositioned` (both on `ActiveData`), so
|
||||||
|
`reposition` adds the move instead of dropping it and stays
|
||||||
|
idempotent, and the old assert is replaced by a `debug_assert_eq!`
|
||||||
|
that nothing *but* those two ever wrote the slot. Test:
|
||||||
|
`a_widget_moved_by_its_parent_and_then_placed_inside_it_lands_at_the_placement`
|
||||||
|
(`layout_tests.rs`), which draws the child at the offered position
|
||||||
|
rather than the placement without the fix. Checks: `cargo fmt --all
|
||||||
|
--check` clean, `cargo clippy --workspace --all-targets`
|
||||||
|
warning-free, `cargo test --workspace` 86 (iris, +1) + 13
|
||||||
|
(iris-core) + 31 (transcript-ui), the `.wrap(true)` repro drawing
|
||||||
|
correctly, and an emulator bench run with assertions live and no
|
||||||
|
abort (`2438 frames over 147.7s, p50 27.2ms`).
|
||||||
|
|
||||||
- [ ] **P1b — tool-call cards and grouping.** `ToolRows.kt`/
|
- [ ] **P1b — tool-call cards and grouping.** `ToolRows.kt`/
|
||||||
`ToolInput.kt`'s cards: a collapsed row per call with name
|
`ToolInput.kt`'s cards: a collapsed row per call with name
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 294 KiB |
Reference in new issue
Block a user