Skip to content

feat(studio): assets/blocks panel behaviors + preview helpers#2216

Open
ukimsanov wants to merge 1 commit into
studio-dnd/pr24-timeline-visual-refreshfrom
studio-dnd/pr25-assets-blocks-panel
Open

feat(studio): assets/blocks panel behaviors + preview helpers#2216
ukimsanov wants to merge 1 commit into
studio-dnd/pr24-timeline-visual-refreshfrom
studio-dnd/pr25-assets-blocks-panel

Conversation

@ukimsanov

@ukimsanov ukimsanov commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

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.

This was referenced Jul 11, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from c6864b7 to e2986a7 Compare July 11, 2026 00:55
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch 2 times, most recently from 0bc1efe to ce89d8e Compare July 11, 2026 01:15

@miga-heygen miga-heygen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed as part of the 25-PR NLE overhaul stack. Full stack review on #2205 (the keystone). No blockers on this PR. — Miga

@vanceingalls vanceingalls 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.

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 an installingBlockRef guard that returns null + toasts "A block is already installing — one moment…" when a block install is in flight. handleAddBlock and handleTimelineBlockDrop both funnel through runBlockInstall. 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

@ukimsanov ukimsanov changed the title feat(studio): assets/blocks panel behaviors + preview helpers feat(studio): assets/blocks panel behaviors + preview helpers . Jul 11, 2026
@ukimsanov ukimsanov changed the title feat(studio): assets/blocks panel behaviors + preview helpers . feat(studio): assets/blocks panel behaviors + preview helpers Jul 11, 2026
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from 330bc77 to 80a1dd5 Compare July 11, 2026 02:56
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch 2 times, most recently from 2d69f86 to b2afda9 Compare July 11, 2026 08:18
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from 80a1dd5 to 2906bdf Compare July 11, 2026 08:18
@ukimsanov ukimsanov marked this pull request as ready for review July 11, 2026 09:06
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from 2906bdf to 6d3c7ee Compare July 11, 2026 10:49
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from b2afda9 to 3d07daa Compare July 11, 2026 10:49
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.
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from 6d3c7ee to 67e76f2 Compare July 11, 2026 12:51
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from 3d07daa to 65bb55e Compare July 11, 2026 12:51
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.

3 participants