Commit Graph
128 Commits
Author SHA1 Message Date
Tim Mickel 29887e24c9 Simplify execute hat check.
In case a reporter has side-effects, we'd probably like to run hat predicates even if there is no next block.
2016-08-24 11:04:23 -04:00
Tim Mickel 4f2cccf279 Fix issue when broadcasting in a when-broadcast 2016-08-23 18:37:03 -04:00
Tim Mickel b4cf64009f General-purpose hat implementation 2016-08-23 18:12:32 -04:00
Tim Mickel 39fdbaf983 Add atStackTop helper to Thread 2016-08-23 18:12:19 -04:00
Tim Mickel 43f3b59f7c Add retireThread to seqeuencer 2016-08-23 15:53:34 -04:00
Tim Mickel 94e389c8fb Refactor script glowing into its own runtime function 2016-08-23 15:47:21 -04:00
Tim Mickel aebcfde492 Add VM "I/O devices", clock, mouse as demo 2016-08-15 21:37:36 -04:00
Tim Mickel 4faaf1b685 Rename stacks to scripts
Further pushing toward removing ambiguity of what "stack" means in the codebase.
2016-08-11 11:11:27 -04:00
Tim Mickel 7780b25c46 Project wide rename substack -> branch 2016-08-10 11:43:49 -04:00
Andrew Sliwinski 32b1d4ec61 Remove memoizee dependency and usage in adapter. Resolves GH-2 2016-08-08 17:07:50 -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 d4353458ff Don't quit loop when a thread is yielding 2016-07-06 14:16:44 -04:00
Tim Mickel 0ae0ea5f22 Run threads for 60fps 2016-07-01 16:30:33 -04:00
Tim Mickel 660029010d Feed in requestAnimationFrame events to VM
Not sure exactly how to use these yet, but it seems helpful to have them in there.
2016-07-01 11:52:43 -04:00
Tim Mickel ad30fa8059 Temporarily remove per-block glow 2016-07-01 11:27:01 -04:00
Tim Mickel dda4fc8332 Yield frame on an empty substack 2016-07-01 11:24:06 -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 1eaed6fff3 Implement graphic effects and size blocks 2016-06-30 18:59:47 -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 ec4567aa8a Simplify logic for Thread status 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 09b9c506a9 Check for blocking case in stepToReporter 2016-06-30 18:56:23 -04:00
Tim Mickel 405ad1044e getBlockingThread_ returns null when none available. 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 6181bcd5cb Refactor Thread.peekParentStackFrame 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 652cc8a31c Fix references to window 2016-06-21 14:29:40 -04:00
Tim Mickel 695d0bd7fd Merge pull request #80 from tmickel/bugfix/empty-fields
Handling empty fields
2016-06-17 11:46:36 -04:00
Tim Mickel 7427fe4ff3 Add fix for adapter to deal with empty fields 2016-06-14 18:14:04 -04:00
Tim Mickel 056fb76492 Remove try/catch in execution - fix #75 2016-06-13 11:23:39 -04:00
Tim Mickel a58fa43572 Add reset to numYieldingThreads and comment about YieldTimers 2016-06-10 13:38:35 -04:00
Tim Mickel e9eb7c6e57 Remove leftover console.groupEnds in execute 2016-06-10 13:34:07 -04:00