A cursor allows for efficiently scanning through a collection of overlapping intervals (which
we call "spans"). It is optimized for the case where you need to repeatedly move the current
position by a little bit in either direction; in this case, the complexity is O(n),
A snippet is a sequence of strokes, possibly modified by a time distortion.
Snippets are identified by unique ids.
A collection of
A collection of effects.
A fade effect.
Specifies interpolations between two sets of times.
While drawing, this stores one continuous poly-line (from pen-down to pen-up). Because we expect lots of fast changes to this, it uses interior mutability to avoid repeated allocations.
A single continuous stroke in a
The clock of a scribl.
The difference between two
An interval of times.