Update documentation.
Chris Pressey
4 years ago
34 | 34 | |
35 | 35 | bin/kinoje eg/squares.yaml -o squares.gif |
36 | 36 | |
37 | Theory of Operation | |
38 | ------------------- | |
39 | ||
40 | The `kinoje` executable actually calls 3 other executables: | |
41 | ||
42 | * `kinoje-expand` fills out the template multiple times, once for each frame of the movie, and | |
43 | saves the expanded templates (which we call "instants") into a directory. | |
44 | * `kinoje-render` takes a directory of instants and creates a set of images, one for each instant, | |
45 | in another directory. It calls a rendering command specified in the config to do this. | |
46 | * `kinoje-compile` takes a directory of images and turns them into a movie file (`.mp4` or `.gif`). | |
47 | ||
48 | These executables can also be called directly, if you e.g. already have a directory of instants | |
49 | you want to render and compile into a final movie. | |
50 | ||
37 | 51 | File Format |
38 | 52 | ----------- |
39 | 53 | |
40 | The input YAML file must contain, at the minimum, a key called `template` giving a string (typically | |
41 | a multi-line string) in Jinja2 syntax, which will be filled out once for each frame. | |
54 | The input config file must contain, at the minimum, a key called `template` containing the template, | |
55 | and a key `duration` which specifies the duration in seconds of the movie. It may also contain | |
56 | the following keys, or if not, the following defaults will be used: | |
42 | 57 | |
43 | The context with which it will be filled out is constructed as follows: | |
58 | * `start`: 0.0 | |
59 | * `stop`: 1.0 | |
60 | * `fps`: 25.0 | |
61 | * `width`: 320 | |
62 | * `height`: 200 | |
63 | ||
64 | The template is typically a multi-line string in Jinja2 syntax, which will be filled out once for | |
65 | each frame. The context with which it will be filled out is constructed as follows: | |
44 | 66 | |
45 | 67 | * `t` is a floating point value which will vary from 0.0 on the first frame to 1.0 on the last |
46 | 68 | frame. It is this value which will typically drive the animation. For example, if the animation |