[feature request] "Clone Drawings" or "Parent|child Drawings"

I had been using Pencil2D for a really long time ago to practice my animation. I really love it. After all this time, I realized the need of this feature to improve productivity:

Lets say we have a sequence of drawings in which some drawings are repeated using copy-paste [FIG 1]

Then you need to update the drawing, let’s say, D2.

The problem:

  • You update it but now you need to replace again all D2 drawings previously copied. [FIG 2]
The subproblem:
  • You don't know which drawings are D2, and you have to search them.
What I propose:

A) To implement some kind of “clone drawings”, all this clones would be a pointer to an “original drawing”. When the original drawing is updated, all references to it are updated. [FIG 3]


B) To implement some kind of “child” and “parent” drawings, an update of the parent drawing updates its child drawing. A child can be parent as well. [FIG 4]


C) Convert drawing to “symbol” (as seen in Adobe Flash), updating the symbol all its references are updated.

"Clone" or "Parent" and "Child" drawings

The three solutions are quite similar ( I think A and C options are basically equal). Option B is a bit different since it allows to create a kind of hierarchical tree of drawings ( a parent can have several children), updating the root is an update to all its references (problem solution).

I would like to read your comments. Thanks.

Hey @josh thank you for sharing your thoughts on ways to improve Pencil2D! I must say that this is indeed a great idea, and it’s pretty standard amoing other animation softwares. The closest app that resembles this bevaiour similarly is Digicel’s Flipbook which has instanced / cloned drawings that come to play whenever you increase or decrease your exposure of a drawing, which obviously is a time saver.

Of course your proposal is much more intricate, I think that a combination of a exposure system (instances a frame multiple times in sequence) and what you propose, a non-linear key / frame instancing would be best in our best interest as animators.

For your part of the proposal I think a marking or label feature, plus options, would allow us to explicitly tell the program which frames we want to clone, and what label should be cloned on those frames. This is just a thought of course.

Let’s see what @feeef and @chchwy think about how to implement these kind of related behaviours.

Would also love to hear about other users input so this can become a feature in the wishlist.

Hi @josh !
I came up with a very similar request a few days ago. That’s a good point since it shows that it is something not only you or me would need :slight_smile:


My idea is similar to your A) point.

I think it’s the most basic way to go.
And most basic is for me the best one as I think our keyword for Pencil2D should be “simple”.

I used to work with Flash before, and I know the symbols stuff (which are precomps, like in After Effects), but this is in my opinion too abstract for the users, and too complicated to code : it requires to work on nested workspaces, to have a symbols library, etc etc, to edit symbols.

Anyway, let’s see what others will say about all that !

That’s absolutely fantastic, it’s basically the same idea and it should works perfectly for this problem. I’m sure many people would start to use this feature when they know is there!
You are right, symbols stuff is very complex, I just wanted to put on the table some ideas for the solution. I started using Pencil2D for its simplicity, let’s keep that!

It’s nice to read your comments @morr @admin. Thank you

I like this idea very much too! Technically it is not very difficult to implement if we go to the A (Fig 3) proposal.

It is one feature that should be added to Pencil.

You should add your request to github