Bug 377275

Summary: Clone frames / frames instances / aliases
Product: [Applications] krita Reporter: gordie.lachance+dev
Component: AnimationAssignee: Emmet O'Neill <emmetoneill.pdx>
Status: RESOLVED UPSTREAM    
Severity: wishlist CC: emmetoneill.pdx, eoinoneill1991, tamtamy.tymona
Priority: NOR    
Version First Reported In: 3.1.2   
Target Milestone: ---   
Platform: Other   
OS: Unspecified   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description gordie.lachance+dev 2017-03-06 10:21:32 UTC
Hi folks,
Another idea that you may already have had...  But I haven't found anything about it here, so I write it.

It would be really great to have 'frame instantiation' in Krita.
Let me explain myself :

Quite often in animation, you need to reuse a drawing several times, for example when building an animation cycle.

You could of course duplicate it, but there is some inconvenients to that :

- It makes the file bigger
- Every image will need to be cached while they all are similar
- And most of all, if you edit your drawing, you will need to replace all occurences of it; which is a pain in the **.

A great solution to this would be to have frame instances / aliases / you name it in Krita :

Using a new command ('copy frame instance' for example); you would be able to copy a 'reference' to that drawing.

- When this frame is selected in the timeline, all instances would be highlighted.
- If you edit the frame, all instances would be updated.

Is this on your roadmap ?  Would be awesome.

Thanks !
Comment 1 Dmitry Kazakov 2017-03-06 18:49:38 UTC
Well, you can add you ideas in this discussion: 
https://phabricator.kde.org/T3496

In the original design of animation this feature was called "cloned 
frames". It is technically possible to implement this thing, it just 
doesn't have any GUI. Actually, a proper UIX design is the biggest 
problem of the feature...

On 06.03.2017 13:21, bugzilla_noreply@kde.org wrote:
> https://bugs.kde.org/show_bug.cgi?id=377275
>
>              Bug ID: 377275
>             Summary: Frames instances / aliases
>             Product: krita
>             Version: 3.1.2
>            Platform: Other
>                  OS: unspecified
>              Status: UNCONFIRMED
>            Severity: wishlist
>            Priority: NOR
>           Component: Animation
>            Assignee: krita-bugs-null@kde.org
>            Reporter: gordie.lachance+dev@gmail.com
>    Target Milestone: ---
>
> Hi folks,
> Another idea that you may already have had...  But I haven't found anything
> about it here, so I write it.
>
> It would be really great to have 'frame instantiation' in Krita.
> Let me explain myself :
>
> Quite often in animation, you need to reuse a drawing several times, for
> example when building an animation cycle.
>
> You could of course duplicate it, but there is some inconvenients to that :
>
> - It makes the file bigger
> - Every image will need to be cached while they all are similar
> - And most of all, if you edit your drawing, you will need to replace all
> occurences of it; which is a pain in the **.
>
> A great solution to this would be to have frame instances / aliases / you name
> it in Krita :
>
> Using a new command ('copy frame instance' for example); you would be able to
> copy a 'reference' to that drawing.
>
> - When this frame is selected in the timeline, all instances would be
> highlighted.
> - If you edit the frame, all instances would be updated.
>
> Is this on your roadmap ?  Would be awesome.
>
> Thanks !
>
Comment 2 Tiar 2020-04-07 13:30:45 UTC
It's being implemented here: https://invent.kde.org/kde/krita/-/merge_requests/157 but I guess it's on hiatus for now.
Comment 3 Emmet O'Neill 2020-07-27 17:29:31 UTC
This feature is planned, but with no ETA just yet. It is one of the things we hope to have ready for the next big release of Krita. We're making a few behind-the-scenes changes to the animation systems first. =]
Comment 4 Eoin O'Neill 2021-04-08 18:42:16 UTC
This feature is currently in. Hold alt + drag to clone a frame to another part of the timeline.