capture library

Recording and sharing what was played: a game filmed frame by frame for a reel or a clip (Reel, ReelShot), and the strip a finished run is shared from and somebody else's is opened from (ShareStrip).

A library rather than a plugin. A reel steps the game itself, from its own entry point, and sharing is a button on the game's own screen; there is nothing for either to register in a loop.

Classes

Reel
A game filmed frame by frame for a release reel or a clip: each frame drawn with savePhoto at a fixed size and written as a PNG into <out>/<shot>/frame_NNNN.png.
ReelShot
One shot of a Reel: its frames, numbered from nought.
ShareStrip
Sharing, where a run can be shared or opened: a button that files the run just played and says its code, and a field that takes somebody else's code and opens their run — raced as a ghost, watched, replayed, whatever the game does with one.

Constants

reelFrameStep → const double
The game time between two frames of a reel, s: a thirtieth, so a shot is stepped at a fixed rate whatever the machine filming it manages.

Functions

reelEase(double t) → double
t, nought to one, eased in and out: a camera move that starts and ends at rest. Outside the range it is held at the ends.
reelFrameName(int index) → String
The file name of frame index of a shot: frame_0042.png.