Big Things
~~~~~~~~~~~~~~~~~~~~~~~~~
[ ] compare settings for a level!!! integrated into builder...

Origin things:
~~~~~~~~~~~~~~~~~~~~~~~~~~
[ ] polish visual layout?? needed?
[ ] work on TABBED levels layout

Medium things:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ ] figure out what to do with instant commands (and parse waterfall and the like)
[ ] disable git commands on hg levels
[ ] EASY -- make colors the same between remote branches and their remote counterparts

Cases to handle / things to edit
=======================

Small things to implement:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Minor Bugs to fix:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Big Bugs to fix:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ideas for cleaning
~~~~~~~~~~~~~

Done things:
(I only started this on Dec 17th 2012 to get a better sense of what was done)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[x] get clone as a before command working in demonstration views (related to test infra as well)
[x] importTreeNow fails if origin isnt updated
[x] set checkout -b branch __remoteBranch to track the remote branch
[x] test coverage for hg!!! (in progress)
[x] tree pruning
[x] TONS of hg stuff
[x] finally work on an upload / download animation
[x] factor out golf thing too
[x] factor regexes and instant commands into one module
[x] big command refactor to get everything in one place
[x] get demonstration view to show origin / remote -- z index ugliness
[x] get goal visualization to show origin / remote.... hrm :O
[x] MASSIVE EFFIN REFACTOR of all command options outside of git engine and into separate module
[x] facebook page link :D
[x] tree comparison with origin.... done! not too bad
[x] green refactor tree compare to have map
[x] increase test coverage over everything
    - unit and integration, but mostly for git operations
[x] figure out gh-pages force
[x] add visuals and text to show compare method
[x] green refactor tree compare to have map
[x] fix tests by stubbing out animation factory to resolve promises
[x] better git clone and fake teamwork anywhere
[x] git pull animation
[x] use the graph difference algorithm to then implement git push
[x] work on git pull --rebase animation, send down the deferred and it should work?
[x] why is rebase -i broken? dont emulate touch events
[x] tree compare test coverage
[x] remote branch it is tracking (points to a remote branch model)
[x] fix branch -a and branch -r to: show remote branches or all branches
[x] fix branch -f to not allow moving remote branches?
[x] fix checkout to: if you go to __remoteBranch, it just goes to the commit since its read-only.
[x] is remote (custom getter)
[x] hash agnotisc comparison with asserts for ammends
[x] level builder intl aware
[x] rest of views/index translation
[x] git/index.js translation -- rest of the strings
[x] next level confirm translation
[x] fix clickthrough when goal is shown
[x] hash agnostic comparison
[x] get automated SHA hash appending in the html source :OOOOO... template? or what?t
[x] import random level JSON
[x] export / import tree from JSON
[x] rebase bug... ugh
[x] bug with weird tree string:
[x] optimistic parsing of level and level builder commands, man that was toughwith circular imports
[x] edit dialog
[x] level builder dialog builder
[x] level builder dialog tester
[x] turn off button clicking for demonstration view :O
[x] text grabber for commands
[x] way to close testing view
[x] allow demonstration view to have git commands beforehand
[x] demonstration builder progress
[x] markdowngrabber
[x] sandbox and level command refresh
[x] level builder finish
[x] level builder? :OOO
    * basically just an extension of level (or sandbox), that has commands like
      ```save tree beginning``` or ```save tree goal``` and then a final
      dialog typing area thingy
[x] vis branch z index reflow bug
[x] fix terminal input field in general
[x] warning for window size
[x] esc on multiview quits absolutely
[x] cross browser support... firefox only LULZ. should be just css right? WRONG
[x] keyboard navigation for level selector
[x] optional multiview on start
[x] local storage for solved map
[x] what if they just type "levels" ?
[x] hookup for when solving happens
[x] levels dropdown selection?
[x] git demonstration view -- shouldnt be too bad. LOL WHAT A FUCKING JOKE like 4 hours
[x] gotoSandbox command
[x] "next level?" dialog after beating level
[x] keyboard input for confirm / cancel
[x] level arbiter (has everything by ID)
[x] flip branches on the sides!! i wonder how to determine...
[x] click handlers on goal visualization for the actual canvas elements
[x] sandbox can launch and takedown levels
[x] TWO epic bugs squashed:
    * Raphael process.nextTick needed
    * _.debounce on prototype
[x] window zoom alert thing -- this just needs to be timeouted one more time
[x] level teardown
[x] great die for levels
[x] show which level you are in! with a little thing on the top
[x] allow command history to clear finished ones
[x] put in some > into the rules for CSS
[x] fix bug for multiview, i think its from the die() on everyone
[x] fixed bug in command queue
[x] better compare in levels
[x] show solution
[x] show goal
[x] reset for sandbox command
[x] do an after-paper-initialize type thing so we can insert git shim once
    git engine is done.
[x] promise-based levels
[x] fixed that to-do entry with the toggle Z thing. now its much more consistent
[x] sandbox a real view now
[x] awesome before and after shims with event baton stealing and passing back
[x] sip from buffer with post-command hooks. ideally the git engine
    knows nothing about the level being played
[x] fix tests
[x] transition to deferreds / promises for command callbacks
[x] awesome ability to have dialogs and such handle command processing and block
[x] figure out why multiview baton passing doesn't work...
[x] multiple things can process!!!
[x] move command creation outside of the command view so multiple things
    can be responsible for specifying the waterfall associated with a command!
[x] awesome zoom level polling and sweet event baton stealing :DDDDDDDDDDDDDD
[x] then refactor keyboard input and UI.listen() to that event system
[x] make some kind of "single listener" event system... will make keyboard stuff easy
    because then you just steal and release for modals and such
[x] text input from the commandPromptView must flow down into
    filters. no hacky stuff anymore where it's part of the option parser,
    wtf
[x] ok fuckit here is the deal. Command model has minimal logic -- it calls
    to a parse waterfall that expands any shortcuts needed, handles any instant
    commands, and then finally will handle the dispatching. I think this will be
    really nice :D
[x] disabled map for levels
[x] better click events on branches and commits
[x] change to returning a promise for multiview
[x] multiViews with multiple terminals...
[x] debounce the forward and back methods
[x] multiview makes all these arrow views which fire events
[x] markdown parsing yay!!
[x] check animation for command entry fading nicely wtf
[x] no more CSS ids in views
[x] promise-based confirm cnacel
[x] rebase buttons view & styling
[x] rebase entries styling
[x] view for anything above the fold (modal view)
[x] rebase styling (get it better. even cuter -- make it like a command window)
[x] fix multiple rebases
[x] z index reflow update
[x] level finish animation
[x] refactor visualization
[x] aliases replace when put into commands
[x] headless Git for testing (send it commands and expected trees)
[x] few tests
[x] Great git test coverage
[x] gitEngine loads from tree immediately, not the weird thing we have now!
[x] nice opacity fade in
[x] clean up require
[x] promise based callback for interactive rebase WITH FAIL awesome

