feat(editor): stage overlay slot + pro capture overlay for studio#465
Conversation
…pture overlay - Editor/EditorLayoutV2 gain a stageOverlay slot rendered over the canvas but under the viewer toolbar (z-10 < z-20), so hosts can swap in a full-stage surface (e.g. studio gallery) without unmounting the WebGL canvas; FloatingLevelSelector hides while a stage overlay is active - CaptureMode 'standard' accepts an optional crop preselection (SnapshotCropMode, exported) so hosts can enter capture with standard/viewport/area already chosen - SnapshotCaptureOverlay restyle: letterboxed 16:9 frame with corner accents + rule-of-thirds for standard mode, thirds grid in viewport and area modes, top-center crop/format HUD chips, shutter button with capture/saved states — all existing crop, drag, resize and preset behaviors preserved Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… fix - Standard crop gains aspect presets (16:9, 9:16, 4:3, 3:4, 1:1) — clicking the active Standard chip opens the picker; the letterbox frame, HUD and output resolution follow the choice - ThumbnailGenerateEvent carries standardSize; ThumbnailGenerator center-crops to it (default stays 1920×1080) - Subtle bottom scrim keeps shutter/caption readable on bright scenes - Fix missing space in the snapshot caption Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hosts (the studio capbar) can now pass standardAspect alongside crop when entering capture mode; the overlay initializes its aspect picker from it. SnapshotStandardAspect exported. 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 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 73fffe3. Configure here.
| setDrag(null) | ||
| } | ||
| }, [isCaptureMode, isPreset]) | ||
| }, [isCaptureMode, isPreset, requestedCrop, requestedAspect]) |
There was a problem hiding this comment.
Capture reset reruns mid-session
Medium Severity
The useEffect responsible for resetting the capture overlay state now includes requestedCrop and requestedAspect in its dependencies. This causes the overlay to prematurely reset its crop mode, aspect, area selection, and captureState whenever the host updates these values, potentially losing user work, re-enabling the shutter during an active capture, or dismissing "Saved" feedback too early.
Reviewed by Cursor Bugbot for commit 73fffe3. Configure here.
| viewerToolbarRight, | ||
| viewerContent, | ||
| overlays, | ||
| stageOverlay, |
There was a problem hiding this comment.
Mobile v2 drops stageOverlay
Medium Severity
When EditorLayoutV2 renders for mobile, it calls EditorLayoutMobile without passing the stageOverlay prop. This prevents the stage overlay from appearing and also inadvertently hides the FloatingLevelSelector, leaving mobile users without either.
Reviewed by Cursor Bugbot for commit 73fffe3. Configure here.
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |


Adds the editor-side primitives the private studio workspace builds on:
stageOverlayEditor prop — a slot rendered over the stage (used by the studio Scene/Gallery switch and stage gallery)CaptureMode.croppreselect +standardAspect— capture can open directly in a chosen crop/aspect (studio capbar presets)Consumed by pascalorg/private-editor
feat/studio-pro, which pins this branch's SHA.🤖 Generated with Claude Code
Note
Low Risk
Mostly additive UI slots and capture options with sensible defaults; thumbnail pipeline behavior changes only when hosts pass new
standardSize/ aspect fields.Overview
Adds editor v2 host hooks for the private studio workspace: a
stageOverlayprop onEditor/EditorLayoutV2that paints a full-bleed surface over the viewer (gallery, scene switch) while the 3D canvas stays mounted and the viewer toolbar stays above the overlay. When a stage overlay is shown, the floating level selector is hidden so it does not clash with the alternate stage.Snapshot capture is extended so hosts can open capture with a preselected crop and standard aspect via
CaptureMode(crop,standardAspect). The overlay UI is restyled (letterboxed frame, rule-of-thirds, aspect picker, HUD, shutter control) and passesstandardSizethrough the event bus;ThumbnailGeneratorcenter-crops to that size instead of always 1920×1080. New typesSnapshotCropModeandSnapshotStandardAspectare exported from the package.Reviewed by Cursor Bugbot for commit 73fffe3. Bugbot is set up for automated code reviews on this repo. Configure here.