Skip to content

Place several recordings at once on the preview canvas [#1131]#1344

Open
codevector96 wants to merge 1 commit into
e35dev:mainfrom
codevector96:feat/preview-canvas-multi-file-drop
Open

Place several recordings at once on the preview canvas [#1131]#1344
codevector96 wants to merge 1 commit into
e35dev:mainfrom
codevector96:feat/preview-canvas-multi-file-drop

Conversation

@codevector96

Copy link
Copy Markdown
Contributor

Summary

The preview/layout canvas accepts one uploaded video per slot (#1266), but a creator with synced Riverside-style tracks had to add them one slot at a time — unlike the layout-first start, which lets you drop them all at once. This brings multi-file placement to the preview canvas so the two surfaces match (#1131).

What it adds

placeVideoFiles(): fills the slot the drop/pick lands on, then spills the remaining videos into the next empty visible slots in order (required speaker slots first, optional b-roll last). It:

  • de-duplicates the batch by recording identity (one source can't fill two speaker slots),
  • reports overflow when there are more videos than open slots,
  • skips a non-video file in the batch with a creator-facing note,

matching the layout-first behavior (#1189/#1197/#1205/#1209). The slot file inputs gain multiple, and the drop + file-input handlers route through the new path. Single-file drops/picks are unchanged.

Verification

Extends preview/layout-first-canvas-handoff.test.js to cover spill, non-video skip, overflow, and duplicate batches; updates two input-markup assertions for the new multiple attribute. npm test passes (104 files).

The preview/layout canvas accepts one uploaded video per slot (e35dev#1266), but a
creator with synced Riverside-style tracks had to add them one slot at a time —
unlike the layout-first start, which lets you drop them all at once. Bring that
multi-file placement to the preview canvas so the two surfaces match.

Add placeVideoFiles(): it fills the slot the drop/pick lands on, then spills the
remaining videos into the next empty visible slots in order (required speaker
slots first, optional b-roll last). The batch is de-duplicated by recording
identity (one source can't fill two speaker slots), the surplus is reported when
there are more videos than open slots, and a non-video file in the batch is
skipped with a creator-facing note — matching the layout-first behavior
(e35dev#1189/e35dev#1197/e35dev#1205/e35dev#1209). The slot file inputs gain `multiple`, and the drop and
file-input handlers route through the new path. Single-file drops/picks are
unchanged.

Verification: extends preview/layout-first-canvas-handoff.test.js to drop
multiple files (spill), a batch with a non-video (skip + report), an overflowing
batch (surplus reported), and a duplicate batch (placed once); updates the two
input-markup assertions for the new `multiple` attribute. `npm test` passes
(104 files).
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.

1 participant