Adding in initial demo code.
Pull in ace as a submodule. Switch to an updated version of require.js (for Ace loading). Break out some logic and styling into separate files.
Implement a working undo queue, activated by hitting the backspace key (at the moment).
Add in state recording and playback. Records keyboard input, mouse clicks, and canvas manipulation.
Reduce canvas sizing, no longer needed.
Oops, using the wrong event properties for positioning.
Move and simplify much of the canvas drawing logic into a single object.
Split out editor code. Handle pausing and resuming of recording. Fix some bugs regarding playback, such as unnecessary keyup handling and canvas redraw issues.
Fix issue with drawing replay.
Split out recording logic into a separate library. Move simulation handlers to the appropriate editor/canvas files. Drastically simplify the amount of data that needs to be logged while recording.
Move to an evented system for managing canvas and editor actions, moves all interface logic to the main file.
Fix issues with pausing and resuming playback.
Add in simple files for testing.
Improve code loading into the editor.
Layer the canvas behind the editor with an opacity, creates a compelling effect. Add in an extra clear button as well.
Adding in a basic means of introducing exercise checkpoints.
Large internal rewrite and add in the basis for exercise testing. Makes the interactions much more consistent, use an event-based model. Also re-tool much of the Canvas drawing logic, fix undos in replay. Fixes #2.
Fix a bug where too many actions were going onto the record queue (during an undo that was being played back).
Split out the UI logic into a separate file.
Change some of the formatting for how exercises are recorded.