Drag & drop reordering: playlist tracks and timed-scene elements
Playlist reordering existed but was broken whenever a track was playing: the ~400ms progress re-render replaced the dragged node and cancelled the browser drag instantly. renderPlaylist now defers rebuilds until dragend, drops show an insertion marker (top half = before, bottom half = after), and internal drags no longer trigger the file-drop overlay. Scene editor: elements get a drag grip; since the list is always shown time-sorted, dropping an element between two others moves its appearance time between theirs (before the first = half its time, after the last = +5s). Grip-armed dragging keeps the sliders inside the cards working. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
529cfcb9d8
commit
1c9bdd1d3c
2 files changed
+115
-5
No files matched your search
@@ -364,6 +364,14 @@ textarea.textarea-lg {
|
||||
border-color: rgba(120,170,255,0.6);
|
||||
}
|
||||
.track.dragging { opacity: 0.4; }
|
||||
.track.drop-above { box-shadow: inset 0 3px 0 0 rgba(120,170,255,0.9); }
|
||||
.track.drop-below { box-shadow: inset 0 -3px 0 0 rgba(120,170,255,0.9); }
|
||||
|
||||
/* Scene-editor element reordering */
|
||||
.cue-grip { cursor: grab; opacity: 0.45; font-size: 13px; }
|
||||
.cue.dragging { opacity: 0.4; }
|
||||
.cue.drop-above { box-shadow: inset 0 3px 0 0 rgba(120,170,255,0.9); }
|
||||
.cue.drop-below { box-shadow: inset 0 -3px 0 0 rgba(120,170,255,0.9); }
|
||||
.track .grip { cursor: grab; opacity: 0.4; font-size: 14px; }
|
||||
.track .tname {
|
||||
flex: 1;
|
||||
|
||||
Reference in new issue
Block a user