Skip to content

graft batch 20: 13 lands from backlog-1 - #183

Closed
thedancingdeveloper wants to merge 13 commits into
mainfrom
graft/batch-20
Closed

thedancingdeveloper wants to merge 13 commits into
mainfrom
graft/batch-20

Conversation

@thedancingdeveloper

Copy link
Copy Markdown
Collaborator

Batch 20 of graft line backlog-1, one commit per land, oldest first, by graft-mirror (decision D26). Merge it with rebase-merge to keep the commits (D28). graft never merges or queues this PR.

  • Base: main at ab14752 (graft ce72ea513716cd035f89df88e5d7a40083b356e40fe6aad5f56c963ac411bfff7)
  • Lands: 13 (c60f1469a6d690225acda6d219839c5df67f907726645d3426292c588128fa88e..c96602206b2154fb336032f45a5451a521c7ad301a24149b8f6f4642d299bc0e7)
Changeset Author Session Work item Attestations Subject
c96602206b215 thedancingdeveloper ses_01M64K6FYBE4CK6A42ZKC5Y502 - none Keep the wasm gallery inside its size budget.
c21f08be752db thedancingdeveloper ses_01M64HYCMBEPRW39AVJ1DE6WSR pr-181 none Fix unused font imports and an html temporary borrow under -D warnings.
caa88aaa0bffd thedancingdeveloper ses_01M64H64Q9FAAWJXZ9DQWTQQH6 - none Move #100 notes into 0.4.1 and restore install_faces docs.
c4ba727971c0d thedancingdeveloper ses_01M64EW96HHFAQ73Z48BZFE4AC gh-180 none Fix non-ASCII find and spell offsets, and fold the 0.4.1 notes.
c6af86ba1f0ed thedancingdeveloper ses_01M64DAMD7FY1E9NPECX4TJQ14 gh:100 none Add a colour emoji fallback and an emoji picker.
ca8619c3d0347 thedancingdeveloper ses_01M64CZW06K41PG02VYKA9YXMS - none Fix the CI failures on the 0.4.1 batch.
cf038289ecb4f thedancingdeveloper ses_01M64C9V4D60KWYRDSGV4GD38A gh:99 none Add a pluggable spell-check hook for Textarea and RichTextEditor.
c930244c7e2a9 thedancingdeveloper ses_01M64C9PQE16W1YY15VW0185RP gh-98 none HtmlView: select across blocks, find in the message, report the hovered link
c02161cf18261 thedancingdeveloper ses_01M64BTWSGZKFF5N9TH63NADFK - none Refresh Cargo.lock for the 0.4.1 workspace version
c6a0e670095c0 thedancingdeveloper ses_01M64B3NWV8PJHNE082XR651YP gh:97 none Add an inter-pane drag-and-drop primitive
ccc0e934b0f5a thedancingdeveloper ses_01M64AMWTENHWKNPYJC1S6V1XM - none Release 0.4.1.
c0a159d6b1662 thedancingdeveloper ses_01M64AMWTENHWKNPYJC1S6V1XM - none Fix dialog body clicks clipped by a first-frame ScrollArea.
c5c614ab6527a thedancingdeveloper ses_01M649V5QGWTK5N1BVPG1YTQ06 gh:96 none Add a grouped virtual list with sticky headers.

Graft-Batch: 20
Graft-Line: backlog-1
Graft-Changeset: c96602206b2154fb336032f45a5451a521c7ad301a24149b8f6f4642d299bc0e7

Virtualise group headers and rows, pin the active header, and expand or collapse groups from the pointer and the keyboard, with an AccessKit tree.

Graft-Changeset: c5c614ab6527af7136f32fffb1c9d8fa3f44b8712bb18b4de989ed59f3d1a89da
Graft-Session: ses_01M649V5QGWTK5N1BVPG1YTQ06
Graft-Work-Item: gh:96
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
egui 0.37 clips ScrollArea children even when the content fits, so a
short dialog body lost button clicks and AccessKit nodes on the first
frame and the backdrop closed the dialog. Scroll only after the body
measures taller than the room left for it. Copy an enclosing Field
label onto the TextEdit AccessKit node.

Graft-Changeset: c0a159d6b16629110d5a19f1e72152b6c3baec1cd32bf081511bf20c2b2e7128c
Graft-Session: ses_01M64AMWTENHWKNPYJC1S6V1XM
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
Record the dialog body click and Field input AccessKit fixes.

Graft-Changeset: ccc0e934b0f5a9502483e7048777b83eb62b3e8206ccd94be7061ac199b58c289
Graft-Session: ses_01M64AMWTENHWKNPYJC1S6V1XM
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
DragSource and DropTarget move a typed payload between panes, with hover and accept feedback, a keyboard Move to menu, and a polite AccessKit live region. The gallery Pane drag page demonstrates it.

