@@ -60,6 +60,7 @@ function debuggerInit(module, elm) {
60 function resetProgram() {
60 function resetProgram() {
61 clearAsyncEvents();
61 clearAsyncEvents();
62 restoreProgramState(allNodes, initialProgramState);
62 restoreProgramState(allNodes, initialProgramState);
65 function startRecording() {
66 function startRecording() {
@@ -93,21 +94,24 @@ function debuggerInit(module, elm) {
96− var moduleRetValue = module(elm);
97+ function redrawGraphics() {
98+ var graphicsFoldp = moduleRetValue.main.kids[0];
99+ graphicsFoldp.recv(Date.now(), true, moduleRetValue.main.id);
98− allNodes = flattenNodes(elm.inputs);
102+ var wrappedElm = {
99− initialProgramState = saveProgramState(allNodes);
103+ notify: wrapNotify,
104+ runDelayed: wrapRunDelayed,
106+ display: elm.display,
108+ addListener: elm.addListener,
112+ var moduleRetValue = module(wrappedElm);
101− var debugElm = {
114+ var elmDebugger = {
104− runDelayed: wrapRunDelayed,
106− display: elm.display,
108− addListener: elm.addListener,
111 moduleRetValue: moduleRetValue,
115 moduleRetValue: moduleRetValue,
113 // debugger functions
117 // debugger functions
@@ -115,7 +119,11 @@ function debuggerInit(module, elm) {
115 stopRecording: stopRecording,
119 stopRecording: stopRecording,
116 reset: resetProgram
120 reset: resetProgram
118− return debugElm;
122+
123+ allNodes = flattenNodes(wrappedElm.inputs);
124+ initialProgramState = saveProgramState(allNodes);