Component 5af11fe..c35fdac (pushed): a press opens its block with the caret on the pressed character; a secondary press moves the caret and emits DocumentEvent::Pointed. Three review rounds failed; the round-3 findings are fixed with the reviewer's probes as regressions, unreviewed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.6 KiB
FAIL
-
Ely-GPUI-Components/src/documents/tree/sources.rs:105 — Continued blockquotes do not map back through their quote prefixes. With
> alpha\n> beta, a right press on the renderedeofbetamoves to byte 2 (ainalpha), instead of byte 11.alignskips the newline but cannot cross the following>, then silently uses the leaf start. Preserve the source positions of continuation lines, including their container prefixes. Reproduced byreview_quote_ui_press_maps_continuationin.work/R4.5-r1-review/ui-probes.log. -
Ely-GPUI-Components/src/documents/tree/sources.rs:97 — Alignment returns before skipping source characters that precede the requested glyph. In
a \*star\* z, the displayed first*maps to byte 2 (the backslash), not byte 3. Ina ` xy ` z, the displayedxmaps to byte 3 (the stripped space), not byte 4. Normalize the source position before returning the requested character; cover the escaped glyph and first character of a trimmed code span, rather than only characters after them. Both exact-offset probes fail inui-probes.log. -
Ely-GPUI-Components/src/documents/tree/sources.rs:31 —
code_fromonly handles code whose complete displayed body follows the first newline verbatim. Ordinary indented code therefore has no character mapping. Foralpha\n beta\n, pressing the renderedeofbetashould land at byte 15; the actual left press opens at byte 18 and the right press reports byte 0. Track code positions through removed indentation instead of dropping toPlace::Block. Both mouse-path probes fail; equivalent fenced-code controls pass. -
Ely-GPUI-Components/src/documents/tree/mod.rs:418 — The new source metadata trusts positions on alert text that
tree/blocks.rs::markerhas already shortened without updating its position. For> [!NOTE]\n> alpha beta, a right press onbreports byte 2, inside[!NOTE], instead of byte 18. Preserve or adjust source positions when removing the alert marker before recordingInline.sources. Both the mapping probe andreview_alert_ui_press_maps_bodyreproduce this. -
Ely-GPUI-Components/src/documents/tree/mod.rs:366 — HTML blocks are drawn through
html_block_text, which never populatesInline.sources; their new text-press handler consequently has no source location. For<div>alpha beta</div>\n, pressing the renderedeshould land at byte 12, but the left press opens at byte 21 and the right press reports byte 0. Carry source spans through HTML text extraction and normalization. Both real mouse-press probes fail inui-probes.log. -
Ely-GPUI-Components/src/documents/document/visual.rs:116; src/documents/render.rs:413 — Raw link definitions and front matter bypass character hit testing entirely. Right-pressing byte 10 of the displayed
[ref]: https://ely.devreports byte 0. Pressingvin the displayed front matter---\ntitle: value\n---\nshould land at byte 11, but reports byte 0 on right press and opens at byte 20 on left press. Route these literal text renderings throughTextLayouthit testing with their source offsets, including the removed front-matter fence. The definition and front-matter probes reproduce the failures. -
Ely-GPUI-Components/src/documents/document/point.rs:124 — Focusing the document after a secondary press triggers
focused, which automatically opens an empty visual document. A right press in an initially closed empty document emitsPointedand then creates and focuses aTextInput, violating the explicit requirement that a right press open no block. Keep secondary pointing from triggering this auto-open path.review_empty_closed_document_right_press_stays_closedverifies that the document starts closed and fails after the actual right press. -
Ely-GPUI-Components/src/documents/document/point.rs:106 — Target kind and context are captured before committing the open block and are not reconciled with the reparsed document. Open the first paragraph of
First.\n\nalpha beta\n, replace it with an opening code fence, then right-press the renderedein the second paragraph. The caret correctly moves to byte 12 of the resulting code block, but the event saysParagraphandin_code: false, giving the owner the wrong menu context. Resolve the surviving target against the committed parse, or reject a target invalidated by that edit.review_right_press_uses_kind_after_commitreproduces the mismatch. -
Ely-GPUI-Components/src/documents/tree/sources.rs:73 — The added comment “Source byte under drawn byte
at, if a piece holds it.” contains 11 words, exceeding the project's explicit ten-word limit. Shorten it to at most ten words; the added-comment scan records this in.work/R4.5-r1-review/checks.log.