editor: noPanel sidebar tabs for stage-driving rail entries - #641
Conversation
…ries A noPanel tab highlights in the rail and activates without opening the sidebar panel column, for host surfaces that swap the stage instead (e.g. the hosted item builder). Mobile layout skips noPanel tabs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0f3857f. Configure here.
| renderTabContent={renderTabContent} | ||
| sidebarOverlay={sidebarOverlay} | ||
| sidebarTabs={sidebarTabs} | ||
| sidebarTabs={sidebarTabs.filter((t) => !t.noPanel)} |
There was a problem hiding this comment.
Mobile clears noPanel selection
Medium Severity
Filtering out noPanel tabs before EditorLayoutMobile makes a persisted activeSidebarPanel invalid, so the mobile validity effect rewrites it to the first remaining tab. Crossing the mobile breakpoint drops the host’s stage-driving selection, and renderTabContent can still mount that tab’s component for a frame before the reset.
Reviewed by Cursor Bugbot for commit 0f3857f. Configure here.


What does this PR do?
Adds an optional
noPanelflag toSidebarTab(v2 layout): a rail entry that activates without opening the left panel column — the icon stays highlighted regardless of the panel's collapse state, clicking it never expands/collapses the panel, and the panel column hides while such a tab is active (its collapse state is preserved for the normal tabs). The mobile layout skipsnoPaneltabs entirely.This backs host surfaces that swap the stage instead of showing a sidebar panel — first consumer is the hosted editor's studio item builder, whose rail entry drives a full-stage
stageOverlay(listing ⇄ item editor) rather than a panel.How to test
<Editor layoutVersion="v2">, add a tab withnoPanel: truetosidebarTabs(anycomponent— it never renders).stageOverlayoffactiveSidebarPanel.End-to-end consumer: pascalorg/private-editor branch
feat/studio-item-builder(studio > Item builder).Screenshots / screen recording
N/A here — the visible behavior ships with the private-editor item-builder PR, which includes the full flow.
Checklist
bun devbun checkto verify)mainbranchNote
Low Risk
Small, additive UI layout change scoped to v2 sidebar rail behavior. No auth, data, or persistence logic is modified.
Overview
Adds an optional
noPanelflag onSidebarTabso v2 rail entries can activate a stage-driving mode instead of opening the left panel.When such a tab is active, the panel column stays hidden (collapse/width state preserved), the rail icon remains highlighted even while collapsed, and clicks only switch
activeSidebarPanelwithout expand/collapse. Mobile filters these tabs out of the bottom bar entirely.Reviewed by Cursor Bugbot for commit 0f3857f. Bugbot is set up for automated code reviews on this repo. Configure here.