on master help sign in
feed what should be the previous time to tick from the debugger
3c528c6Michael James
libraries/Native/Signal/Time.js+4−1
@@ -14,8 +14,11 @@ Elm.Native.Time.make = function(elm) {
14 var msPerFrame = 1000 / desiredFPS;
14 var msPerFrame = 1000 / desiredFPS;
15 var prev = elm.timer.now(), curr = prev, diff = 0, wasOn = true;
15 var prev = elm.timer.now(), curr = prev, diff = 0, wasOn = true;
16 var ticker = NS.input(diff);
16 var ticker = NS.input(diff);
17− function tick(zero) { return function() {
17+ function tick(zero) { return function(previousTime /* =undefined */) {
18 curr = elm.timer.now();
18 curr = elm.timer.now();
19+ if (previousTime) {
20+ prev = previousTime;
21+ }
19 diff = zero ? 0 : curr - prev;
22 diff = zero ? 0 : curr - prev;
20 prev = curr;
23 prev = curr;
21 elm.notify(ticker.id, diff);
24 elm.notify(ticker.id, diff);
runtime/Debugger.js+3−3
@@ -187,7 +187,7 @@ function debugModule(module, runtime) {
187 recordedEvents = recordedEvents.slice(0, position);
187 recordedEvents = recordedEvents.slice(0, position);
188 tracePath.clearTracesAfter(position);
188 tracePath.clearTracesAfter(position);
189 eventCounter = position;
189 eventCounter = position;
190− executeCallbacks(asyncCallbacks, false);
190+ executeCallbacks(asyncCallbacks, false, lastEventTime);
191 }
191 }
192 tracePath.startRecording();
192 tracePath.startRecording();
193 }
193 }
@@ -491,12 +491,12 @@ function tracePathInit(runtime, signalGraphMain) {
491 }
491 }
492}
492}
493
493
494−function executeCallbacks(callbacks, reexecute) {
494+function executeCallbacks(callbacks, reexecute, previousTime /* =undefined */) {
495 callbacks.forEach(function(timer) {
495 callbacks.forEach(function(timer) {
496 if (reexecute || !timer.executed) {
496 if (reexecute || !timer.executed) {
497 var func = timer.func;
497 var func = timer.func;
498 timer.executed = true;
498 timer.executed = true;
499− func();
499+ func(previousTime);
500 }
500 }
501 });
501 });
502}
502}