Skip to content

feat(ui): labelled compact Ribbon that narrows without disappearing - #84

Merged
nmrtist merged 1 commit into
nmrtist:mainfrom
Limdongcheng:up/ribbon-labelled-compact
Sep 2, 2026
Merged

feat(ui): labelled compact Ribbon that narrows without disappearing#84
nmrtist merged 1 commit into
nmrtist:mainfrom
Limdongcheng:up/ribbon-labelled-compact

Conversation

@Limdongcheng

Copy link
Copy Markdown
Contributor

Summary

The compact density kept only the icon of every icon-bearing command, which turned each shared or abstract glyph into a guessing game and left the buttons without accessible text; below 760 px the whole command area vanished, stranding macOS users (no in-app menu bar) with the palette as the only escape.

  • Compact buttons pair the glyph with their short label, sized by measurement; narrow windows pay their identification cost in the More menu instead of on unlabelled icons.
  • Width no longer collapses the command area: narrow windows stay on the compact row and overflow absorbs the groups, degrading in the extreme to the More menu alone. Collapsed remains a deliberate, user-only state; the auto-collapse control and message are gone.
  • Overflow admission lets equal-priority peers keep taking space when an oversized group overflows, so the ten-tile Processing group no longer dams Transform and Recipes behind it. A hidden group is still never outranked by a shown one; tests pin both properties.
  • The quick tour's responsive description (EN and zh-CN) matches the new behaviour.

Validation

  • cargo pr-check passes (fmt, file size, dependency policy, both frontends, clippy with denied warnings, tests).
  • Unit tests: density never returns Collapsed for width alone, the overflow prefix invariant, and the equal-priority peer case.
  • npm run build in docs/ passes.

UI display logic

  • New or changed actions go through the command catalog (CommandId +
    describe) and are searchable in the command palette. (No actions added.)
  • Hiding happens only at Ribbon-group level (dataset kind or width
    budget); transient states disable with a disabled_reason that says how
    to unblock.
  • No layout changes from background events; panels are never auto-closed.
    (Width no longer hides the command area at all.)
  • New panels or empty regions show an empty state with a next step. (None
    added.)
  • Docs updated in docs/ (English and zh-CN) for user-visible behavior.

🤖 Generated with Claude Code

The compact density kept only the icon of every icon-bearing command,
which turned each shared or abstract glyph into a guessing game and left
the buttons without accessible text; below 760 px the whole command area
vanished, stranding macOS users (no in-app menu bar) with the palette as
the only escape.

- Compact buttons now pair the glyph with their short label, sized by
  measurement; the identification cost of narrow windows moves into the
  More menu instead of onto unlabelled icons.
- Width no longer collapses the command area: narrow windows stay on
  the compact row and overflow absorbs the groups, degrading in the
  extreme to the More menu alone. Collapsed remains a deliberate,
  user-only state, and the auto-collapse messaging is gone.
- Overflow admission lets equal-priority peers keep taking space when
  an oversized group overflows, so the ten-tile Processing group no
  longer dams Transform and Recipes behind it; a hidden group is still
  never outranked by a shown one, and tests pin both properties.
- The quick tour's responsive description (EN and zh-CN) matches the
  new behaviour.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@nmrtist
nmrtist merged commit 3c7308e into nmrtist:main Sep 2, 2026
11 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants