feat(studio): assets/blocks panel behaviors + preview helpers#2216
Open
ukimsanov wants to merge 1 commit into
Open
feat(studio): assets/blocks panel behaviors + preview helpers#2216ukimsanov wants to merge 1 commit into
ukimsanov wants to merge 1 commit into
Conversation
This was referenced Jul 11, 2026
Collaborator
Author
c6864b7 to
e2986a7
Compare
0bc1efe to
ce89d8e
Compare
miga-heygen
reviewed
Jul 11, 2026
miga-heygen
left a comment
Contributor
There was a problem hiding this comment.
Reviewed as part of the 25-PR NLE overhaul stack. Full stack review on #2205 (the keystone). No blockers on this PR. — Miga
vanceingalls
left a comment
Collaborator
There was a problem hiding this comment.
R1 — Batch E · assets/blocks panel behaviors + preview helpers
Reviewed as PR 6 of 6 in Batch E (topmost PR in Batch E; sits atop the stack). Head SHA ce89d8e08da3922ed52022cca2ca8185d78b6a7e.
Verdict: 🟢 LGTM
Nine files, +243/-85 across block-drop, music-beat analysis, render-clip helpers, and preview-helper utilities. Complementary to the swap — no regression in blockInstaller (unchanged), and the new install-in-flight guard is a real improvement.
Verification
- Landing point: sits atop
studio-dnd/pr24-timeline-visual-refresh(#2215 head). useBlockHandlers.ts(+55/-27): adds aninstallingBlockRefguard that returns null + toasts "A block is already installing — one moment…" when a block install is in flight.handleAddBlockandhandleTimelineBlockDropboth funnel throughrunBlockInstall. Prevents stacked installs during the full-preview-reload window. Clean pattern.useMusicBeatAnalysis.ts(+72/-36): net +36, refactors the analysis surface. No cross-boundary concerns.useRenderClipContent.ts(+24/-6): additive.studioPreviewHelpers.ts(+10/-0) with matching test additions (+65/-8). Coverage moves with code.BlocksTab.tsx(+8/-1),StudioRightPanel.tsx(+8/-3),StudioGlobalDragOverlay.tsx(+1/-3): small UI plumbing.studioUrlState.test.ts(-1): single removed line, benign.
No deletions of source files. No .fallowrc.jsonc touches. No cross-package touches. No dangling imports (there was nothing removed to dangle).
Nothing to block on.
R1 by Via
330bc77 to
80a1dd5
Compare
2d69f86 to
b2afda9
Compare
80a1dd5 to
2906bdf
Compare
2906bdf to
6d3c7ee
Compare
b2afda9 to
3d07daa
Compare
What: blocks tab install flow, right-panel and global drag-overlay polish, music beat analysis and clip-content rendering hooks, and the preview-helper utilities backing asset preview. Why: completes the studio NLE stack on top of the visual refresh. How: modified files only (kept as one PR: splitting further would produce sub-150-LOC fragments of interdependent panel glue). Test plan: bunx vitest run studioPreviewHelpers/studioUrlState suites; tsc --noEmit; fallow audit clean.
6d3c7ee to
67e76f2
Compare
3d07daa to
65bb55e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
blocks tab install flow, right-panel and global drag-overlay polish, music beat analysis and clip-content rendering hooks, and the preview-helper utilities backing asset preview.
Why
completes the studio NLE stack on top of the visual refresh.
How
modified files only (kept as one PR: splitting further would produce sub-150-LOC fragments of interdependent panel glue).
Test plan
bunx vitest run studioPreviewHelpers/studioUrlState suites; tsc --noEmit; fallow audit clean.
Stack position 25/25 — studio NLE overhaul (CapCut-parity timeline + canvas). Graphite manages bases; merge from #2192 upward. Temporary
TEMP(studio-dnd)fallow entries (unwired-component windows) are all removed by #2213 (app-shell swap), whose tree is byte-identical to the fully-verified integration branch.