<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 20, 2014 at 10:14 PM, Jouni Pentikäinen <span dir="ltr"><<a href="mailto:mctyyppi42@gmail.com" target="_blank">mctyyppi42@gmail.com</a>></span> wrote:<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
On Sat, 20 Dec 2014, Dmitry Kazakov wrote:<br>
</span><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Before starting refactoring I would highly recommend to prepare at<br>
least a draft of UML diagrams of what you are planning to achieve.<br>
This way the refactoring will come faster and more successful. I<br>
usually create diagrams using <a href="http://creately.com" target="_blank">http://creately.com</a> They allow create<br>
public diagrams and edit them collaboratively.<br>
</blockquote>
<br></span>
I made a quick draft of the different approaches discussed so far:<br>
<br>
<a href="https://creately.com/diagram/i3x32pss1" target="_blank">https://creately.com/diagram/<u></u>i3x32pss1</a><br>
<br>
The first one is modeled from Boud's description while the other two are the models I have proposed. Let me know if I misunderstood the description somehow.<br>
<br>
I hope we can iron out the remaining issues and find a model we can all agree on.<br></blockquote></div><br></div><div class="gmail_extra">For the third approach I would try to make it basing on KisGroupLayer. That is the class should be derived on a group layer, otherwise quite a lot of code (updates, drag&drop will not work for it). Probably, you could override the methods of KisNode, but I'm quite unsure about it. There are lots of complications like KisCloneLayer which could point to some layer that doesn't belong to current frame.<br><br></div><div class="gmail_extra">So speaking truly I would first try to make purely "paintable" animation with KisPaintLayer only. And only then would start thinking about solving all these complications with animated groups. It might really happen that the users don't need it. I guess what then need is an animated paint layer + ability to change visibility and other properties of a all other node according to the frame number.<br><br></div><div class="gmail_extra">So the list of requirements would be the following:<br><br><div class="gmail_extra">1) Only Paint Layer can be animated.<br></div>2) Other types of layers are static.<br></div><div class="gmail_extra">3) The properties of all the nodes can be saved for every node for every frame. E.g. "one can activate Transformation Maks for a particular node starting from frame X and till frame Y".<br></div><div class="gmail_extra"><br clear="all"><br>-- <br><div class="gmail_signature">Dmitry Kazakov</div>
</div></div>