Skip to content

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

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

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

ukimsanov commented 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 force-pushed the studio-dnd/pr25-assets-blocks-panel branch from b2afda9 to 3d07daa Compare July 11, 2026 10:49
@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 2 times, most recently from 65bb55e to e72c0ac Compare July 11, 2026 21:08
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from 4db56fc to 116a67c Compare July 11, 2026 22:38
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from e72c0ac to 1279392 Compare July 11, 2026 22:38

@miguel-heygen miguel-heygen 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.

Final rebase review: current head inspected, latest required checks pass, no unresolved blocking findings. Approving; stack order/invariants remain as specified.

@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from 1279392 to dfbf4fc Compare July 11, 2026 23:26
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch 2 times, most recently from 0fd092c to 8201043 Compare July 12, 2026 01:04
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from dfbf4fc to d3dc115 Compare July 12, 2026 01:04
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from 8201043 to d8bc202 Compare July 12, 2026 01:23
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from d3dc115 to b178604 Compare July 12, 2026 01:23
@ukimsanov ukimsanov force-pushed the studio-dnd/pr24-timeline-visual-refresh branch from d8bc202 to a969043 Compare July 12, 2026 01:33
@ukimsanov ukimsanov force-pushed the studio-dnd/pr25-assets-blocks-panel branch from b178604 to c9c0f21 Compare July 12, 2026 01:33

@miguel-heygen miguel-heygen 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.

Re-audit current head c9c0f21: required checks pass; no new actionable threads. Approving current head.

@miguel-heygen miguel-heygen 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.

Re-reviewed current head and verified the addressed feedback and required behavior. Approval is for this exact head; Graphite mergeability may still be pending.

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

4 participants