<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Le 20/12/2014 20:09, Dmitry Kazakov a
écrit :<br>
</div>
<blockquote
cite="mid:CAEkBSfUodHw8NrUG-j+EAT74bCgFrTDwk=Q=Tq-DKco8C_pUVQ@mail.gmail.com"
type="cite">
<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
moz-do-not-send="true"
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
moz-do-not-send="true" 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 moz-do-not-send="true"
href="https://creately.com/diagram/i3x32pss1"
target="_blank">https://creately.com/diagram/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>
</div>
</div>
</blockquote>
<br>
To elaborate a little my previous answer on why other kinds of
layers should be animated:<br>
<br>
-Vector layer: very useful to have it for some anime-like tracing,
rotoscopy, ...<br>
Should work basically as frame-per-frame (new time cell=new vectors
content).<br>
Though at some point we could add interpolation (as long as a cell
is active and so content doesn't change, its content can be
interpolated.. ) Same interpolation of values could be used for
filter and fill layers, and filter and transform masks.<br>
<br>
-File layer: could allow to load an external file sequence.. very
useful for VFX!<br>
<br>
-Transparency mask: useful for transparency animated fx, and not so
different from paint layer..<br>
could be done with group+alpha-disabled layers alternative method to
masking, but those used who prefer real masks will want it
animated..<br>
<br>
-Clone layer, I'm not sure yet..<br>
<br>
Timothée<br>
<br>
<blockquote
cite="mid:CAEkBSfUodHw8NrUG-j+EAT74bCgFrTDwk=Q=Tq-DKco8C_pUVQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">-- <br>
<div class="gmail_signature">Dmitry Kazakov</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Krita mailing list
<a class="moz-txt-link-abbreviated" href="mailto:kimageshop@kde.org">kimageshop@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/kimageshop">https://mail.kde.org/mailman/listinfo/kimageshop</a>
</pre>
</blockquote>
<br>
</body>
</html>