Opened at 2017-02-19T01:15:09Z
Last modified at 2022-10-01T23:06:04Z
#1083 new todo
solution for Timeline slave
| Reported by: | Ichthyostega | Owned by: | |
|---|---|---|---|
| Priority: | lesser | Milestone: | 2beta |
| Component: | lumieraGui | Keywords: | gui design sanity |
| Sub Tickets: | #978, #1039, #1067 | Parent Tickets: | #1101 |
Description
There are various reasons why we might want to offer multiple equivalent UI representations of the same Timeline
- the user might want to see several remote parts of the same timeline simultaneously, in focussed display
- we allow several indeptendent top-level windows (think several desktops), so it might just happen that the same timeline is selected in several windows
- we might want to introduce a focussed view on a nested sequence or virtual clip
Now, since we build our UI on the notion of mapping session contents via a messaging system onto suitable presenters in the UI, we get a conceptual mismatch. Basically we need to cut at some point and duplicate some connections. Either we need the ability within a timeline presentation entity to serve several sets of slave widgets, or we need the ability for those presentation entities to collaborate, where one of them becomes the leader and automatically forwards all notifications to the other members of the cluster. Or, alternatively, we could think of pushing that duplication down into the session, in which case we get a TimelineClone entity, and the Builder then needs to be aware of this situation and generate duplicated responses to be sent to the UI.
In any case, this is an advanced topic, and nowhere near trivial.
It seems reasonable to reject opening duplicate timeline presentations as a first step, and then address this topic way later, when we've gained sufficient knowledge regarding all the subtleties of timeline presentation and editing.
Change history (4)
comment:1 by , at 2018-10-11T11:52:39Z
| blockedby: | 1067, 978 → 1067, 978, 1039 |
|---|
comment:2 by , at 2019-04-12T15:29:52Z
| blockedby: | 1067, 978, 1039 → 978, 1039, 1067 |
|---|---|
| blocking: | 955 → 1101 |
comment:3 by , at 2022-10-01T23:06:04Z
...should also look for a better term than »slave«; however, such a term must also transport the meaning well — »drone« for example is not quite precise enough
comment:4 by , at 2025-12-25T00:00:00Z
| blockedby: | 978, 1039, 1067 |
|---|---|
| blocking: | 1101 |
| Parent Tickets: | → 1101 |
| Sub Tickets: | → 978, 1039, 1067 |
Migration MasterTickets ⟼ Subtickets-plugin

while now working (for real) on #1016, I stumbled across that problem again, and it looks like I am leaning towards the most systematic option, which is to represent this duplication already within the session as
TimelineClone. RationaleTimelineControlerneeds the ability to delegate some behaviour to another primary controller.