libkate: Format - motion

# Format - motion

A motion definition consists of:

- a variable length integer for the number of curves in this motion.

Then, for each of those curves:

- 1 bit indicating if the curve is predefined (1) or not (0).

Then, if the bit is 1:

- a variable length integer representing the index of the curve.

If the bit is 0:

- a curve definition.

Then, in all cases:

- a stream of floating point values representing the lengths of those curves.
- 8 bits for the mapping for the x coordinates.
- 8 bits for the mapping for the y coordinates.
- 8 bits for the semantics of this motion.
- 1 bit for a flag representing whether this motion is periodic or not.

Next, a warp.

Kate bitstream 0.6 makes use of this warp to add:

- a metadata set.

Next, the data ends.