Reusing keyframes in character animation

I apologize in advance if this question was answered previously and with up-to-date information, but I couldn’t find anything similar, so I decided to post anyways. For reference, I am using Synfig 1.4.4.
I am creating animation spritesheet for a game character. The character “parts” I imported as PNG files, and linked them to bones. I have a number of animations to make which include certain parts moving in a similar fashion. For example: running and idle will feature the same movements of the upper body (arms + torso).
The most useful option for me would be to duplicate multiple frames (from idle animation for example) and slightly alter them (for running animation for example). I have found on multiple places that it is impossible to copy multiple frames at once, so I am searching for an alternative to that. Is there any way to copy an entire sequence of frames or to somehow reuse existing frames of a part of an animation?
I did manage to do something similar by duplicating my character, relinking all the bones (for some reason the “copied” sprites were linked to “original” bones) and then tweaking the frames as needed.
I also toyed with of exporting canvases for multiple parts of the body (as mentioned in this doc Reuse Animations — Synfig User Manual 1.5.1 documentation). I encountered a few problems here, mainly the fact that exported canvases had to be as long as the full animation of character and that the separated body parts (head, upper and lower body) had to be connected to each other, which was hard to achieve. Also, I would still have the same problem, where, for exampl, my lower body would still have to repeat its animation a few times during the full animation (not on exactly spaced intervals, hence why I avoided time loop).
There is also the possibility to basically create a new project for each part of the animation (idle, running, etc), export the animations individually and then handle it like that in the game engine.

It seems that whichever solution I choose, I end up having to duplicate and relink bones somehow. This also makes it harder for me to change image of one part of the body after the animations have been created. I would have to go through all animations and change the sprite.

Is there a way to better handle the problem I am having? Am I missing some crucial feature or not using existing ones properly? I assume other people had the same dilemma over the years - I just couldn’t find it.

Anyways, thanks in advance!

I don’t know if there’s possibility to duplicate multiple frames at once but Free Time layer might be what you need

@Majkel Thank you for mentioning this, I didn’t read anything about this from documentation.
I managed to setup my project so that I can easily reuse parts of the animation as follows:

  • Separated characters major body parts in exported canvases
  • Created skeleton for each major body part in said canvas
  • Added a Free Time layer to each exported canvas
  • In the master canvas, added a skeleton which connected all major body parts in a desirable way.

Although I still can’t “copy” and then slightly alter animation - this is a big step forward in terms of time saved.
Thanks again @Majkel!

There might be tedious solution that could also require to reanimate everything but you can convert bones to time loop and then bake animation. Conversion will remove already existing waypoints but that’s how it would work:

  1. Convert whole bone to time loop
  2. Animate first loop
  3. Set up Link Time, Local Time and Duration of time loop
  4. With Constant waypoint set Duration to 0 at frame where you want loop to stop (important)
  5. Bake bone, at each frame baking will set Clamped waypoint and it will include time loop. But baking will stop at frame where Duration is set to 0
  6. Now you have looped animation that ends whenever you want and a lot of waypoints that you can adjust

It might be very tedious to adjust a lot of waypoints but this is a solution I thought of