From 170c505a8a3fc5cbcb943c5e0f90acd20ea1c5e2 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 28 Nov 2016 03:41:25 +0100 Subject: [PATCH] (cont) analysis of timeline display control --- doc/devel/uml/Timeline-clip-display.png | Bin 8055 -> 10048 bytes uml/Lumiera.xmi | 2512 +++++++++++++++++++++-- wiki/renderengine.html | 34 +- wiki/thinkPad.ichthyo.mm | 50 + 4 files changed, 2379 insertions(+), 217 deletions(-) diff --git a/doc/devel/uml/Timeline-clip-display.png b/doc/devel/uml/Timeline-clip-display.png index b0a1fe17e31133203d65f294b4f21b05247adf42..6fa85885e113b963bae9476c2f4f0ff121f5c535 100644 GIT binary patch literal 10048 zcmc(lcT|(x_O1h{D2Nb{CQ2xZg|?9nLI48@QdAT$A|ObYj(~&!79gD`Vfrd*$?X-}$^4^i>|VJ-jB7{VX?;#W2!&jEBgT1M<8A!( z+bCYImyPW2;w=~%<38Sqy;ji28c}0>RUiYQpESnq62r{O^F;lahMeY+hw^Th`dXK1 zv;^Ps8N}Ctb!yP<9a~@DnUSXDrP-?4k;F3jJiIsr^4h!x$Iy9lI5QN*wRhDf%a?gY z4G~O;?T@&)a!yZ=OOmH>*wWfSZs(rMGkvVxK07W3glsw-@};kZ1dnvLlTyse%xt@- zuwx{*BLUeCn`4Jm;Jy(zPo6R~xP&Pru*&7&s9MFvBy2SY#PP`U21q_~l8bX9Fe|6e zAX{Em#xoG>HZWN)sTNpjfgmSR_NvgN0AjHSRM~54sxf-&{@ibx!9VSjB}5bmQ@OXZ z=JuBl3uem~UJN^=IJ)=EAq_pfTh7hRYu{qtUFcx6wd~iDQnoo%c3GH;Wk5(GshZ;+ zOHe45V1f*gkR*OD^G-V>PFV0MN8H8d_To@}mkn{j^IfycRj8JsGUM3SCxW+zpC8dB zruyafnfa;Q-q>)91<>cId)>vR`HMedk*4^{TX%uZHEy62p8qs(ml5?`S>rg3_Qb_51{H}LgnJm>w?3U<_zC;HvR-JLdL!xMX1@DoEg zRO^#NqOJB^aCV5}sdV@m(=Q2So|D-bI>W(rr-FA0c7^si0;;}FtoXj?{Dp|_qC2$| z_kpiHezZ-ZxVJa9C9QgXNVx*PXm|;eolOu3$zkSLl*^rQ#rY)jykDoN3AT^mm`@wE zoKVWguTBz}%)QDbA73tq$Z2H5TZY_>wQ7_MyH)NlDETg}JQpCbZt*Z+(1_rK#MVp- zCEde)Kctw0>ROA2LViHft6jCc+0!8Dxr`lrX6uY0UYH=rl_Q<(ke|X71`XxC7J|Z_ zGmFrHU+>^ohuAtv^E56fI>R?>Q;f(hCep?(g;d1E}rB#UCsbo<_nQd zhqZR0)(Hbt*W!A@Jw3`3jCoF?r)QjdHM)J?=l=2qJ@+a zBi%Fd%&&S1EBZClsA0oy?FllqX#oolV`HW2zkjdpqs(3e>)~6pNgAE(I@N%;vRdlP zxokNSY@F!jjiNz?;y9>|ae|b2g;o;TuR@KdnGZ{ddC7r&ur31aWIn?K&BMDGz{wr! zQfBCz1APyfQ1bY1?p{JRwxyFxOShia_z{uAc~)D=ZpbS)Zcyt5qBiE&VPG%s)kP?B zQ9~YHF8A1f%GbTzaGew=SU7Oq42vxyD;j0FjMrH0s!#i(BImz+=`_k(r0u4qT-c#s zpzqx>isPV`^j;zuP;6&b3-HQQc}^28~81r=+B?s_xgi` zOrg}$ubdTl63e%PcIcHm$&yX;KCk1=sy6zV>(5J9S57ob`x&OGZ&J6K*VcR$ZW=i+ zSVISJC__WTcg@9lpU+vPSyE! zX;-)0iXuHD-yK0xUAdl{QGZO?VIhN$=iDD#%N=6!Vzk4|qt$!PXpluHwM}!1?(K(S z-}Ssre^zfR1koagT`l^7%WcYt>0exA-x7le*EFReECZ7SJ5pCFn!8;A6WQU%wb9sP@A%+GJfG+&E0~ zK9j>XF}OoMROS+pR)_uugFS6&VXkhjOvVUXC1WTt00)*%X;%&nZ2n- zX19m^GzS$Rj*)ZhA7$^FHPB3=~ofK#_1afJH9B{xw8O|f-o zyB?0|P5MMXCH8_u*viFQiho7QYX2Z^f?T0MxI1b`4l|7FHrK8T<(KUvFC}*4c2CGU zWiZNu;XszE&it=Ja1Uokm?Q=P0t;i|L)XYliO#j$_)UD$$ z)I2?HTkT_N3v|2XpfYhyZB@l(UdP;Pmj-|c5^KeQkGvz%v&gd zwpvzVr%&I`JCr1z#efbn?bD~;(QA5Fugwth;z%0A{OjE$j0BQ=&u%)jJF8vlHYEjf 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 C(;~+J literal 8055 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 - + umbrello uml modeller http://umbrello.kde.org @@ -54,9 +54,9 @@ - + - + @@ -69,6 +69,8 @@ + + @@ -123,7 +125,6 @@ - @@ -131,34 +132,55 @@ + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + + - - + + + + - - - + + @@ -169,7 +191,7 @@ - + @@ -186,25 +208,39 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -226,7 +262,7 @@ - + @@ -264,6 +300,8 @@ + + @@ -302,7 +340,43 @@
- + + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
@@ -327,43 +401,7 @@
- - -
- -
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
-
-
+
@@ -388,43 +426,7 @@
- - -
- -
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
-
-
+
@@ -451,9 +453,9 @@ - + - +
@@ -484,7 +486,7 @@ - +
@@ -501,11 +503,11 @@ - +
- +
@@ -525,7 +527,7 @@
- +
@@ -536,6 +538,111 @@
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
@@ -555,13 +662,75 @@
- + + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
- + + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
@@ -596,7 +765,7 @@ - +
@@ -613,11 +782,11 @@ - +
- +
@@ -637,7 +806,7 @@
- +
@@ -700,6 +869,189 @@
+ + + +
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+ + + +
+ +
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
@@ -904,7 +1256,43 @@
- + + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
@@ -1110,43 +1498,7 @@
- - -
- -
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
-
-
+
@@ -1352,43 +1704,7 @@
- - -
- -
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
-
-
+
@@ -1417,6 +1733,172 @@ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
@@ -1430,19 +1912,19 @@
- + - +
- +
- +
@@ -1457,9 +1939,207 @@
+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
- +
@@ -1469,11 +2149,11 @@ - +
- +
@@ -1493,7 +2173,7 @@ - +
@@ -1504,6 +2184,111 @@
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
@@ -1533,6 +2318,204 @@ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
@@ -1544,7 +2527,43 @@
- + + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
@@ -1573,6 +2592,204 @@ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
@@ -1585,11 +2802,11 @@ - +
- +
@@ -1609,7 +2826,7 @@ - +
@@ -1649,6 +2866,172 @@
+ +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
@@ -1689,6 +3072,172 @@ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
@@ -1702,6 +3251,557 @@
+ + + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ + +
+ +
+
+ +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+ + + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ + +
+ +
+
+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+
diff --git a/wiki/renderengine.html b/wiki/renderengine.html index b59f490b2..fd0928637 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -1432,13 +1432,13 @@ Lumiera agrees to this common understanding (of most film editing and sound hand &rarr; PipeHandling -
+
//mediating entity used to guide and control the presentation of a clip in the UI.//
 
 The clip representation in the UI links together two distinct realms and systems of concerns. For one, there are the properties and actions performed on the clip for sake of editing a movie. Everything which has a tangible effect on the resulting render. These information and operations are embodied into the HighLevelModel and can be manipulated script driven, without relying on an UI. But beyond that, there is also the local mechanics of the interface, everything which makes working on the edit and interacting with the model into a smooth experience and workflow. With respect to this concerns, a clip is a self-contained entity which owns its own state and behaviour. The ClipPresenter is the pivotal element to link together those two realms.
 
 [>img[Clip presentation control|uml/Timeline-clip-display.png]]
-Regarding the global angle, the ClipPresenter is an UI-Element connected to the UI-Bus, and it is added as child element to some parent entity, typically the UI representation of a [[fork ("track")|Fork]]. Commands manipulating the clip can be sent via the embedded bus terminal, and status regarding clip properties and nested child elements (effects, transitions) is received as messages via the bus, which insofar plays the role of model and controller.
+Regarding the global angle, the ClipPresenter is an UI-Element connected to the UI-Bus, and it is added as child element to some parent entity, a TrackPresenter, which likewise serves as UI representation of a [[fork ("track")|Fork]], and controls widgets to render a track like working scope (in the header pane and in the timeline contents pane). Commands manipulating the clip can be sent via the embedded bus terminal, and status regarding clip properties and nested child elements (effects, transitions) is received as messages via the bus, which insofar plays the role of model and controller.
 
 But regarding the local UI behaviour, the ClipPresenter acts autonomous. It controls an actual {{{ClipWidget}}} for presentation, negotiating the display strategy with some overarching presentation manager. Active parts of the widget are wired back to handling methods of the presenter.
 
@@ -2452,7 +2452,7 @@ we need a test setup for this investigation. * realistic: shall reflect the situation in our actual UI
-
+
//The representation of a [[media clip|Clip]] for manipulation by the user within the UI.//
 Within Lumiera, a clip is conceived as a //chunk of media,// which can be handled in compound. Clip as such is an abstract concept, which is treated with minimal assumptions...
 * we know that a clip has //media content,// which need not be uniform and can be inherently structured (e.g. several media, several channels)
@@ -2477,7 +2477,7 @@ Depending on specific circumstances within the presentation, we get a fundamenta
 * need to build a custom drawing container for a single widget, to produce the compact and expanded display; theoretically this display can be //reduced// to the abridged form.
 * alternatively we may omit the overhead of a custom drawing container, if we know that we'll most likely stick to the abridged form, or reduce display to a placeholder block
 * but in the extreme case, we do not even display anything for a given widget -- rather we need to create a placeholder to stand-in for //N clips.//
-This is unfortunate, since it defeats a self-contained control structure, where each widget holds its own model and manages its own state. Rather, we have to distinguish between child elements as belonging to the model and child widgets as far as the view is concerned. A given scope in the fork could have more clip child elements than child widgets for display. Which means, we have to separate between the view aspect and the modelling aspect. And this split happens already on a level global to the timeline.
+This is unfortunate, since it defeats a self-contained control structure, where each widget holds its own model and manages its own state. Rather, we have to distinguish between child elements as belonging to the model vs child widgets as far as the view is concerned. A given scope in the fork could have more clip child elements than child widgets for display. Which means, we have to separate between the view aspect and the modelling aspect. And this split happens already on a level global to the timeline.
 
 This creates a tension related to the kind of architecture we want to build with the help of the UI-Bus. The intention is to split and separate between the application global concerns, like issuing an editing command or retrieving changed model contents, and the //local UI mechanics.// This separation can only work, if -- with respect to the global concerns -- the UI-Bus embodies (actually mediates) the roles of model //and// controler, while the UI widgets take on the role of a "mere view". While, for the local concerns, the same widgets are to act self-contained. But now, already the existence of aforementioned widgets becomes dependent from another, obviously local concern, which unfortunately cross-cuts the 1:1 relation between model entities and view counterpart.
 
@@ -2827,7 +2827,7 @@ In the most general case, there can be per-track content and nested content at t
 &rarr; important question: how to [[organise the widgets|GuiTimelineWidgetStructure]]
 
-
+
The Timeline is probably the most prominent place in the GUI where we need to come up with a custom UI design.
 Instead of combining standard components in one of the well-known ways, here we need to come up with our own handling solution -- which also means to write one or several custom GTK widgets. Thus the question of layout and screen space division and organisation becomes a crucial design decision. The ~GTK-2 Gui, as implemented currently, did already take some steps along this route, yet this kind of decision should be cast and documented explicitly (be it after the fact).
 
@@ -2853,7 +2853,7 @@ While the special setup for scrolling doesn't really count (since it is necessar
 !!!follow-up to the obvious choices
 We came to this point of re-considering the overall organisation of widgets, after having to re-write the initial version of our timeline widget. This initial version was developed by Joel Holdsworth, and it followed a similar reasoning, involving a global timeline layout manager. The distinction between the two panes was not so clear though, and the access to the model code was awkward at places, so the necessity to re-write the timeline widget due to the transition to ~GTK-3 looks like a good opportunity to re-do the same basic reasoning a second time, verify decisions taken and improve matters turning out as difficult on first attempt.
 
-So we get a timeline custom widget, which at top level establishes this two-part layout, provides the global scrollbars and integrates custom widget components for both parts. And this top-level timeline widget owns a layout manager, plus it exposes a common view management interface, to be used both from internal components (e.g. zoom widgets within the UI) and from external actors controlling the timeline display from a global level. Also at this global level, we get to define a layout control interface, which has to be implemented by the recursively structured parts of the timeline display, and which is used by the global layout manager to execute its control over the layout as a whole. {{red{Note (11/2016)}}}: if this layout control interface works push or pull style is a decision yet to be worked out during the course of the implementation.
+So we get a timeline custom widget, which at top level establishes this two-part layout, provides the global scrollbars and integrates custom widget components for both parts. And this top-level timeline widget owns a layout manager, plus it exposes a common view management interface, to be used both from internal components (e.g. zoom widgets within the UI) and from external actors controlling the timeline display from a global level. Also at this global level, we get to define a layout control interface, the TimelineDisplayManager, which has to be implemented within the recursively structured parts of the timeline display, and which is used by the global layout manager to execute its control over the layout as a whole. {{red{Note (11/2016)}}}: if this layout control interface works push or pull style is a decision yet to be worked out during the course of the implementation.
 
 
 !dealing with nested structures
@@ -2864,15 +2864,15 @@ The structure of the display is extended or altered under two circumstances:
 # the display (style) of some component is expanded or collapsed.
 Here, the "component" relevant for such structural changes is always the UI representation of a track. Beyond that, the layout can also be changed //without changing the display structure,// when some embedded component, be it placement (in the track heads / the patchbay) or a clip, effect or transition, is expanded or collapsed. In such a case, a resizing challenge needs to be directed towards the next enclosing track container.
 
-From these observations we can draw the conclusion, that we'll build a ''local structural model'', to reflect the logical relations between the parts comprising the timeline display. And each of these local representation components holds onto a display context, which in fact links it into two different display widget stacks in the two parts of the actual timeline display. Thus, if a component, especially a track, adds a child, it has to pass this child to its own display context, which in turn has to consult its parts, attach new child widgets to those parts and form a new child display context, which then has to be returned to the newly formed child and stored there for future referral.
+From these observations we can draw the conclusion, that we'll build a ''local structural model'', to reflect the logical relations between the parts comprising the timeline display. More precisely, these structuring components are not mere model objects, rather they are mediating entities used to guide and organise the actual view entities, which in turn are passive. They are more like a view model, while also bearing some local controller responsibilities. For this reason, we prefer to term these as ''presenters'' -- i.e. TrackPresenter and ClipPresenter. And each of these local representation components holds onto a display context, which generally links it into two different display widget stacks in the two parts of the actual timeline display. Adding a child component thus becomes a rather tricky operation, involving to link possibly two child widgets into two disjoint parent widgets, thereby forming a similar display context for the child presenter. Overall, the guiding idea is that of self similarity: on each level, we have to reproduce the same relations and collaborations as present in the parent level.
 
 !!!interplay with diff mutation
-Applying a diff changes the structure, that is, the structure of the local model, not the structure of the display widgets. Because the latter are a entirely private concern of the UI and their structure is controlled by the model components in conjunction with the display manager. And since diff application effects the contents of the model such as to make the intended structural changes happen (indirectly), we are well advised to tie the display control and the widgets very closely to those local model elements, such as to //adjust the display automatically.//
-* when a new model element is added, it has automatically to inject something into the display
+Applying a diff changes the structure, that is, the structure of the local model, not the structure of the display widgets. Because the latter are an entirely private concern of the UI and their structure is controlled by the model components in conjunction with the display manager. And since diff application effects the contents of the model such as to make the intended structural changes happen (indirectly), we are well advised to tie the display control and the widgets very closely to those local model elements, such as to //adjust the display automatically.//
+* when a new model element is added, it has to inject something automatically into the display
 * when a model element happens to be destructed, the corresponding display element has to be removed.
-* such might be triggered indirectly, by clean-up of leftovers, since the DiffApplicator re-orders and deletes by leaving some data behind
+* such might be triggered indirectly, by clean-up of leftovers, since the {{{DiffApplicator}}} re-orders and deletes by leaving some data behind
 * the diff also re-orders model elements, which does not have an immediate effect on the display, but needs to be interpreted separately.
-Together this means we get a fix up stage after model changes, where the display is re-adjusted to fit the new situation. This works in concert with the display manager representing only those elements as actual widgets, which get a real chance to become visible. This way we can build on the assumption that the actual number of widgets to be managed any time remains so small as to get away with simple linear list processing. It remains to be seen how far this assumption can be pushed -- the problem is that the GTK container components don't support anything beyond such simple linear list processing; there isn't even a call to remove all child widgets of a container in a single pass.
+Together this means we get a fix up stage after model changes, where the display is re-adjusted to fit the new situation. This works in concert with the [[display manager|TimelineDisplayManager]] representing only those elements as actual widgets, which get a real chance to become visible. This way we can build on the assumption that the actual number of widgets to be managed any time remains so small as to get away with simple linear list processing. It remains to be seen how far this assumption can be pushed -- the problem is that the GTK container components don't support anything beyond such simple linear list processing; there isn't even a call to remove all child widgets of a container in a single pass.
 
@@ -8132,6 +8132,12 @@ Actually, Timeline is both an interface and acts as façade. Its an interface, b Besides building on the asset management, implementing Timeline (and Sequence) as StructAsset yields another benefit: ~StructAssets can be retrieved by query, allowing to specify more details of the configuration immediately on creation. //But on the short term, this approach causes problems:// there is no real inference engine integrated into Lumiera yet (as of 2/2010 the plan is to get an early alpha working end to end first). For now we're bound to use the {{{fake-configrules}}} and to rely on a hard wired simulation of the intended behaviour of a real query resolution. Just some special magic queries will work for now, but that's enough to get ahead.
+
+
//guide and control the concrete display properties of the various sub components (tracks, clips) comprising a timeline display.//
+
+The TimelineDisplayManager actually is an abstraction, a control interface, revolving around the guidance individual components need in order to settle on a proper display. Those components are represented as mediating entities, the TrackPresenter and the ClipPresenter, each of which controls and manages a mostly passive GTK widget. To this end, the presenters need to know at which virtual coordinates their corresponding widgets would show up, and they need to know if these widgets need to be actually present at the moment. Also, especially the ClipPresenter needs to know which ''clip appearance style'' to choose for the corresponding slave widget.
+
+
There is a three-level hierarchy: [[Project|Session]], [[Timeline]], [[Sequence]]. Each project can contain ''multiple timelines'', to be viewed and rendered independently. But, being the top-level entities, these timelines may not be combined further. You can always just render (or view) one specific timeline. Each of those timelines refers to a Sequence, which is a bunch of [[media objects|MObject]] placed to a [[fork ("tree of tracks")|Fork]]. Of course it is possible to use ~sub-sequences within the top-level sequence within a timeline to organize a movie into several scenes or chapters. 
 
@@ -8233,6 +8239,12 @@ Placements are __resolved__ resulting in an ExplicitPlacement. In most cases thi
 &rarr; [[Definition|Pipe]] and [[handling of Pipes|PipeHandling]]
 
+
+
//mediating entity used to guide and control the track-like nested working space in the timeline display of the UI.//
+
+Similar to the ClipPresenter, from a global angle this element fulfils a model like role, while also guiding and controlling a mostly passive view component implemented as GTK widget. Here, the authority of the presenter over the widget must be total, since display management //needs to work automatically,// due to model updates and mutations arriving as [[diff messages|MutationMessage]]. In addition, this structure is prerequisite for (possibly) implementing UI rendering optimisations, since it allows us to leave out widgets entirely, when it is clear they won't become visible: A ''display evaluation pass'', which is effectively a //tree walk,// consecutively visits each part of the timeline structure, to negotiate its concrete display properties in collaboration with a global TimelineDisplayManager. As a result, the presenter knows where to show its corresponding view, and it knows if to show it at all, allowing to either adjust, create or destroy actual GTK widgets within its local reference frame.
+
+
Transitions combine the data from at least two processing chains and do this combining in a time varying fashion. So, any transition has
 * N input connections
diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm
index 31b9129ca..fbd570494 100644
--- a/wiki/thinkPad.ichthyo.mm
+++ b/wiki/thinkPad.ichthyo.mm
@@ -316,6 +316,56 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+    
+  
+  
+    

+ interagiert mit den Presentern +

+ + +
+
+
+ + + + + + + + + +

+ d.h. eine LUID +

+ + +
+
+
+ + + + + + + +