Component cd61653. Round 1 verdict kept in tasks/reviews. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2.1 KiB
FAIL
-
Ely-GPUI-Components/src/editor/ime.rs:117 — P1: IME measurement combines the current buffer with bracket highlights cached from the previous frame. Reproduction on Windows with DirectWrite: render
(a)with the caret at the start, insert测throughreplace_and_mark_text_in_range, then requestbounds_for_range(1..1)before the next redraw. The retained bracket offsets(0, 2)split the new character into invalid UTF-8 font runs, and DirectWrite panics: “end byte index 1 is not a char boundary.” Refresh the derived highlight positions for the current buffer before measurement, and cover this edit-before-redraw sequence with native text-layout tests. The probe fails on 9fb607b and passes on its parent; evidence:.work/R6.8-r1-review/review_native_ime_bounds_before_redraw.logand the correspondingparent-log. -
Ely-GPUI-Components/src/editor/measure.rs:73 — P2:
closest_index_for_xin the pinned GPUI returns the line end for positions just beyond the last glyph's start whenever the line contains more than one UTF-8 byte. Consequently, clicking 10% into the finalbofabreturns byte 2 instead of 1; clicking 10% into a single测returns byte 3 instead of 0. Mouse placement, dragging, and IME point lookup therefore select the wrong boundary. Make nearest-boundary lookup compare the final glyph's start with the line-end edge, and test both halves of final ASCII and CJK characters. Both probes fail on 9fb607b and pass on its parent, although all 62 existing editor-related tests pass. Evidence:.work/R6.8-r1-review/review_last_ascii_character_uses_its_midpoint.log,review_single_cjk_character_uses_its_midpoint.log, and theirparent-logs. -
Ely-GPUI-Components/src/editor/line.rs:117 — P3: Six newly added comments exceed the explicit ten-word limit. Counting whitespace-separated words,
line.rs:117has 14,line.rs:168has 12, andmeasure.rs:1,measure.rs:9,measure.rs:60, andtests/wide.rs:9each have 11. Shorten or remove these comments. The changed-line audit is recorded in.work/R6.8-r1-review/scope-audit.log.