This is just a draft. Please before edit it, consider that this is an important wiki page and it should be as good as possible.
What is a keyframe?
A keyframe is a basically a "mark" in the timeline. This mark allows the user to make synfig remember the state of the animation at that point (frame). It means that the keyframe is like a label that tell synfig that this frame should be taken account when creating waypoints. Also it is a mark to a special frame where the information of every parameter in the animation is stored there in order to be reused later.
A keyframe is associated to a particular frame and a frame only can have a keyframe.
How does a keyframe looks like?
A keyframe looks like a light brown vertical dashed line placed at the corresponding frame. You can distinguish from the time cursor by its color (the time cursor is blue).
Also a keyframe looks like an entry in a list in the Keyframes Dialog (fix keyframe dialog to explain better the columns of the dialog)
Keyframes and waypoints
A keyframe not necessarily implies a waypoint. Also a waypoint doesn't implies necessarily a keyframe.
A keyframe could live all the time without any waypoint but it stores the information of the values of the parameters on that specific frame. If there is a waypoint there then the waypoint information is stored also (I have to verify this). If there is no waypoint in the keyframe then its "stored" value is the result of the surrounding waypoints its parameter values and the interpolation values the waypoints have.
Anyway the creation of a waypoint implies possible creation of keyframes depending on what's the current value of the Lock Keyframes state. So, maybe , the creation of a waypoint (modifying a parameter or pasting or moving a waypoint) can create a waypoint in the the keyframes that are around the inserted waypoint. The waypoint created in the neighbour keyframes are created applying the interpolation method stated by default in the tools window (fix me with the correct wiki link).
Creating, copying, deleting or duplicating keyframes
Create a keyframe: Place the cursor at a frame where there isn't currently any keyframe. Then press the Add new keyframe button. If you place the time cursor ar a frame where there is currently an existing keyframe then the Add keyframe button is disabled. Once you press the button then a new entry is added in the list of keyframes and a vertical dahsed line is added in the time line. None waypoint is created.
Duplicate a keyframe: Select a keyframe in the keyframe list of the Keyframes Dialog and place the cursor at a frame where there isn't currently any keyframe. Then press the duplicate button. This would have two separated effects:
- For each object and for each parameter in that object: If there is a waypoint at the original keyframe then the waypoint is duplicated. Its duplication include the parameter value and its interpolation values.
- If there is no waypoint in the original keyframe for any particular parameter then it could happen two things:
- There is no waypoint for that parameter at ANY frame in the time line: Then NONE waypoint is created.
- If there is any waypoint for taht parameter in the time line then in the duplicated keyframe is created a new waypoint with a value for the parameter of the result of the current value at the original waypoint and a TBC Smooth interpolation type for both "In" and "Out". (it seems a bug? it should create a waypoint with the current selected default interpolation method?)
Editing keyframes: time & description
Editing keyframes: Properties dialog
Advanced uses of keyframes