These HTML fragments are presumed to have no body or head tags, just
basic HTML markup. It really should check for the presence of:
* html
* head
* body
And adjust saving accordingly.
This includes: handling of CatAnimation(s) generation, storing a
reference to the iframe's contentDocument, and providing methods for
acquiring the body and animations. elements-view and animations-view now
properly use this information via the project-focused and project-loaded
events.
Also adjusted Cat and CatProject so that CatProject emits `loaded`
on its own `view` on `loaded` event. This is a step towards placing
all project-specific events being handled and emitted by a CatProject
itself.
This element provides a timeline that can be used for playback, keyframe
position visualization, and more!
Also added light testing code before the more major refactor of data
into the Project itself rather than being handled so directly by the
animations or elements tree modules (and other modules soon enough).
CatAnimation struct provides an interface for accessing, changing,
and removing CSS animations and keyframes. It provides a more
JavaScript programming friendly interface by using basic Objects
to represent keyframes and their properties.
Add functionality to properly set the tree heads and rows outside
of the rather hackish build from DOM method.
The animations tree module and accompanying HTML provides a means
to select, add, and delete animations stored in the project HTML
file. It is incomplete as of yet.
Additionally, fixed a minor bug in Cat's emit method that made all
functions that returned a non-truthy value (such as no return) to
abort all proceeding listeners.