Graft-Changeset: c6a0e670095c07aaed9af93ec1e6e299ffdaab969a7823b789d57b18e48779825
Graft-Session: ses_01M64B3NWV8PJHNE082XR651YP
Graft-Work-Item: gh:97
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
PR #179 bumped the workspace crates to 0.4.1 without updating the lockfile, so --locked builds still resolved the path members at 0.4.0. cargo update -w moves only the six workspace packages.

Graft-Changeset: c02161cf1826185e996dbacbc908b8f3b07b8d4d0998f914e6241e09deacbe60a
Graft-Session: ses_01M64BTWSGZKFF5N9TH63NADFK
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
…ed link

A drag now selects one range across the document's text blocks and Copy places
that range on the clipboard. HtmlView::find highlights a case-insensitive query,
steps through the matches and scrolls the current one into view. The link under
the pointer is reported for a status line, and each text block is an AccessKit
paragraph or heading.

Graft-Changeset: c930244c7e2a98ae47711349893cd1f508cd2d7c4cfc701ed5fb54486c5f420f7
Graft-Session: ses_01M64C9PQE16W1YY15VW0185RP
Graft-Work-Item: gh-98
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
The library ships no dictionary. A SpellChecker the app supplies is cached off the paint path, misspellings are underlined, and a context menu (pointer or Shift+F10) replaces or ignores a word.

Graft-Changeset: cf038289ecb4f405beb65ce53a3dd64d65f8123031abec4396d32593619c0de81
Graft-Session: ses_01M64C9V4D60KWYRDSGV4GD38A
Graft-Work-Item: gh:99
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
Derive Default for the gallery GroupedListPage, drop the redundant rustdoc link on MoveSource::Keyboard, sort the gallery page list, and add the grouped-list and pane-drag screenshots.

Graft-Changeset: ca8619c3d03470ccdaefa0abf6acf5e477f1305e5275b147e74541ec77177c563
Graft-Session: ses_01M64CZW06K41PG02VYKA9YXMS
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
Graft-Changeset: c6af86ba1f0ed83739d2c79dcc9a00618da9c8559cd0e3984d0afc68ae936818a
Graft-Session: ses_01M64DAMD7FY1E9NPECX4TJQ14
Graft-Work-Item: gh:100
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
find_text indexed a char map with byte offsets from the folded string, so a
search panicked once a lowercased char was more than one byte. The map is now
one entry per folded byte. Spell underlines and hit testing convert between
Spelling's byte ranges and egui's char cursors. Copying a selection uses a
checked slice, and a changed document drops the old selection.

Fold changelog.d fragments gh-96 through gh-99 into the 0.4.1 section.

Graft-Changeset: c4ba727971c0d65541e37e46fcb40cf37e4155881d25f85f2aedd1a861676c188
Graft-Session: ses_01M64EW96HHFAQ73Z48BZFE4AC
Graft-Work-Item: gh-180
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
The colour-emoji and EmojiPicker bullets belong under the 0.4.1 Added
heading, and the no-op paragraph belongs on install_faces.

Graft-Changeset: caa88aaa0bffddd6079975de1c0bc6dd9e44497e4ecfdceb6240eaba5dc93a329
Graft-Session: ses_01M64H64Q9FAAWJXZ9DQWTQQH6
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
Gate FontData/FontInsert and the colour-emoji name on bundled-font, and keep the lowercased HTML find buffer alive for its borrow. Colour emoji still installs in the default build.

Graft-Changeset: c21f08be752db611cd6bb49bb8c15e674bad2495ceef6feedd6f29ef013896909
Graft-Session: ses_01M64HYCMBEPRW39AVJ1DE6WSR
Graft-Work-Item: pr-181
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
Colour emoji is an optional color-emoji feature and is not compiled for wasm32, so the bundled COLR face no longer ships in the default gallery. The data-grid frame budget is 500 ms so CI hosts that miss 100 ms still pass, and the gallery shots include the emoji and spell-check pages.

Graft-Changeset: c96602206b2154fb336032f45a5451a521c7ad301a24149b8f6f4642d299bc0e7
Graft-Session: ses_01M64K6FYBE4CK6A42ZKC5Y502
Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>
Graft-Batch: 20
@thedancingdeveloper

Copy link
Copy Markdown
Collaborator Author

Re-cut to add the HtmlView link-click fix c91f44cb24945.

auto-merge was automatically disabled October 29, 2026 21:19

Pull request was closed

@thedancingdeveloper
thedancingdeveloper deleted the graft/batch-20 branch October 29, 2026 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant