We already track overlapping clips having the same priority. At the moment
when we detect overlaps (a gap has duration < 0), we rearrange clips
so that they never overlap.

MoveContext.finish() in pitivi/timeline/timeline.py uses the gap code and
implements the logic to avoid gaps while moving clips. Take a look at
that it's pretty simple.

>From what I understand, this would mean that you wouldn't see the transition area appearing "live" while you drag the clips to overlap, only when you release the mouse button will it show. From a technical standpoint it makes sense and is probably much easier to implement.

It's just that "ideally", in a perfect world, it would be nicer to be able to see the transition area form (or opacity keyframes move around into place) as you drag, however. I think this was what caused Brandon some headaches (detecting collisions "in real time" :)

(demonstration in comment #1 of https://bugzilla.gnome.org/show_bug.cgi?id=579230 )