Skip to content

fix(canvas): add Layer properties to the layer menu - #10133

Open
shkomg wants to merge 4 commits into
invoke-ai:mainfrom
userstoriesbot-showcase:fix/layer-properties-menu
Open

shkomg wants to merge 4 commits into
invoke-ai:mainfrom
userstoriesbot-showcase:fix/layer-properties-menu

Conversation

@shkomg

@shkomg shkomg commented Nov 3, 2026 •

Copy link
Copy Markdown

Summary

A new Regional guidance or Control layer looks like it has no settings: its prompts and control model are in the Properties tab's Layer section, which sits below the tool settings and starts out of view. The layer menu now has Layer properties. It selects the layer, opens the Properties tab and scrolls the pane to the Layer section. It uses the existing openProperties effect, which no menu action called since the per-row Properties button was retired.

The scroll is only for this menu item. Filter and Select Object are unchanged; they do not scroll the pane. The Canvas user guide now points to the item instead of the scroll workaround.

Related Issues / Discussions

Closes #9617

QA Instructions

  1. pnpm dev:mock, open Edit on canvas.
  2. + → Regional guidance. The Layer section is below the Properties pane's visible area.
  3. Right-click the layer, choose Layer properties. The pane scrolls; Positive prompt and Negative prompt are visible.

Checked the same way at 1366×768 from the Transform tab, and on a non-selected inpaint mask (the menu selects it and shows its settings).

The video shows a Regional guidance layer added, its settings out of view, then Layer properties from its right-click menu bringing them into view.

invokeai.mp4

It is an automated browser run, so the cursor is drawn on top.

Checks:

  • pnpm lint: passes.
  • pnpm test src/workbench/widgets/layers: 358 passed.
  • pnpm test:browser src/workbench/widgets/layers: 239 passed. The new LayerEditorPanes case fails without the scroll.

Not run: the full pnpm check:release (performance, project-file and accessibility journeys).

Review

No material findings. The menu screenshot in the Layers panel guide predates the new item and is not updated here.

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Meaningful regression coverage added / updated where needed; obsolete tests/code removed
  • Persisted-state and API changes include required migrations / compatibility validation
  • Relevant performance/efficiency opportunities considered; material claims have evidence
  • Material review findings resolved and relevant checks rerun
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

Fix written with Claude Code; video is an automated browser run of this branch recorded by User Stories Bot.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

The layer menu gains Layer properties, which opens the Properties tab and scrolls it to the Layer section below the tool settings.
The Canvas user guide points to it instead of the scroll workaround.
@github-actions github-actions Bot added frontend PRs that change frontend files docs PRs that change docs labels Nov 3, 2026
@lstein lstein added the 7.0.1 label Nov 8, 2026
@lstein lstein moved this to 7.0.1: bugfixes and small features in Invoke - Community Roadmap Nov 8, 2026
@lstein lstein added 7.0.0 and removed 7.0.1 labels Nov 9, 2026

@joshistoast joshistoast left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this addition, a few issues to resolve first though

Comment on lines 744 to +747
const handleOpenProperties = useCallback(() => {
revealProperties(layer.id);
focusRegion('right', 'layers');
revealLayerSection();

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Layer properties can show the child’s settings instead.

Select a regional reference image, mask modifier, or raster adjustment; then right-click its parent and choose Layer properties. The parent is already selected, and this action never clears child selection. The pane therefore retains the child editor—for example, reference-image controls instead of regional prompts. Clear child selection in this action and test that transition.

Comment on lines +45 to +46
if (section) {
section.scrollIntoView({ block: 'nearest' });

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] The shortcut can leave the section’s initial controls offscreen.

After scrolling down within a tall Layer section, choosing Layer properties may do nothing: block: 'nearest' preserves the position when the section spans the viewport. Its heading and prompts remain above view. Align the section’s start or target its heading, and test repeated navigation. I confirmed this behavior in an isolated Chromium reproduction.

…e section start

Layer properties now clears a selected child row of the layer (reference image,
mask modifier, adjustment), so the pane shows the layer's own settings.
The reveal aligns the Layer section's start instead of 'nearest', which left a
tall section untouched after the user had scrolled down within it.
Browser tests cover both transitions, including a repeated reveal.
@shkomg

shkomg commented Nov 10, 2026

Copy link
Copy Markdown
Author

Thanks @joshistoast, good catches! Both are fixed: Layer properties now clears the child selection, and the reveal aligns to the section start so it works after scrolling too. Added a browser test for each.

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

7.0.0 docs PRs that change docs frontend PRs that change frontend files

Projects

Status: 7.0.1: bugfixes and small features

Development

Successfully merging this pull request may close these issues.

Canvas: layer settings (regional prompts, control model) are hidden below the tool settings

3 participants