Commit graph

496 commits

Author SHA1 Message Date
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
bb68fcab25 Additional fix for repeat's executedInFrame 2016-07-01 11:41:52 -04:00
Tim Mickel
57217f0044 Rename executed in repeat, ifElse 2016-07-01 11:29:32 -04:00
Tim Mickel
ad30fa8059 Temporarily remove per-block glow 2016-07-01 11:27:01 -04:00
Tim Mickel
e4f6c9e90c "Repeat until" implementation 2016-07-01 11:25:26 -04:00
Tim Mickel
dda4fc8332 Yield frame on an empty substack 2016-07-01 11:24:06 -04:00
Tim Mickel
39c71b559d Update repeat implementation to execute once per frame 2016-07-01 10:50:31 -04:00
Tim Mickel
de6ba08866 Add single-frame yield mode 2016-07-01 10:44:43 -04:00
Tim Mickel
5876681bc7 Version of random that truncates ints 2016-07-01 10:28:47 -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
7db2981ddc Add additional motion block implementations 2016-06-30 18:59:47 -04:00
Tim Mickel
42f0f66acd Implement move steps, turn right, turn left, point in direction 2016-06-30 18:59:47 -04:00
Tim Mickel
727d2c0d23 Clamp clone direction like Scratch 2.0 2016-06-30 18:59:47 -04:00
Tim Mickel
7db38e8422 Implement a few math utilities 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
1a48e75341 Merge pull request #83 from tmickel/feature/yielding-reporters
Yielding reporters, blocking yields
2016-06-30 18:58:03 -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
8f6a88c095 Ensure predicates always return booleans 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
f802faa461 operator_not in primitive table 2016-06-30 18:56:23 -04:00
Tim Mickel
f210c12d4d Add more operators for testing 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
7ef3807b18 Example of a yielding reporter (returns random number after 1s) 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
34659c9b7b Allow console timers 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
578d02cba0 Merge pull request #85 from tmickel/feature/worker
Update to allow running in a WebWorker
2016-06-22 12:20:22 -04:00
Tim Mickel
59ff650de1 Update playground to use unified interface and worker 2016-06-21 15:30:36 -04:00
Tim Mickel
b97974e2ac Implement WebWorker interface 2016-06-21 15:30:27 -04:00
Tim Mickel
020bf1ef65 Use absolute version number for webpack-dev-server 2016-06-21 15:28:47 -04:00
Tim Mickel
783a3688aa Update index.js to support worker environment 2016-06-21 14:48:54 -04:00