Skip to content

Stave sharing layout panel - #35346

Draft
avvvvve wants to merge 4 commits into
musescore:mainfrom
avvvvve:layout-panel-redesign
Draft

avvvvve wants to merge 4 commits into
musescore:mainfrom
avvvvve:layout-panel-redesign

Conversation

@avvvvve

@avvvvve avvvvve commented Oct 21, 2026

Copy link
Copy Markdown

Prototype of new layout panel interactions and UI for stave sharing groups.

avvvvve and others added 4 commits October 21, 2026 14:17
Implement the Layout panel redesign (shared staves) in the app, to test how
it looks and feels:

- Header: "Automatically hide all empty staves" and "Combine instruments onto
  shared staves" toggles (the former drives the hideEmptyStaves style, with undo)
- 30px rows with eye / expand / name / cog cells; the cog appears on hover,
  press or selection; staff names line up with their instrument's
- Expanded instruments sit on a rounded card; "Add staff" is a left-aligned button
- Shared-staves groups are drawn as a rounded background around the group header
  and its instruments, with per-row variable heights (the tree stays flat: a
  SHARED_PART row followed by its origin parts). New sharedGroupRole /
  sharedGroupId item properties describe each row's place in a group
- Group states per Figma: combined (filled), not combined (outline), hover /
  pressed / selected shown on the whole group; hovering any row keeps the group
  hovered; groups collapse, and are always open while not combined
- Group header cog opens a placeholder SharedPartSettingsPopup
- Cog popups open to the right of the cog, top-aligned and flush, without an
  arrow, moving up to stay inside the window; the cog shows its accent state
  while its popup is open
- System markings rows use the system markings up/down icons

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Don't create the NotationAutomationController, which crashed when switching
themes after combining instruments onto shared staves. Automation isn't needed
to test the Layout panel redesign; revert this commit to restore it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… in combined groups

- While a row is dragged, its slot shows an accent-outlined placeholder where it
  will drop; the dragged row floats as a fully rounded card at 90% opacity
- In a combined shared-staves group, staff rows' eyes are disabled and show their
  instrument's visibility, like the instrument rows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rows

- Base staff rows' visibility on the staff's and instrument's own visibility,
  not Staff::show() (which is false while the instrument is combined onto
  shared staves), so staves show as visible after a group's toggle is turned off
- Drop the expanded card's colour on the hovered row, so the hover fill looks
  the same as on a collapsed row

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@avvvvve
avvvvve force-pushed the layout-panel-redesign branch from a996aab to 9263c58 Compare October 21, 2026 18:40

This branch has not been deployed

No deployments
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.

2 participants