add Panel draw boundary for optimized drawing, and a position property to set initial value
make panels aware whether they are busy moving around
pause the model while panels are moving
use non-zero constants to avoid if-not snafus
manage model state with change_state()
add a StateEvent
place the "transitioning" flag in the correct class
a model a call to escape the current state, and it notifies everyone of the new state if it popped
escape key pops model states, spacebar pushes a new state
remove F2 key
implement an event chain which allows one to queue events that post once the model is unpaused, i.e. after any views are done doing what they need to
preliminary view state handlers
the beginnings of the Puzzle grid and blocks
integrate the puzzle grid into the model. no need to separate logic.
new_game() call
removed blank line endings
add state machine swap() call
rename model internally used methods to prefix "_" and add a step call in the TickEvent
debug next phase with F2
removed blank line endings