code-dot-org/blockly — pull request #599 by Bjvanminnen (2014-05-21 21:44:46+00:00)
Title: [Finishes #71191972, 70488748] Step mode fixes

The easiest way to follow these changes might be to look at each commit in turn.

Summary:
(1) Turtle was only using the log from ExecutionInfo, so I instead had it use it's own log array making Maze the only app using ExecutionInfo.
(2) Previously each item in executionInfo.log was an action represented by a list in form [command, blockId]. Now each item represents a step, where each step can contain multiple actions. Each action is an object in the form { command: "foo", id: x}. This means we can now have steps that consist of multiple actions (i.e. a turn and move).
(3) Added unit tests
(4) Have INFINITE_LOOP_TRAP in codegen only concern itself with looking for infinite loops. Added LOOP_HIGHLIGHT to concern itself with making sure the loop block gets highlighted. There's still some ugliness here (see next point).
(5) Have for loops get their loop blocks highlighted/stepped through by setting blockly core's infinite loop trap to be a loop highlight. I'm going to open a pivotal item to clean this up and make it more clear.