Commit graph

37 commits

Author SHA1 Message Date
Tim Mickel
aebcfde492 Add VM "I/O devices", clock, mouse as demo 2016-08-15 21:37:36 -04:00
Tim Mickel
7780b25c46 Project wide rename substack -> branch 2016-08-10 11:43:49 -04:00
Tim Mickel
1f19d7a209 Only visually report when an actual value was returned 2016-07-07 19:44:26 -04:00
Tim Mickel
9c6dca8131 Add visual reporting of top-level reporter execution 2016-07-07 19:42:38 -04:00
Tim Mickel
de6ba08866 Add single-frame yield mode 2016-07-01 10:44:43 -04:00
Tim Mickel
bb5acd1ef4 Fix merge issue in execute.js 2016-06-30 19:01:19 -04:00
Tim Mickel
19da0b0032 Add renderer demo using scratch-render-webgl 2016-06-30 18:59:47 -04:00
Tim Mickel
809528abdc Straw-man implementation of targets/sprites/clones 2016-06-30 18:59:17 -04:00
Tim Mickel
1c24770f8c Remove debug calls from execute 2016-06-30 18:56:31 -04:00
Tim Mickel
ab6e0d3839 Remove YieldTimers, unused WeDo blocks 2016-06-30 18:56:31 -04:00
Tim Mickel
6daee9a70e Remove VM-locking yield mode per discussion 2016-06-30 18:56:23 -04:00
Tim Mickel
9a7ab57f6f Always yield thread when a promise is returned. 2016-06-30 18:56:23 -04:00
Tim Mickel
9881ee76b9 Deal with promise rejection also. 2016-06-30 18:56:23 -04:00
Tim Mickel
57057bfffc Remove unused require to fix build 2016-06-30 18:56:23 -04:00
Tim Mickel
d72cc55c11 Example that uses promises instead of util.report 2016-06-30 18:56:23 -04:00
Tim Mickel
d44b806b4f Add blocking yield mode 2016-06-30 18:56:23 -04:00
Tim Mickel
c63747e61b Move stepping logic for reporters to sequencer 2016-06-30 18:56:23 -04:00
Tim Mickel
e56c6e6980 Rename primitiveReturnValue -> primitiveReportedValue 2016-06-30 18:56:23 -04:00
Tim Mickel
e83cfa6049 Add comment and clear currentStackFrame.reported 2016-06-30 18:56:23 -04:00
Tim Mickel
9d9749681b Comment and else for reporter finishes right away 2016-06-30 18:56:23 -04:00
Tim Mickel
b21c9edf04 Commenting improvements 2016-06-30 18:56:23 -04:00
Tim Mickel
173f0615d3 Refactor: always push reports to the stack frame 2016-06-30 18:56:23 -04:00
Tim Mickel
bed3e28c02 Simplifications of execute ordering
and always cache returned reporter values in currentStackFrame.reported.
2016-06-30 18:56:23 -04:00
Tim Mickel
d15c93af05 Keep "waiting reporter name" on the stack frame.
Also add highlighting for inputs.
2016-06-30 18:56:23 -04:00
Tim Mickel
97f7571c6f Prototype implementation of yielding reporters 2016-06-30 18:56:23 -04:00
Tim Mickel
190208b620 Clean up yield-timers: support multiple, move logic to Threads. 2016-06-30 18:56:23 -04:00
Tim Mickel
056fb76492 Remove try/catch in execution - fix #75 2016-06-13 11:23:39 -04:00
Tim Mickel
e9eb7c6e57 Remove leftover console.groupEnds in execute 2016-06-10 13:34:07 -04:00
Tim Mickel
0bf9ab59a1 Add implementation for ifElse 2016-06-10 10:40:15 -04:00
Tim Mickel
526a260101 Simplify execution by removing nextBlock
Everything is managed by the stack, including what the execute() function does.
2016-06-09 17:08:30 -04:00
Tim Mickel
d52938c255 Bind thread.yield passed to primitive to actual thread 2016-06-09 15:06:24 -04:00
Tim Mickel
88402ee68c Move popStack to inside execute 2016-06-09 14:45:54 -04:00
Tim Mickel
a987d9d9cc Only include field value in execute.argValues 2016-06-09 14:27:11 -04:00
Tim Mickel
c21700380f Pull sequencer-related callbacks out of execute 2016-06-09 14:23:34 -04:00
Tim Mickel
1d16a97115 Recursive evaluation for block arguments 2016-06-09 13:28:50 -04:00
Tim Mickel
c4517a451b Add isInput execution property to avoid proceeding the thread 2016-06-09 13:28:06 -04:00
Tim Mickel
6e5ebcf6df Split execution into separate function and file 2016-06-09 13:27:30 -04:00