Repository navigation
Project ribbon: bound an in-place swatch gallery to six tiles and a More button (#1823) - #1863
Conversation
#1823) A plugin's swatch gallery drawn in the Project ribbon was one row of every tile, so two 11-tile galleries could not fit a 1600 px window. In place it now shows a window of IN_PLACE_TILES tiles (keeping the checked swatch in view) and a More button that opens the whole gallery as its flyout; the estimate and the renderer read the same span and More width. Flyout copies and the Styles / Table Styles wells are unchanged. ribbon-read reports shown, first_shown and more; the gallery-more:<id> region clicks More. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HSDL3omZyNEazcgFEkKoTn
…tton (#1823) fixture.wide (group "Fixture Wide", before "Fixture Styles" on the View tab) is longer than the in-place bound, so project-plugin-ui.uit can read shown/more and click More; fixture.styles (six) pins no More at the bound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HSDL3omZyNEazcgFEkKoTn
…indow (#1823 r1) The nine-tile group crowded the View tab at 1180 px, putting the #1761 and #1762 cases at risk on other displays; the Report tab has room, and those cases are back exactly as on main. gallery_rows now returns the in-place window itself, so swatch_gallery has one call for both branches. CLAUDE.md's "never capped" and "in place every tile" now point at the bound; docs/ui-test-harness.md and uiharness's region check know gallery-more:<id> and the shown/first_shown/more keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HSDL3omZyNEazcgFEkKoTn
…atch (#1823 r2) On click, More reopened the flyout its own press had just closed through the backdrop, so a second press never shut it. It now uses flyout_toggle on mouse-down, as a collapsed group's button and the chevron do. The fixture's state checks fixture.wide.7, so the .uit case pins the window end to end (first_shown 2) and a second More press closing the flyout. swatch_gallery's doc and CLAUDE.md describe the bounded strip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HSDL3omZyNEazcgFEkKoTn
r3) shown/first_shown/more are the model's window, computed by the harness; drawn_shown/drawn_first/drawn_more now come from what swatch_gallery last drew in place (Docxy::drawn_galleries, cleared per render), null when the gallery was not drawn in place, so a case can see the renderer agree. The gallery's tiles reuse the group's command list instead of a second build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HSDL3omZyNEazcgFEkKoTn
# Conflicts: # suite/docxy/src/main.rs
ci-r1) The script parser's REGION_WORDS and the usage text lacked the region the border expectation's list had, so every_region_list_names_the_same_regions failed; and clippy's redundant_closure flagged ribbon-read's position call. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HSDL3omZyNEazcgFEkKoTn
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Not merged automatically: blocked. merge-check on 1644872: Both attempts of Everything else: review stopped after r3 with no Major (all findings fixed); 13/14 checks green; local whole suite on |
|
Still not merged: blocked. After the human's rerun, merge-check on 1644872: Third cancellation in a row, again after exactly 15 min (16:33:16 -> 16:48:17Z) with no step run or failed. All other 13 checks are green. |
|
Merged on the human's explicit instruction ("merge #1863 without macOS"): macOS runners are no longer available, so |
Closes #1823.
What changed
An in-ribbon (in place) UI-plugin swatch gallery is no longer estimated and drawn as one row of every tile. It shows a
bounded strip of at most
IN_PLACE_TILES(6) tiles - the first ones, or the window ending on the checked swatch - and,when it has more, a 16 px More button that opens or shuts the whole gallery in the existing gallery flyout
(
FlyoutTarget::Gallery, throughflyout_toggle).ribbon_fit::model_control_wandDocxy::swatch_galleryread thesame geometry (
gallery_span,more_w,gallery_rows/in_place_window), so the estimate is the drawn width. Aflyout copy still wraps every tile with its section headers. Styles and Table Styles galleries are unchanged.
Option 2 of the issue (a drop-down gallery declared by the manifest) is not done.
ribbon-readgalleries entries addshown/first_shown/more(the model's window) anddrawn_shown/drawn_first/drawn_more(what the last frame drew in place); regiongallery-more:<id>.fixture.wide(9 swatches, group "Fixture Wide" on the Report tab, the 8th checked).Tests
ribbon_fit/plugin_uibounded estimate (11 and 24 tiles), no More at the bound, flyout unchanged,two 11-tile galleries keep a Font group Full at 1600 px (with and without back-fill), the checked-tile window.
uiharness/cases/project-plugin-ui.uit: new case (bounded strip, window shift, More opens / shuts / reopens);23/23 locally on Windows desktop.
Review
Three revmux rounds. r1: Major (the new group crowded the View tab; moved to Report) + 3 minors, fixed. r2: Major (More
bypassed
flyout_toggle, so a second press did not close it) + 5 minors, fixed. r3: 2 minor/immaterial, fixed.review stopped: round 3 had no Major; all findings fixed
🤖 Generated with Claude Code
https://claude.ai/code/session_01HSDL3qcRMWrVVmMHix91Ym