Skip to content

A video dropped just outside a layout-first slot navigates the browser away and loses all placements #1213

Description

@seekmistar01

Where

Layout-first canvas (preview/layout-first.js / layout-first.html), the P0 placement surface (#1131, #1026).

Problem (data loss)

Each slot is a drop target, but there is no guard for a video released just outside a slot. The layout-first page is a normal HTML page, so a file dropped on the canvas frame, the gap between slots, or anywhere on the page triggers the browser's default behavior: it navigates away to open that file, discarding the whole single-page app — every slot the creator has already filled is lost.

Drag-and-drop placement is a core P0 interaction (#1131/#1026: direct click/drag placement). A near-miss drop today is not just a no-op — it destroys the creator's work.

Expected

A video dropped anywhere on the page never navigates the browser away. When the drop lands on the layout canvas and there is an open slot, the video is routed into the first open slot (so a near-miss still places). Drops that land on a specific slot keep working exactly as today.

Proposed fix

Register document-level dragover (preventDefault, so drops are catchable) and drop handlers. The drop handler ignores drops that landed inside a .drop-zone (those have their own handler), otherwise prevents default and routes the dropped videos into the first open visible slot via the existing placeVideoFiles spill logic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions