docs: the defect pass's findings -- RUST.md boxes, IRIS_TODO ticks, DECISIONS and IRIS entries
This commit is contained in:
1 parent
c02152a4f4
commit
3e72a4ef19
4 files changed
+166
-12
No files matched your search
+25
-1
@@ -8,7 +8,31 @@ capability that moved. Small and trivial changes do not go here.
|
||||
An entry gives the date, what changed, why, and a short before/after where
|
||||
it helps judge the change without the session that made it. Newest first.
|
||||
|
||||
## 2026-09-06: `List::anchor_position_display`, `FrameReport::mark_phase`/`phase_stats`/`late_at_hz` (RUST.md's "Benchmark v2")
|
||||
## 2026-09-06: a tap on a text field always leaves a caret
|
||||
|
||||
`TextEditCtx::select` used to compare the tap position against the
|
||||
*laid-out text's* own box and set `selection = None` for anything outside
|
||||
it. A press only reaches `select` after being hit-tested to the widget, so
|
||||
that "outside" meant the field's own padding -- or, for an **empty** field,
|
||||
everything, since an empty layout is a zero-width box. So tapping an empty
|
||||
composer focused it and opened the keyboard while leaving no caret, and
|
||||
`TextEditCtx::insert`/`insert_str` return early with no caret: every
|
||||
keystroke was dropped in silence, and no glyph ever appeared. Parley's
|
||||
`from_point`/`extend_to_point` already clamp a point outside the layout to
|
||||
the nearest cursor position, which is also what a tap in a field's padding
|
||||
should do.
|
||||
|
||||
Behaviour change a caller would notice, in one line: **`select` with a
|
||||
non-drag position now always produces a selection; it no longer clears
|
||||
one.** Clearing is `TextEditCtx::deselect`, which is what the backends'
|
||||
focus handling already calls. A drag is unchanged -- with no previous
|
||||
selection there is still nothing to extend, so it produces none.
|
||||
|
||||
`insert_str` also gained a `debug_assert!` for the no-caret case, so an
|
||||
insert routed to an unfocused field fails at the mistake in a debug build
|
||||
instead of silently swallowing input.
|
||||
|
||||
## 2026-09-06: `List::anchor_position_display`## 2026-09-06: `List::anchor_position_display`, `FrameReport::mark_phase`/`phase_stats`/`late_at_hz` (RUST.md's "Benchmark v2")
|
||||
|
||||
`List` gained `anchor_position_display(&self) -> String`, reporting the
|
||||
anchor's own row index and pixel offset (`idx=N/off=Mpx`, or
|
||||
|
||||
Reference in new issue
Block a user