Commit graph

166 commits

Author SHA1 Message Date
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
Tim Mickel
3898fe1c45 Instrument blocks.js with getters for fields and inputs 2016-06-09 13:26:07 -04:00
Tim Mickel
bd7f3245a2 Move scratch3 blocks into separate packages. 2016-06-09 11:45:58 -04:00
Tim Mickel
b9bd037963 Fixing eslint JSDoc from merge 2016-06-08 17:25:26 -04:00
Tim Mickel
42d03db28b Merge branch 'develop' into feature/eslint-jsdoc
# Conflicts:
#	.eslintrc
#	src/index.js
2016-06-08 17:23:41 -04:00
Tim Mickel
d17ffbb99b Merge pull request #60 from tmickel/feature/vm-playground-execution
Instrument VM and playground for better execution debugging
2016-06-08 17:15:36 -04:00
Tim Mickel
1f1a4941f3 Add .eslintrc rule to check JSDoc syntax
And fix the broken syntax rules
2016-06-08 16:57:08 -04:00
Tim Mickel
7a42e9ae68 Move blockListener to blocks.js; combine flyout listener 2016-06-08 13:44:09 -04:00
Tim Mickel
8fa29bc6de Spacing fix in blocks.js 2016-06-08 13:27:01 -04:00
Tim Mickel
c1e30cf2ee Add sequencer-level debug console logs 2016-06-07 21:05:32 -04:00
Tim Mickel
5767e05d56 Add block-by-block feedback to the VM playground 2016-06-07 20:59:34 -04:00
Tim Mickel
2339c5e710 Additional tests for invalid adapter inputs 2016-06-07 12:01:47 -04:00
Tim Mickel
3b4a00ce46 Add check for null substackNum, fix numbering 2016-06-07 11:32:29 -04:00
Tim Mickel
fd95d3045d Fix property check of topLevel in createBlock 2016-06-06 15:58:54 -04:00
Tim Mickel
f63e261892 Remove breaking check for blockId 2016-06-06 15:58:40 -04:00
Tim Mickel
dbb31462ad Extend getSubstack to support multiple substacks 2016-06-06 15:31:14 -04:00
Tim Mickel
9be33089a8 Refactor block management into a separate module. 2016-06-06 15:29:34 -04:00
Tim Mickel
25c3a38c16 Allow top-level creation of shadow blocks in adapter 2016-06-06 14:57:58 -04:00
Tim Mickel
aa152fd604 Rewrite of moveBlock to better reflect Blockly 2016-06-06 14:55:01 -04:00
Tim Mickel
214daa8087 Always unset topLevel in deleteStack_
Blocks may have topLevel set even if they are not present in this.stacks
2016-06-06 14:54:32 -04:00
Tim Mickel
18e4228399 Update runtime's handling of delete for new blocks structure 2016-06-06 14:53:59 -04:00
Tim Mickel
285c2792ef Only add to stacks if topLevel is true in CREATE 2016-06-06 14:53:42 -04:00
Tim Mickel
9fef9d7edd Fix up adapter's domToBlock 2016-06-06 14:44:51 -04:00
Tim Mickel
0dfc72893c Update Runtime createBlock for new structure; _addStack helper. 2016-06-06 14:12:43 -04:00
Tim Mickel
b28c50e6a5 Rewrite of adapter to support trees of blocks, inputs 2016-06-06 14:09:27 -04:00
Tim Mickel
dd53b86b8c Reduce amount of time for executing blocks 2016-05-05 13:09:37 -04:00
Tim Mickel
5c03167ec3 Hack helper for distance sensors 2016-05-03 17:39:02 -04:00
Tim Mickel
659c9b274a Add motorStop patch to stopAll 2016-05-03 17:18:28 -04:00
Tim Mickel
79b50e5172 Remove block glows from sequencer 2016-05-03 17:18:21 -04:00
Tim Mickel
833f40cfe5 Allow pushing threads that are not on this.stacks
For flyout running
2016-05-03 15:58:20 -04:00
Tim Mickel
9363432456 Hacked implementation of broadcasts 2016-05-03 14:57:10 -04:00
Tim Mickel
5f5fe6fafd Fix to check if block still exists 2016-05-03 14:35:02 -04:00
Tim Mickel
8facd64376 Hack for getting argument values 2016-05-03 14:25:12 -04:00
Tim Mickel
90a5982ff9 Fix Runtime.stopAll
Removing threads as we were looping was causing not all of them to be hit.
2016-05-03 14:11:37 -04:00
Tim Mickel
5b834667eb Merge pull request #19 from tmickel/feature/repeats
Stacks management, stack frames, repeat, forever
2016-05-03 14:04:50 -04:00
Tim Mickel
548d95b765 Fix attempt to pop from the stack
-Keeps it in newThreads
-Update thread status to STATUS_RUNNING to keep it going
2016-05-03 13:53:52 -04:00
Tim Mickel
852b11519a Fix for empty substacks 2016-05-03 13:45:22 -04:00
Tim Mickel
add3e9dec9 Strip blockExecutionData 2016-05-03 13:31:03 -04:00
Tim Mickel
379b2dec79 Stack management, stack frames, forever and repeat 2016-05-03 13:28:24 -04:00
Christopher Willis-Ford
e1109e8ca6 Improve error exception report for Android Monitor
Android Monitor doesn't support passing multiple arguments to
`console.error`, so this change instead builds a single string for the
report.
2016-05-03 09:48:12 -07:00
Tim Mickel
4c6f08f665 Add mechanism for per-block metadata 2016-05-03 11:45:25 -04:00
Tim Mickel
4de24cfc30 Implement thread status, YieldTimer, block glow, wait 2016-05-03 11:26:28 -04:00
Tim Mickel
3eeccf1970 Update nextBlock to be set before primitive call 2016-05-03 11:26:15 -04:00
Tim Mickel
6bbeb2d0fe Shuffle moveBlock to allow case where e.oldParent !== undefined 2016-05-02 22:31:00 -04:00
Christopher Willis-Ford
751ca97733 Fix eslint errors
This includes adding a line to `.eslintrc` to allow `console.log`,
`console.warn`, and `console.error`.
2016-05-02 11:56:52 -07:00
Christopher Willis-Ford
4a3276d026 Improve block primitive lookup and execution
Slightly simplify export of block primitives from a block package.
Catch and report exceptions from block functions.
2016-05-02 11:31:37 -07:00
Christopher Willis-Ford
27c06ce476 Add framework for block execution
The runtime now stores a mapping of opcode to function.
The `wedo2` and `scratch3` packages are currently stubs.
2016-05-02 11:31:25 -07:00
Tim Mickel
79f6725ff3 Add stack glow and infrastructure for block glow 2016-05-02 13:09:38 -04:00
Tim Mickel
773f2e1bbc Improve JSDoc on Thread 2016-05-02 13:05:48 -04:00
Tim Mickel
b92a73da0f Add green flag and stop button functions 2016-04-29 17:58:31 -04:00
Tim Mickel
b46ee0113f Return if a thread is toggled off 2016-04-29 17:39:18 -04:00
Tim Mickel
7d9f75b14d updating _removeThread to actually match docs 2016-04-29 17:36:09 -04:00
Tim Mickel
96123f870f Fix _removeThread documentation and add toggleStack 2016-04-29 17:31:04 -04:00
Tim Mickel
2b2187014f fix createBlock 2016-04-29 16:55:13 -04:00
Tim Mickel
11c6537f42 Add listener for new blocks that doesn't add to stacks 2016-04-29 16:49:08 -04:00
Tim Mickel
b3e981ba74 Updating timer require 2016-04-26 17:06:24 -04:00
Tim Mickel
92dab97b84 Add thread management and stepping to runtime 2016-04-26 16:50:49 -04:00
Tim Mickel
dbfb3356c6 Move threads list to the Runtime 2016-04-26 15:51:14 -04:00
Tim Mickel
b6186a44f3 Add basics for the sequencer and threads 2016-04-26 15:00:45 -04:00
Tim Mickel
33340125e4 Adding JSDocs, threads, sequencer to runtime 2016-04-26 14:23:22 -04:00
Andrew Sliwinski
f1375ef44f Delete unused primitives stub 2016-04-26 12:05:38 -04:00
Andrew Sliwinski
389d112729 All tests passing 2016-04-26 09:54:14 -04:00
Andrew Sliwinski
981b85e78f AST create / change / move / delete from blockly 2016-04-26 09:49:52 -04:00
Andrew Sliwinski
53779220b7 WIP 2016-04-18 18:03:18 -04:00
Andrew Sliwinski
f9f47ed103 WIP 2016-04-18 17:20:30 -04:00