Tim Mickel
|
ad82a5cb74
|
Add naming mechanism for targets/clones
|
2016-08-31 11:50:10 -04:00 |
|
Tim Mickel
|
2c6722b958
|
Add unique ID for Targets
|
2016-08-31 11:39:57 -04:00 |
|
Tim Mickel
|
b1a3026ea1
|
Blockly XML encoding for Blocks object
Provide two functions, `toXML` and `blockToXML`, which can be used to generate workspaces based on the VM representation of the blocks.
|
2016-08-31 11:38:45 -04:00 |
|
Tim Mickel
|
c58bda1839
|
Record coordinate changes in block representation
|
2016-08-31 11:34:29 -04:00 |
|
Tim Mickel
|
05a5369d7b
|
Switch Blockly listener to normal function (not closure/generated)
|
2016-08-31 11:34:17 -04:00 |
|
Tim Mickel
|
aa70c1bc3b
|
Add shadow, x, y properties to block adapter
|
2016-08-31 11:32:59 -04:00 |
|
Tim Mickel
|
8339e2769f
|
Clean up and add documentation to sprite/clone
|
2016-08-31 11:30:09 -04:00 |
|
Tim Mickel
|
2da121d019
|
Add UID utility
|
2016-08-31 11:21:42 -04:00 |
|
Tim Mickel
|
be06078df1
|
Update sprite and clones to have basic costume support
|
2016-08-31 11:21:32 -04:00 |
|
Tim Mickel
|
bdc95cffc0
|
Rename trigger->activate/start
|
2016-08-29 10:26:26 -04:00 |
|
Tim Mickel
|
1098a06985
|
Various renames for hat opcodes/top blocks, allScriptsDo
|
2016-08-29 10:18:49 -04:00 |
|
Tim Mickel
|
3ccfdf3df0
|
Use hasOwnProperty in getIsHat /getIsEdgeTriggeredHat
|
2016-08-29 10:03:21 -04:00 |
|
Tim Mickel
|
40c90bbcc7
|
Add isActiveThread and simplify broadcast-and-wait accordingly
|
2016-08-29 10:01:31 -04:00 |
|
Tim Mickel
|
64b82f4dc2
|
Switch back j->i
|
2016-08-29 09:52:34 -04:00 |
|
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
|
4f81033762
|
Remove extra Thread require
|
2016-08-23 18:46:54 -04:00 |
|
Tim Mickel
|
4f2cccf279
|
Fix issue when broadcasting in a when-broadcast
|
2016-08-23 18:37:03 -04:00 |
|
Tim Mickel
|
fe2ba2a536
|
Implementation of timer > _, broadcast, broadcast and wait
|
2016-08-23 18:14:05 -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
|
349cb14c5a
|
Removing extra cast in join implementation
|
2016-08-11 19:00:11 -04:00 |
|
Tim Mickel
|
bfe007e29f
|
Add casting utilities and apply them to operator blocks
|
2016-08-11 18:47:55 -04:00 |
|
Tim Mickel
|
07e965261d
|
Implementation of remaining operators
|
2016-08-11 18:47:55 -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
|
32c691d404
|
Merge branch 'develop' of github.com:LLK/scratch-vm into bugfix/2
|
2016-08-09 09:26:31 -04:00 |
|
Tim Mickel
|
2c031d87f6
|
Make renderer/self nullable in the Clone
Fixes a test issue where renderer is not necessarily defined.
|
2016-08-08 18:29:44 -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
|
67c3ceff86
|
Update clone's scale to match renderer update
|
2016-08-08 16:47:52 -04:00 |
|
Tim Mickel
|
a6ad34f002
|
Add primitive for math_angle , fixing point in direction
|
2016-08-08 16:44:48 -04:00 |
|
Tim Mickel
|
0b826c0dc9
|
Remove unused Promise in scratch3_operators
|
2016-08-08 15:44:55 -04:00 |
|
Tim Mickel
|
c47a061edb
|
Updates for newly released scratch-render repo
|
2016-08-08 15:43:52 -04:00 |
|
Tim Mickel
|
c650de8520
|
Real version of Clone.prototype.setVisible
|
2016-07-13 16:52:46 -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
|
30dc285a37
|
Add implementations for math_positive_number and math_whole_number
|
2016-07-06 14:13:03 -04:00 |
|
Tim Mickel
|
7c24bdc612
|
More documentation in sprite, clone
|
2016-07-06 14:09:06 -04:00 |
|
Tim Mickel
|
2e01caa8a6
|
Add documentation for math-util functions.
|
2016-07-06 14:04:36 -04:00 |
|
Tim Mickel
|
798368b6c5
|
Add documentation in src/sprites/clone.js
|
2016-07-06 13:57:58 -04:00 |
|
Tim Mickel
|
460760bd06
|
Stub "say" and "think" blocks with console.log
|
2016-07-06 13:47:32 -04:00 |
|
Tim Mickel
|
0ae0ea5f22
|
Run threads for 60fps
|
2016-07-01 16:30:33 -04:00 |
|
Tim Mickel
|
ce941c6fd8
|
Add show/hide blocks using ghost effect as backend
|
2016-07-01 12:56:59 -04:00 |
|
Tim Mickel
|
6891a3a5dd
|
Add direction reporter
|
2016-07-01 12:56:45 -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
|
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
|
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
|
190208b620
|
Clean up yield-timers: support multiple, move logic to Threads.
|
2016-06-30 18:56:23 -04:00 |
|
Tim Mickel
|
b97974e2ac
|
Implement WebWorker interface
|
2016-06-21 15:30:27 -04:00 |
|
Tim Mickel
|
783a3688aa
|
Update index.js to support worker environment
|
2016-06-21 14:48:54 -04:00 |
|
Tim Mickel
|
652cc8a31c
|
Fix references to window
|
2016-06-21 14:29:40 -04:00 |
|
Tim Mickel
|
28432b6f01
|
Merge pull request #81 from tmickel/feature/update-playground-june-14
Update playground and block implementations to match scratch-blocks
|
2016-06-17 11:55:44 -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
|
a1be1d6566
|
Update playground and block implementations to match scratch-blocks
|
2016-06-14 18:08:41 -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.groupEnd s 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
|
ca68c55d57
|
Implement logic_equals, if blocks
|
2016-06-10 10:36:05 -04:00 |
|
Tim Mickel
|
506e9c32be
|
Don't attempt to glow a block that isn't known in the VM
|
2016-06-10 08:48:39 -04:00 |
|
Tim Mickel
|
7cc0c00da6
|
Correctly deal with empty substacks.
The stack needs to be popped in this situation.
|
2016-06-10 08:47:54 -04:00 |
|
Tim Mickel
|
559a2a0fab
|
Remove redundant piece of code
The stack is pushed in after the thread finishes (`proceedThread`).
|
2016-06-10 08:41:44 -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
|
2cd6bf93bb
|
Fix argument for repeat block
|
2016-06-09 17:05:08 -04:00 |
|
Tim Mickel
|
d52938c255
|
Bind thread.yield passed to primitive to actual thread
|
2016-06-09 15:06:24 -04:00 |
|
Tim Mickel
|
27064ce163
|
Fix implementation of "wait" block
|
2016-06-09 15:06:11 -04:00 |
|
Tim Mickel
|
88402ee68c
|
Move popStack to inside execute
|
2016-06-09 14:45:54 -04:00 |
|
Tim Mickel
|
b0441e2ef5
|
Implement stub for number and add blocks
|
2016-06-09 14:29:07 -04:00 |
|
Tim Mickel
|
a987d9d9cc
|
Only include field value in execute.argValues
|
2016-06-09 14:27:11 -04:00 |
|
Tim Mickel
|
bcd058bdc4
|
Disable unimplemented broadcast block
|
2016-06-09 14:23:45 -04:00 |
|
Tim Mickel
|
c21700380f
|
Pull sequencer-related callbacks out of execute
|
2016-06-09 14:23:34 -04:00 |
|
Tim Mickel
|
9df470255e
|
Add helpers to thread object
|
2016-06-09 14:22:58 -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 |
|
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
|
2be27cbc7d
|
Merge pull request #57 from tmickel/feature/full-tree
Update for VM block management
|
2016-06-07 13:27:41 -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
|
f158af18b1
|
Case problem with blocks.js in index.js
|
2016-06-06 16:19:57 -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
|
0efe7e2b27
|
Fix block events for flyout blocks
|
2016-06-06 15:44:13 -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
|
e5b677c7f6
|
Fix naming of MOVE event in index.js
|
2016-06-06 14:53:27 -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
|
9ce3783940
|
Fix handling of stack click
Previously was improperly reading `e.type`.
|
2016-06-01 13:48:54 -04:00 |
|
Tim Mickel
|
cfed4e1bba
|
Add "stack click" event handler to VM
See: https://github.com/LLK/scratch-blocks/pull/360
|
2016-06-01 10:26:06 -04:00 |
|
Tim Mickel
|
4d4682912d
|
Resolve existing motor timeout (instead of reject)
|
2016-05-09 14:18:33 -04:00 |
|
Tim Mickel
|
dd53b86b8c
|
Reduce amount of time for executing blocks
|
2016-05-05 13:09:37 -04:00 |
|