Commit graph

2410 commits

Author SHA1 Message Date
Valerie R Young
26067a9287 Draft of goforce blocks 2019-01-07 11:29:26 -05:00
Karishma Chadha
85843e5d6f Fix cloud variable limit 2019-01-07 11:12:47 -05:00
Eric Rosenbaum
ad6f15bfa1
Merge pull request #1869 from apple502j/english-meow-meow
Always use English for kitten
2019-01-07 10:54:14 -05:00
Karishma Chadha
808cb2cd60
Merge pull request #1878 from towerofnix/clamp-ghost
Clamp ghost effect
2019-01-06 17:42:43 -05:00
Ray Schamp
11546c7f0d Skip failing tests, this is @thisandagain's fault :) 2019-01-02 12:41:09 -05:00
Ray Schamp
2406286180 Fix test expectation, this is @kchadha's fault :) 2019-01-02 12:13:43 -05:00
Ray Schamp
80ff7e6756 Generate md5s for uploaded assets
Without this, we were erroneously setting uploaded assets as clean, so they wouldn't be saved when uploaded from an .sb2/3 file.
2019-01-02 11:46:47 -05:00
apple502j
7863731bb4 Change legacy pen color block's behavior 2018-12-29 09:49:31 +09:00
Florrie
fbb6d63e03 Clamp ghost effect
Cherry-picked from 35c8890425 (#1887)
2018-12-28 10:39:42 -04:00
Karishma Chadha
ed21af577c Let errors from loadCostume bubble up so that we do not attempt to call installTargets on an invalid target (e.g. one that has no costumes). 2018-12-26 14:15:57 -05:00
Karishma Chadha
c5284469d3
Merge pull request #1831 from apple502j/stop-ask
Clear ask bubble when stopForTarget
2018-12-26 10:29:23 -05:00
Guilherme Affonso
f4c6816ea7 Fix dynamic menus for string arrays 2018-12-26 19:26:59 +09:00
apple502j
a22d7dd6de
remove todo 2018-12-23 00:22:41 +09:00
apple502j
cbf70d9609 This kitten speaks only English 2018-12-22 17:59:57 +09:00
Karishma Chadha
23298bd18f Fix issue where uploading an sb with jpg images wasn't saving and loading properly. 2018-12-21 16:04:39 -05:00
Karishma Chadha
c38a054d4a Fix issue where uploading the default vector image in place of a broken image was not correctly setting the costume's md5. 2018-12-20 19:29:37 -05:00
Karishma Chadha
4ad101f5d4
Apply suggestions from code review
Co-Authored-By: mzgoddard <mzgoddard@gmail.com>
2018-12-20 14:12:33 -05:00
Karishma Chadha
f1a24e3296
Update src/virtual-machine.js
Co-Authored-By: mzgoddard <mzgoddard@gmail.com>
2018-12-20 14:11:58 -05:00
Michael "Z" Goddard
5593b28984
try handling as a Scratch 1 file after scratch-parser validation fails 2018-12-20 13:55:49 -05:00
Michael "Z" Goddard
a92f33960f
fix: use ValidationError to determine if an SB1File error should throw 2018-12-20 13:32:30 -05:00
Michael "Z" Goddard
f43163fc73
depend on scratch-sb1-converter and convert sb1 files to sb2 2018-12-20 12:09:58 -05:00
Katie Broida
5941b9173e Use default builtin SVG asset for SVGs that can't be loaded for some reason 2018-12-19 14:34:18 -05:00
DD Liu
fe375fa672
Merge pull request #1849 from fsih/addCostumeFromLibrary
Add addCostumeFromLibrary
2018-12-18 12:12:18 -05:00
picklesrus
fee248cd98
Merge pull request #1853 from mzgoddard/fix-execute-last-operation
Always pop the stack when the promised value is from the last op
2018-12-18 11:13:57 -05:00
picklesrus
178bdbd81b
Fix typo in comment 2018-12-18 11:01:53 -05:00
Eric Rosenbaum
724cdb5785 For order of key menu to match the core block 2018-12-17 18:24:14 -05:00
Eric Rosenbaum
d629d10717
Merge pull request #1854 from ericrosenbaum/bugfix/kitten-removes-punctuation
Prevent text to speech kitten voice from speaking names of punctuation
2018-12-17 16:00:28 -05:00
Michael "Z" Goddard
bdebfaf823
always pop the stack when the promised value is from the last op 2018-12-17 15:25:26 -05:00
julescubtree
040aeaa44e
enable loading draggability
in sb3.js, parseScratchObject()
2018-12-14 16:17:36 -08:00
Eric Rosenbaum
3bfc422ce0 Replace all non-space chars with meow 2018-12-14 17:28:45 -05:00
DD
a4744f5ac9 Add addCostumeFromLibrary 2018-12-14 14:20:42 -05:00
Karishma Chadha
6c1031c534
Use '' instead of null
Co-Authored-By: apple502j <33279053+apple502j@users.noreply.github.com>
2018-12-14 17:35:07 +09:00
Karishma Chadha
dfd4735871
Merge pull request #1833 from kchadha/fix-sb2-from-sb1-import
Fix issue importing some sb2s that were originally sb1s, with baseLayerMd5 property formatted differently.
2018-12-13 15:59:44 -05:00
Eric Rosenbaum
f86a23df98
Merge pull request #1790 from ericrosenbaum/midi-play-drum-v3
Add support for scratch 1.x MIDI drum blocks
2018-12-13 13:39:29 -05:00
Paul Kaplan
2f6527cb1d
Merge pull request #1843 from paulkaplan/fix-mouse-rounding
Round the values reported from the sensing mouse x/y reporters
2018-12-13 11:27:05 -05:00
Paul Kaplan
1bede31ec1 Round the values of mouse io getScratchX/Y 2018-12-13 11:06:31 -05:00
Michael "Z" Goddard
20ff75b776
fix: initialize stack frame params for all procedures
A previous change fixed compatibility with Scratch 2 removing 3's
unintentional scope leaking. This furthers that change so that
procedures with no parameters will also not accidentally use values in
other procedure stacks.
2018-12-13 10:51:44 -05:00
Karishma Chadha
6c51c40245
Merge pull request #1834 from kchadha/edge-hat-duplicate-sprite
Fix issue where edge-activated hats only run on one sprite after duplicating the sprite
2018-12-12 21:13:09 -05:00
Karishma Chadha
95dafb43c4 Serialize x and y for topLevel blocks even if one or both of the values is 0. 2018-12-12 18:51:36 -05:00
Karishma Chadha
e5b00dfd95 Fix issues uncovered where clones were triggering automatically on create. 2018-12-12 13:25:19 -05:00
Karishma Chadha
6c4fb29523 Move tracking of edge activated hat values into target. 2018-12-12 12:05:55 -05:00
Karishma Chadha
19737d4e39 Fix issue where edge-activated hats only run on one sprite when sprite is duplicated or cloned. 2018-12-11 12:28:37 -05:00
apple502j
73968895d8 Display the next ask 2018-12-11 18:39:09 +09:00
Karishma Chadha
eeac4e62f6 Fix issue where sb2s originally from sb1s sometimes have baseLayerMd5 formatted incorrectly. 2018-12-10 18:17:24 -05:00
Karishma Chadha
532e63da15
Merge pull request #1830 from kchadha/fix-svg-sprite-upload
Fix sprite upload from vector image uploading at the wrong size
2018-12-10 10:40:19 -05:00
Eric Rosenbaum
fdbb0b26a8 Remove “space space space”, add CCW sequence 2018-12-09 23:16:32 -05:00
Eric Rosenbaum
a785b86949 Clear key press buffer on stop button 2018-12-09 23:13:55 -05:00
apple502j
aea7000917 Clear ask bubble when stopForTarget 2018-12-09 13:14:42 +09:00
Karishma Chadha
c1b697b575 Compare asset type runtime formats instead of AssetType objects because costume assets can get flattened (e.g. while uploading a sprite from file). 2018-12-07 21:46:28 -05:00
picklesrus
ebe06a97d9
Merge pull request #1818 from picklesrus/monitor-vars-project-load
Clear out the blocks in dispose. Fixes #1758 where old monitored vari…
2018-12-07 15:08:09 -05:00
picklesrus
3f3c34b43a Given the bug found with the old approach, fix this by going and deleting all of the monitor blocks for each sprite and the global variables. 2018-12-06 18:59:58 -05:00
Paul Kaplan
8405ff00d4
Merge pull request #1825 from paulkaplan/emit-start-publicly
Emit PROJECT_START event publicly on green flag click.
2018-12-06 15:38:05 -05:00
Paul Kaplan
56c062eee3 re-emit the PROJECT_START event publicly, add unit test 2018-12-06 11:47:09 -05:00
Karishma Chadha
87f57c8c95
Merge pull request #1823 from kchadha/slider-cloud-vars
Request cloud variable update in top level setVariableValue API
2018-12-06 10:56:07 -05:00
Paul Kaplan
23d9c21a0e
Merge pull request #1822 from paulkaplan/fix-list-clones
Make duplicateVariable deep copy the array instead of keeping reference.
2018-12-06 09:21:41 -05:00
Paul Kaplan
4756726e43
Merge pull request #1816 from paulkaplan/do-save-tl-var-blocks
Add a test and fix for not serializing top-level variable reporters
2018-12-06 05:32:23 -05:00
Paul Kaplan
9e57404222
Merge pull request #1821 from paulkaplan/fix-variable-monitor-switching
Fix an issue where the targetId of a monitor could be reassigned
2018-12-06 05:32:11 -05:00
Karishma Chadha
dc4fd15197 Make a cloud device requestVariableUpdate when setting a variable through the vm's top level setVariableValue API. Add unit test for new functionality. 2018-12-05 22:38:06 -05:00
Paul Kaplan
809d2de9f2 Fix typo uncovered by loading lonely variable reporters 2018-12-05 16:59:47 -05:00
Paul Kaplan
d50504e339 Make duplicateVariable deep copy the array instead of keeping reference. 2018-12-05 16:27:10 -05:00
Paul Kaplan
e0b314d3fb Fix an issue where the targetId of a monitor could be reassigned
This caused a local variable monitor to try running its thread on a different sprite, causing a new local variable to be created with the same monitor id.
2018-12-05 15:02:27 -05:00
Katie Broida
9d3d53537d
Merge pull request #1741 from ktbee/load-video-state
Set video state after project load and after adding extension through UI
2018-12-05 14:33:19 -05:00
Eric Rosenbaum
1ce88ca8bc
Merge pull request #1819 from ericrosenbaum/bugfix/text2speech-encoding
Text to Speech use encodeURIComponent
2018-12-05 12:45:33 -05:00
Eric Rosenbaum
d46dd31bb0 Use encodeURIComponent 2018-12-05 12:35:17 -05:00
Paul Kaplan
ff3391718d
Merge pull request #1815 from paulkaplan/clear-pen-on-dispose
Clear the pen layer when runtime dispose happens.
2018-12-05 12:30:24 -05:00
picklesrus
cddcea652b Clear out the blocks in dispose. Fixes #1758 where old monitored variables were getting kept across project loads 2018-12-05 12:09:12 -05:00
Paul Kaplan
be65b615a2 Add a test and fix for not serializing top-level variable reporters 2018-12-05 11:35:22 -05:00
Katie Broida
ef8bbb7186 Set video state after project load event, adding extension for the first time 2018-12-05 11:08:00 -05:00
Paul Kaplan
4fe06153d6
Merge pull request #1809 from paulkaplan/serialize-infinity
Serialize Infinity and NaN to 0
2018-12-05 08:28:50 -05:00
Paul Kaplan
6bd2307c99 Clear the pen layer when runtime dispose happens. 2018-12-04 16:43:31 -05:00
Paul Kaplan
37fe0eb0a9
Merge pull request #1812 from paulkaplan/no-video-thumbnails
Add a flag to force the video layer to be transparent.
2018-12-04 15:29:13 -05:00
Paul Kaplan
051e2f5014
Merge pull request #1803 from paulkaplan/remove-promise-finally
Remove promise finally because we are having trouble with polyfills
2018-12-04 13:01:34 -05:00
Paul Kaplan
5d0d82bc0a Make sure to never set the ghost property without considering the forceTransparentPreview property as well. 2018-12-04 12:34:24 -05:00
Paul Kaplan
2c6428dcdc Add a flag to force the video layer to be transparent.
This is needed to allow the GUI to toggle the video preview using postIOData('video', {forceTransparentPreview: true}) before taking a snapshot.
2018-12-04 12:30:08 -05:00
Paul Kaplan
7e96ef2985 Serialize Infinity and NaN to 0 2018-12-04 10:52:49 -05:00
Katie Broida
967cab8f20
Make the wait block's logic and behavior more consistent with Scratch 2 (#1759) 2018-12-04 10:35:42 -05:00
Paul Kaplan
821dbb88d3 Remove promise finally because we are having trouble with polyfills 2018-12-03 16:47:46 -05:00
Eric Rosenbaum
536305af1b
Remove vestigial device manager (#1793) 2018-12-03 15:52:23 -05:00
Karishma Chadha
3952c7e4fa
Merge pull request #1795 from kchadha/cloud-rename-bugfix
Serialize variable isCloud flag to xml.
2018-12-03 13:21:25 -05:00
Paul Kaplan
1811eef8fa Fix usage of loadCostumeFromAsset.
Fixes the issue where duplicating a sprite did not correctly assign a new skinId for the renderer. It was because the renderer didn't appear to be available, so a new skinId was not assigned.
2018-12-03 10:48:35 -05:00
Karishma Chadha
5917ea571d Serialize variable isCloud flag to xml. 2018-11-29 22:59:55 -05:00
DD Liu
122443a75f
Merge pull request #1754 from bocoup/handle-infinity
Make Scratch 3 comparisons with +/-Infinity match Scratch 2
2018-11-29 14:31:10 -05:00
Valerie R Young
8c2da6b56a Satisfy linter 2018-11-29 14:07:27 -05:00
Eric Rosenbaum
7198ace595
Makey Makey extension (#1782)
* Initial working makey makey extension

* Cleanup and localization

* Add block icon

* Localization and cleanup

* Docs and cleanup

* Update block icon

* Cleanup

* Fix key press args
2018-11-29 10:45:40 -05:00
Karishma Chadha
ff2566fec4
Merge pull request #1778 from kchadha/emit-cloud-data-update
Emit cloud data update
2018-11-28 17:23:29 -05:00
Eric Rosenbaum
f617723348 Add support for scratch 1.x MIDI drum blocks 2018-11-28 15:39:00 -05:00
Karishma Chadha
6d033af61e When clearing the runtime, emit has cloud data update. 2018-11-28 15:03:20 -05:00
Karishma Chadha
b828444ea8 Update comments for addCloudVariable and removeCloudVariable. 2018-11-28 15:03:20 -05:00
Karishma Chadha
431e92aa54 Fix up tests and remove unused function. 2018-11-28 15:03:20 -05:00
Karishma Chadha
86d61a4c20 Emit event tracking when the project's hasCloudData status changes. Cloud var creation now happens regardless of connectivity to the provider. 2018-11-28 15:03:19 -05:00
picklesrus
90b627982c fix todo 2018-11-28 12:34:49 -05:00
picklesrus
eefe021425 add todo and remove a newline 2018-11-28 12:33:04 -05:00
picklesrus
4a542b455d fix code review comments 2018-11-28 10:36:22 -05:00
picklesrus
f214d3a191 VM changes for the sensing_of block. This handles lists properly (by ignoring them like Scratch2 and makes the attribute menu update based on what was chosen in the target menu. 2018-11-28 10:35:35 -05:00
Paul Kaplan
421aac6340 Ensure setCompatibilityMode continues to restart if previously started.
This was previous behavior, but the previous commit which prevents restarts based on _steppingInterval truthiness broke it because clearInterval does not modify the value of _steppingInterval
2018-11-28 08:47:51 -05:00
Paul Kaplan
4378603d36 Prevent the runtime from spawning new stepping intervals 2018-11-28 08:34:22 -05:00
Chris Willis-Ford
05979e2e93
Merge pull request #1784 from cwillisf/setLocale-always-refreshBlocks
Make setLocale consistently refresh blocks
2018-11-27 19:19:41 -08:00
Valerie R Young
70f00e30c4 Revert changes to toNumber, fix comparison of infinity in cast.compare 2018-11-27 17:53:20 -05:00
Paul Kaplan
ffb02c607d
Merge pull request #1783 from paulkaplan/emit-start-event
Emit a RUNTIME_STARTED event to track if the vm has been started
2018-11-27 16:38:27 -05:00
Evelyn Eastmond
acc2e6dba2
Merge pull request #1781 from evhan55/extensions/rpc-error
Adding check for open request before calling RPC reject/resolve.
2018-11-27 12:06:10 -08:00
Christopher Willis-Ford
4256f86ac3 Make setLocale consistently refresh blocks
This change makes the VM's `setLocale` method call `refreshBlocks` even
when not changing the language, though it still skips an unnecessary
call to `formatMessage.setup` in this case.
2018-11-27 10:26:04 -08:00
Paul Kaplan
cc4751228e Emit a RUNTIME_STARTED event to track if the vm has been started 2018-11-27 11:37:01 -05:00
Evelyn Eastmond
9c3518ba6d Adding check for open request before calling reject/resolve. Resolves #1764. 2018-11-27 09:43:53 -05:00
Ray Schamp
dd2023e2f3
Merge pull request #1779 from rschamp/project-dirty-signal
Add "project changed" event
2018-11-27 08:54:30 -05:00
Ray Schamp
5022227c15 Add "project changed" event
And emit it whenever we think the project has changed. Try to not emit it when a change has happened internally that shouldn't affect the serialized project.

This iteration fires the event too frequently, e.g., when switching sprites. This is meant as a simple initial implementation that can be improved.
2018-11-26 17:10:43 -05:00
Eric Rosenbaum
045ebb5026
Apply sprite's volume to music extension notes and drums (#1735)
* Use a gain node for volume instead of effects chain

* Use a gain node for volume for drums too
2018-11-26 11:46:25 -05:00
DD Liu
5802723dc7
Merge pull request #1737 from fsih/textLayer
Support text layer in sb2 files
2018-11-21 13:18:47 -05:00
DD Liu
17d0033f1c Remove conditional because text layer file name always comes from sb2 2018-11-21 12:03:52 -05:00
DD Liu
94227c00fa Remove catches that do nothing 2018-11-21 12:01:48 -05:00
Karishma Chadha
63c4b53b09
Replace reference to deleted variable with specific variable info needed. 2018-11-21 11:45:16 -05:00
Karishma Chadha
25ce08131a Add rename and delete functionality for cloud variables. Refactor function name for cloud variable creation API. 2018-11-20 15:11:12 -05:00
DD
c68da6605b Move reject earlier and add loadedOne comment 2018-11-20 15:08:25 -05:00
Valerie R Young
dd81a261df Remove Cast import 2018-11-16 16:49:27 -05:00
Valerie R Young
73e157ba7c Use Number instead of Cast.toNumber 2018-11-16 16:30:26 -05:00
Katie Broida
bb82c46f8a
Handle coordinate precision the same as Scratch 2 (#1722) 2018-11-15 15:50:56 -05:00
Valerie Young
2ca735eab4
Merge pull request #1716 from bocoup/unknown-block-input-fix
Handle unknown opcode in input
2018-11-15 10:09:46 -05:00
Ray Schamp
f2550d582c
Merge pull request #1750 from rschamp/feature/sb3-json-assets
Add method for collecting all targets' assets
2018-11-15 10:31:58 +00:00
Ray Schamp
bcd1c5b13a Consolidate collectAssets into getter 2018-11-15 10:26:05 +00:00
Karishma Chadha
0c9da5d963
Merge pull request #1755 from kchadha/cloud-var-create
Create cloud variables
2018-11-14 21:39:29 -05:00
Eric Rosenbaum
26ced0dd58
Use note picker in imported play note blocks (#1757)
* Use note picker in imported play note blocks

* Set default for obscured note shadows to 60
2018-11-14 14:55:12 -05:00
Valerie R Young
ebd3b46cc2 Address feedback 2018-11-14 14:24:09 -05:00
Paul Kaplan
8aa88fa2a2
Merge pull request #1723 from mzgoddard/blocks-monitored-cache
Cache the set of actively monitored blocks
2018-11-14 14:16:36 -05:00
Karishma Chadha
3dd0d0a657
Merge pull request #1686 from kchadha/monitor-save-load
Monitor save & load
2018-11-14 13:23:10 -05:00
Karishma Chadha
5b2667556c Comment cleanup 2018-11-14 13:15:36 -05:00
Karishma Chadha
56ee6ba575
Merge pull request #1747 from kchadha/load-visible-extension-monitors
Always ignore video sensing monitor when importing from 2.0 and import visible extension monitors.
2018-11-14 10:54:25 -05:00
Karishma Chadha
dccb41e3c4 Comment and test cleanup. 2018-11-14 10:42:52 -05:00
Karishma Chadha
3fc1b89b30 Add ability to create cloud variables, and have cloud provider wait for confirmation from server. 2018-11-13 16:43:51 -05:00
DD
679ddf9fb7 Comment fixes and instantiate textImageElement only as necessary 2018-11-13 15:31:00 -05:00
DD
0b72608624 Remove swp file 2018-11-13 15:09:47 -05:00
Valerie R Young
3fe1d3bf6d Minor typo 2018-11-13 14:58:28 -05:00
Valerie R Young
43c5d5c053 Correct infinity comparisons and toNumber 2018-11-13 13:51:12 -05:00
Ray Schamp
df56e615ec Add method for collecting all targets' assets
Resolves #1601. Does not include the project JSON since that would require knowledge of a project ID, which the VM has not been responsible for so far.

For now, it is the responsibility of the consumer to determine if these assets should be saved or not. Otherwise the VM would need to be responsible for saving, which has been out of its scope.
2018-11-12 15:13:02 +00:00
jokebookservice1
306996e54c
feat: Implement "point towards random direction"
We subtract 180 even though the value will be clamped, for clarity. We round so that
using the "direction" getter will yield a sensible result. Note that this
implements 'point towards random direction', not 'point towards random
position' -- they have slightly different behaviours.
2018-11-11 01:51:37 +00:00
Karishma Chadha
14bee14d8c Update extensions to load when deserializing monitors. This is necessary when the monitor is the only part of the project that uses the extension. Update extension monitor color category. 2018-11-09 23:45:49 -05:00
Karishma Chadha
df24ca7b46 Refactor sb3 monitor deserialization. Create monitor blocks with the relevant info if they don't exist. 2018-11-09 23:45:49 -05:00
Karishma Chadha
1b9b3ac909 Revert changes that were made to leverage the monitor blocks getting created when the toolbox is loaded. This approach does not work when viewing the project detached from scratch-blocks (e.g. player mode). 2018-11-09 23:45:48 -05:00
Karishma Chadha
ebdd548c8f Update for auto-positioning monitors so that having just one of x or y be 0 (e.g. a monitor placed in the top right corner of the stage) does not result in the monitor being treated as a new monitor and get auto-positioned. 2018-11-09 23:45:48 -05:00
Karishma Chadha
d690c76a34 Update sb2 deserialization of monitors. 2018-11-09 23:45:48 -05:00
Karishma Chadha
1a4f0a75f2 Serialize and deserialize monitors. Obtain monitor block information from runtime. Fix issue where stage monitors weren't getting loaded correctly. 2018-11-09 23:45:48 -05:00
Karishma Chadha
cfa71723eb Ignore video sensing monitor and import music tempo monitor unless it is hidden. Load extensions for visible monitors. Add tests for new functionality. 2018-11-09 00:09:54 -05:00
Evelyn Eastmond
3050f496b2 Resolves #1687. Clears discover timeout when needed. (#1697) 2018-11-08 15:31:15 -05:00
Evelyn Eastmond
53c165c2f6 Close Scratch Link web socket on every new peripheral scan attempt (#1696)
* Progress towards: #1671: Close web socket before making a new one for hardware extensions.

* Always disconnect before scanning for new peripheral.  Removing console logs.

* Removing unused test code.
2018-11-08 15:21:28 -05:00
Karishma Chadha
fe186913ac
Merge pull request #1742 from kchadha/multi-monitors
Multi monitors
2018-11-08 14:44:22 -05:00
Karishma Chadha
7ea310a194 Fix typo in comment 2018-11-08 14:43:07 -05:00
Karishma Chadha
87244b4110 Normalize capitalization of sensing_current block fields during sb2 import and during monitor id generation. Update monitors integration test to include sensing_current block monitors. 2018-11-08 14:11:30 -05:00
Ray Schamp
4f5aba4fe6
Merge pull request #1727 from paulkaplan/add-ext-on-share
Add unloaded extensions on block sharing
2018-11-08 10:15:58 +00:00
Karishma Chadha
5db3db3a92 monitor id getter should use block fields instead of a list of strings 2018-11-08 01:33:26 -05:00
Karishma Chadha
7d1226458f Fix import of current day of week block from sb2. 2018-11-08 00:37:49 -05:00
Karishma Chadha
0e7eae98d5 Separate out monitors for blocks reporter blocks that have parameters. 2018-11-08 00:37:28 -05:00
Karishma Chadha
8aa0fa11aa
Merge pull request #1649 from mzgoddard/get-attribute-stage-alt-name
Get attribute stage alt name
2018-11-07 17:47:44 -05:00
Karishma Chadha
4bb2d19584
Merge pull request #1683 from mzgoddard/sequencer-thread-cleanup
Sequencer thread cleanup
2018-11-07 17:15:11 -05:00
Eric Rosenbaum
2cff4159bb
Use the new note picker field in music and EV3 extensions (#1720)
* Add note field type

* Note picker in music extension plays notes

* Use note picker in EV3 beep block
2018-11-07 11:50:15 -05:00
Eric Rosenbaum
eef1885fad
On websocket error, use sendRequestError instead of disconnect (#1736) 2018-11-07 10:25:09 -05:00
Paul Kaplan
ce94144051 Fixup from comments 2018-11-07 10:11:16 -05:00
DD
5ad193b96e Better comment 2018-11-06 17:51:39 -05:00
DD
1cef52e180 Remove mysterious swp file 2018-11-06 17:43:26 -05:00
DD
3c95b32da0 Rearrange so that if we already have the asset, there's no need to go through promise.all 2018-11-06 17:39:26 -05:00
DD
2a032be1a9 Remove todo 2018-11-06 17:34:07 -05:00
DD
6763355d00 Fix scaling to perform nearest neighbor 2018-11-06 17:22:25 -05:00
DD
2bd468950f Why do our lint rules require such weird formatting 2018-11-06 16:54:41 -05:00
DD
998c5a186e Merge images as part of fetch bitmap 2018-11-06 16:44:17 -05:00
Eric Rosenbaum
3bd0797810
Make volume a sprite-specific monitor (#1730) 2018-11-06 10:52:40 -05:00
DD
e538800293 Merge branch 'pull915' into textLayer 2018-11-06 10:39:43 -05:00
DD
876139847a Merge branch 'develop' into pull915 2018-11-06 10:39:27 -05:00
DD
b6b3ca21d7 Load text layer asset 2018-11-06 10:36:52 -05:00
DD
88b6bdd06c Get text assets from zip 2018-11-05 18:07:56 -05:00
DD
86149325b1 Try to make loadCostume more readable, and revert deserializeCostume to changing the costume object directly 2018-11-05 17:11:07 -05:00
Paul Kaplan
c8ad1955d4 Load extensions before sharing blocks.
This commit fixes the unit tests so the assertions are made after the promise resolves
2018-11-05 13:00:35 -05:00
Paul Kaplan
bc1da9fa44 Move extension ID parsing into a helper and add test 2018-11-05 12:57:09 -05:00
Michael "Z" Goddard
692b71a737
Merge pull request #1709 from mzgoddard/cast-to-number
Shortcut Cast.toNumber if given a number
2018-11-02 15:58:15 -04:00
Michael "Z" Goddard
a3f9aa1e22
cache the set of actively monitored blocks
Projects can have 100's of potentially monitored blocks. Caching the
set of monitored blocks can save time in Runtime._step every frame.
2018-11-02 15:24:05 -04:00
Karishma Chadha
d64322a110
Merge pull request #1719 from rschamp/hotfix/sprite-upload-from-image
Handle images uploaded as sprites
2018-11-01 18:18:52 -04:00
Ray Schamp
3d06f0e633 Handle images uploaded as sprites
The sprite upload code in GUI serializes asset data, flattening it. We need to rehydrate the asset.
2018-11-01 18:28:54 +00:00
Paul Kaplan
596d0c4f5f Include the origin blockId of the top block being dragged.
This is required by the GUI in order to take a snapshot of the blocks for the backpack. Only the ID is needed, the rest can be done by the GUI.
2018-11-01 14:13:07 -04:00
Michael "Z" Goddard
bca01a9ed2
rename Stage to _stage_ when its the OBJECT input for getAttributeOf 2018-11-01 12:33:56 -04:00
Karishma Chadha
ffef2e92fc Fix up docs and incorrect initialization of cloud data manager functions. Add 'spec' unit tests that the cloud data manager functions are actually functions. 2018-10-31 19:20:13 -04:00
Michael "Z" Goddard
2ffa8eb333
update runtime thread tests
Threads are now removed after every "inner" step. Any thread that
reaches its DONE conditions is immediately removed instead of requiring
an extra step to remove it. As such tests that check the number of
threads have been updated to consider this.
2018-10-31 17:56:12 -04:00
Valerie R Young
26c928d10b Handle unknown opcode in input 2018-10-31 17:40:08 -04:00
Michael "Z" Goddard
ec414fffc6
use Number.isNaN in Cast.toNumber
Number.isNaN does not coerce and may help performance since we either
do not need to coerce the value or already have with Number.
2018-10-31 14:40:19 -04:00
Karishma Chadha
1df6743a5f Refactor cloud data manager to break out cloud data limit check vs. limit update. 2018-10-31 13:40:05 -04:00
Karishma Chadha
848deaff30 Track whether a project has cloud data and enforce a cloud data limit on projects being loaded into the runtime. 2018-10-30 18:53:57 -04:00
Katie Broida
6ef600dc2c
Add runtime event for when the project is loaded (#1669) 2018-10-30 15:26:22 -04:00
Karishma Chadha
fd5e178d3b
Merge pull request #1703 from kchadha/cloud-io
Cloud IO
2018-10-30 11:57:20 -04:00
Michael "Z" Goddard
5b10d41ba3
check if toNumber is given a number and shortcut if so
If toNumber is called on a number avoiding passing the number to Number
can provide a small performance improvement.
2018-10-30 11:28:22 -04:00
Karishma Chadha
991d7be7f4 Fix documentation of cloud io device. 2018-10-29 18:31:35 -04:00
Paul Kaplan
b245b3868f
Merge pull request #1416 from paulkaplan/fix-mouse-down
Make click hats trigger on mouse down instead of up
2018-10-29 15:05:18 -04:00
Karishma Chadha
be238d35d2
Merge pull request #1517 from joker314/costume-compatibility
Make "switch costume" and "switch backdrop" blocks compatible with 2.0
2018-10-29 11:39:41 -04:00
Karishma Chadha
aa200e6df3 Set the cloud provider and request updates to the cloud var when updating the variable through blocks. 2018-10-29 00:59:06 -04:00
Karishma Chadha
4959ab9ff3 Create a new cloud io device 2018-10-29 00:58:30 -04:00
Paul Kaplan
e002db48f2 Add logic to trigger click hats on mouse up on a draggable target
As long as the event was not a drag
2018-10-25 15:08:37 -04:00
Paul Kaplan
ef50092daa Make when clicked hats trigger on mouse down 2018-10-25 14:06:36 -04:00
Ray Schamp
de86eb3f19
Merge pull request #1691 from rschamp/storage-no-cache
Store asset objects on costumes and sounds
2018-10-25 10:15:47 +01:00
Karishma Chadha
d3e38c1ae9
Merge pull request #1640 from mzgoddard/set-procedure-param-missing
Set procedure param missing
2018-10-25 00:13:51 -04:00
Katie Broida
18c83dcc67
Prevent non-core extensions from adding monitors (#1688) 2018-10-24 16:43:01 -04:00
Ray Schamp
902aee48ee Merge branch 'develop' of https://github.com/LLK/scratch-vm into storage-no-cache
# Conflicts:
#	package-lock.json
2018-10-24 12:09:06 +01:00
Michael "Z" Goddard
fcafcbdd0a
return 0 from parameters outside of their procedure 2018-10-23 15:14:31 -04:00
Michael "Z" Goddard
ef4045aaf1
Merge pull request #1642 from mzgoddard/set-procedure-param-defaults
Set procedure param defaults
2018-10-23 15:13:16 -04:00
Michael "Z" Goddard
5e5655c916
Merge pull request #1632 from mzgoddard/stop-other-sounds
Stop other sounds
2018-10-23 15:11:08 -04:00
Ray Schamp
b47912dce4 Store asset objects on costumes and sounds
Stop using storage for in-memory storage, and keep these on the vm objects. Towards https://github.com/LLK/scratch-vm/issues/1577
2018-10-23 11:10:50 +01:00
Michael "Z" Goddard
b833ef8d24
remove finished threads every loop of all threads
When all threads are looped, finished threads must be removed so
threads that are waiting for those to complete and be removed may
continue executing. This effects broadcast and wait for example. The
threads created by broadcast and wait can finish in the same tick and
must be removed from the list of threads so that broadcast and wait
knows to stop waiting.
2018-10-19 16:43:36 -04:00
DD
91e2f3a935 Revert 1643 Confirm extension in use in sb2 serialization 2018-10-18 11:06:13 -04:00
Eric Rosenbaum
891f696570
Save and load the language setting for Text to Speech (#1670)
* Use scratch locales internally, with adapter for polly

* Save and load text2pseech language

* Only localize default input to “speak” if in a supported language
2018-10-17 17:34:12 -04:00
Evelyn Eastmond
2564b24d71 Differentiate peripheral errors: request vs. disconnect (#1654)
* Beginning to add differentiation for hardware disconnect alerts.

* Set connected status after error is sent.
2018-10-17 15:48:07 -04:00
jokebookservice1
9c128db723
docs: Provide more/clearer comments
We ensure that all code whose purpose may be confusing to grasp is
commented; and we remove information that is no longer required.
2018-10-17 18:32:01 +01:00
Katie Broida
899ce56214
Confirm extension in use in sb2 serialization (#1643)
Add a check when serializing sb2 projects to see whether an extension is actually in use in a block or a visible monitor.
2018-10-17 10:49:08 -04:00
Michael "Z" Goddard
2b257dde57
add getProcedureParamNamesIdsAndDefaults
Use getProcedureParamNamesIdsAndDefaults to get the defaults along with
names and ids so defaults may be set for a procedure call if the
parameter is not provided.
2018-10-16 16:31:45 -04:00
Michael "Z" Goddard
e854d8d563
stop only waiting sounds when STOP_FOR_TARGET is emitted 2018-10-16 16:15:01 -04:00
Andrew Sliwinski
23f6346045
Merge pull request #1631 from mzgoddard/stop-other-asks
Stop other asks
2018-10-15 13:16:49 -04:00
apple502j
afd9549708
Remove "Don't translate Google" 2018-10-13 05:43:07 +09:00
Eric Rosenbaum
6ce061d55d
Text to Speech voices update (#1655)
* Change voice names to alto and tenor

* Adjust voice pitches

* Support dropped numbers for setting voice
2018-10-11 13:48:43 -04:00
DD Liu
79e36a0316
Merge pull request #1636 from fsih/whatIsUpWithThePromises
Consistently return promises from functions that say they return promises
2018-10-11 10:21:06 -04:00
Andrew Sliwinski
1dbf1894f6
Merge pull request #1652 from ericrosenbaum/feature/extension-icons
Add icons for Video Sensing, Translate and Text to Speech extensions
2018-10-10 16:42:57 -04:00
Evelyn Eastmond
2ade71590f
Merge pull request #1630 from evhan55/fixes/hardware-extensions
Hardware extensions: fixes and menu localization
2018-10-10 15:19:11 -04:00
jokebookservice1
341bd8f3d3
feat: Allow switching to specially named backdrops
The `switch costume` block accepts special values like "next costume" and
"previous costume". If you create a costume with these names, these take
priority over the special values. However, the `switch backdrop` block
keeps these special values for values like "next backdrop", "previous
backdrop", "random backdrop". It is impossible to navigate to such a
backdrop by name via block. This commit also modifies tests to allow for
this.

BREAKING CHANGE: specially-named backdrops can now be navigated
2018-10-10 20:06:54 +01:00
jokebookservice1
0c18b4952d
refactor: use better whitespace-test for backdrops too 2018-10-10 19:45:36 +01:00
Eric Rosenbaum
cdbd7c9af2 Add text2speech icons 2018-10-10 14:09:34 -04:00
Eric Rosenbaum
9403449846 Add translate icons 2018-10-10 14:04:37 -04:00
jokebookservice1
df78a8345e
refactor: use utility for whitespace-testing 2018-10-10 18:36:06 +01:00
Evelyn Eastmond
4534649367 Fixing locale string. 2018-10-10 11:49:07 -04:00
Evelyn Eastmond
d83bf20803 Fixing tilt direction menu locales. 2018-10-10 11:47:55 -04:00
Eric Rosenbaum
b5c5481de0 Add video sensing extension icons 2018-10-10 10:43:04 -04:00
Michael "Z" Goddard
65ee6b7cac
broadcast and wait must wait for threads to be removed from runtime 2018-10-05 14:54:02 -04:00
Michael "Z" Goddard
a0b7e94c9e
update execution order from draw-related look instructions 2018-10-05 13:26:05 -04:00
Michael "Z" Goddard
a22b74e6cb
Merge pull request #1617 from mzgoddard/execution-order
Sprite clone and initial draw order execution order
2018-10-05 13:25:22 -04:00
Evelyn Eastmond
1efead8a26 Resolves #1615: Prevent multiple hardware disconnect alerts. 2018-10-05 11:24:52 -04:00
Evelyn Eastmond
c9d4620f22 Fixing #1485: WeDo2/micro:bit block menus need localization. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
0d7cc66ad5 Changing menu names to include extension label. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
d7440f882d Fixing #1505: WeDo2 motor power between 0-30ish doesn't power the motor. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
7a7134e23c Fixing #1592: WeDo2 and EV3 should not send motor command when motor power is 0. 2018-10-05 11:08:20 -04:00
Andrew Sliwinski
853de9fa7d
Merge pull request #1593 from joker314/fix/compare-strings
Fix locale-dependant string comparison operators to match 2.0
2018-10-04 14:38:40 -04:00
Andrew Sliwinski
492695112f
Merge pull request #1585 from apple502j/patch-1
Bubble string length limit
2018-10-04 14:29:38 -04:00
Michael "Z" Goddard
56ec22df77
add Runtime.executableTargets
executableTargets is a list of the targets in the reverse order of
their execution. This order matches the draw list's order in the
renderer.
2018-10-04 00:42:05 -04:00
DD
06cb8e4b8a Consistently return promises from functions that say they return promises 2018-10-03 14:58:36 -04:00
Michael "Z" Goddard
da268ea0c1
control sound stopping in scratch3_sound.js
- Stop sound playback for target when STOP_FOR_TARGET is emitted
- Stop all sounds when PROJECT_STOP_ALL is emitted
- RenderedTarget should not manage sound stopping in `stopAll`
2018-10-03 10:38:47 -04:00
Michael "Z" Goddard
574749bbba
add STOP_FOR_TARGET runtime event and respond for ask blocks
Remove questions for targets that are individually stopping and
progress the asked question if it is from a stopping target.
2018-10-03 10:38:14 -04:00
Andrew Sliwinski
7a28d5e41d
Merge pull request #1586 from mzgoddard/variable-id-type
conflict workaround for variables and lists of the same name
2018-10-01 18:27:59 -04:00
picklesrus
12ddc89514
Merge pull request #1612 from picklesrus/translate-language-menu
Reset the supported language list in getInfo. This works because refr…
2018-10-01 17:20:50 -04:00
Michael "Z" Goddard
353ad16132
jsdoc @type tag does not permit a description 2018-09-27 12:00:00 -04:00
Evelyn Eastmond
4583cb821b
Merge pull request #1611 from evhan55/fixes/hardware-extensions
Hardware extensions bug fixes
2018-09-25 20:42:30 -04:00
Florrie
744b01174b Add support for "midiInstrument:" block (#1329)
* Add midiInstrument: block

* Don't show midiInstrument block in palette

* Lint

* More lint
2018-09-25 17:33:09 -04:00
picklesrus
69132d17db Fix lint spacing error. 2018-09-25 16:24:32 -04:00
picklesrus
3193a4c1b4 Spacing changes. 2018-09-25 16:03:21 -04:00
picklesrus
5966a54500 Reset the supported language list in getInfo. This works because refreshBlocks is called
when the language gets changed. Fixes #1365.
2018-09-25 16:03:21 -04:00
Kreg Hanning
fa0af58c41 Make "display [Hello!] block yield until printing is done (#1599)
* Make "display [Hello!] block yield until printing is done

* Add 2 additional px to yield delay

* Add 3 more additional px for large chars
2018-09-25 14:56:29 -04:00
Evelyn Eastmond
a676970359
Merge pull request #1607 from evhan55/multiple-alerts
Show customized alerts on hardware extension peripheral errors.
2018-09-25 14:44:29 -04:00
Evelyn Eastmond
e6ea4d7f0c Removed promise chains that seemed unnecessary. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
6bd79369e4 Changing EV3 and WeDo2 default and block motor power values after discussion. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
e9b0cc768e Further fixes to 'button pressed?' on Microbit. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
4b2b82a224 Fixing #1364: Microbit 'button pressed?' block should return true/false. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
cfe7e45d8b Fixing #1538: wedo2 'set motor direction' block sometimes stops the motor. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
eabd7a5153 Changing default WeDo2 power arg to 50. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
03d05403fa Adding TODOs to _pollValues. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
3bdbbe3b8e Fixing #1566: Set default motor power for EV3 and WeDo2 to 50%. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
fe288902fa Fixing #1567: EV3 motor position reporter gets inverted. 2018-09-25 11:26:18 -04:00
Eric Rosenbaum
f467d2d01f
Change “monster” to “giant” and raise pitch (#1606) 2018-09-25 11:04:38 -04:00
Kreg Hanning
91d46bb92b Remove the word "test" (#1600) 2018-09-25 10:49:45 -04:00
Kreg Hanning
b81ba599db Trim whitespace in "display [♡]" input field (#1598) 2018-09-25 10:47:33 -04:00
picklesrus
b063226fd7
Merge pull request #1580 from picklesrus/speech-language
Send the language code of the project viewer to the server
2018-09-24 14:26:14 -07:00
Eric Rosenbaum
622aa0f2b0
Add “set language” block (#1610) 2018-09-24 17:16:10 -04:00
picklesrus
c9cc94b324 Send the language code of the project viewer to the server 2018-09-24 16:49:39 -04:00
Evelyn Eastmond
cce03d0304 Removing console logs. 2018-09-22 15:20:35 -04:00
Evelyn Eastmond
3c905503b7 Adding extension ids to customize error alerts for extensions. 2018-09-22 14:48:41 -04:00
Evelyn Eastmond
ad3328197e Testing adding message/extensionId passing into specific, custom alerts. 2018-09-22 14:04:37 -04:00
Evelyn Eastmond
96327c66f3 Passing custom alert messages with PERIPHERAL_ERROR. 2018-09-22 14:04:37 -04:00
Ray Schamp
e2c6c7667b
Merge pull request #1604 from ericrosenbaum/feature/listening-indicator
Add event to show and hide a mic indicator for Speech to Text
2018-09-21 09:24:59 -04:00
Eric Rosenbaum
e2a79ed58f VM emits MIC_LISTENING 2018-09-20 17:13:51 -04:00
Eric Rosenbaum
f5edcfa3bb Update event name to MIC_LISTENING 2018-09-20 12:06:31 -04:00
Eric Rosenbaum
396d69743d request indicator update in resetListening 2018-09-20 09:45:22 -04:00
Chris Willis-Ford
c541e87da5
Merge pull request #1587 from cwillisf/util_token-bucket
Add a rate-limited task queue utility
2018-09-19 10:48:04 -07:00
Kreg Hanning
06f64c0527 Rename block "display [Hello!]" to "display text [Hello!]" (#1597) 2018-09-19 11:16:16 -04:00
Ray Schamp
416377ad2d
Merge pull request #1594 from rschamp/renderer-getter
Add API for the attached renderer
2018-09-18 16:11:53 -04:00
Ray Schamp
6c94c85c9a Add API for the attached renderer
Resolves #1281
2018-09-18 15:47:47 -04:00
Karishma Chadha
0ad59d3859
Merge pull request #1563 from mzgoddard/get-param-condition-input
Get param condition input
2018-09-18 15:29:43 -04:00
Eric Rosenbaum
e44eff48e3 Add mic indicator update event for speech2text 2018-09-18 10:58:49 -04:00
jokebookservice1
ab8d4dc560
style(util): Address linting issues 2018-09-17 22:07:26 +01:00
jokebookservice1
dab78c4f62
fix(util): Make string comparisons match Flash's, everywhere 2018-09-17 21:25:14 +01:00
Christopher Willis-Ford
69ba2045fe Rename TokenBucket to TaskQueue 2018-09-14 22:34:34 -04:00
Christopher Willis-Ford
70c6ad4ef1 Add cancelAll method to clear the task queue 2018-09-14 22:10:17 -04:00
Michael "Z" Goddard
a5151a0446
generate sb2 variable ids with variable type
Make variables and lists with the same name have unique IDs so they
don't clobber the other in the variables map on the target.
2018-09-14 16:53:48 -04:00
apple502j
7b6ba8cb9a
Bubble string length limit 2018-09-14 20:56:40 +09:00
Christopher Willis-Ford
33e0197ad5 Add tests for TokenBucket 2018-09-13 17:05:00 -04:00
Christopher Willis-Ford
28621c9860 Protect against NaN task cost 2018-09-13 17:05:00 -04:00
Christopher Willis-Ford
c8dc8fb5b9 Add TokenBucket utility class 2018-09-13 17:05:00 -04:00
Eric Rosenbaum
64a1d3e02b
fix ids and names for text2speech and speech2text extensions (#1583) 2018-09-13 15:44:18 -04:00
picklesrus
77284d8117 Remove sound indicators at the start/end of listen block. Visual rep… (#1575)
* Remove sound indicators at the start/end of listen block.  Visual replacement coming soon.

* remove the sound files too.

* ... and the manifest too
2018-09-13 14:05:22 -04:00
Michael "Z" Goddard
ea55b3ed55
add inputOp to every input arg in the sb2 specmap
Add missing meta information in the inputOp value for some arguments.
`boolean` and `substack`, the new inputOp values, are not considered to
be shadowed values.
2018-09-13 12:42:54 -04:00
Chris Willis-Ford
8977ce1e93
Merge pull request #1565 from cwillisf/extension-monitors
Extension monitors
2018-09-12 18:10:12 -04:00
Christopher Willis-Ford
346e1383ed Split extended opcode with splitFirst instead of split 2018-09-12 17:02:18 -04:00
Andrew Sliwinski
c00d70a470
Merge pull request #1573 from ericrosenbaum/feature/no-puppy
Bark bark woof ruff bark. Bark bark bark! (remove puppy voice)
2018-09-12 16:40:29 -04:00
Eric Rosenbaum
bdf27e20c5 Trim to 128 chars 2018-09-12 14:06:26 -04:00
Eric Rosenbaum
f58e9276e8 Cleanup 2018-09-12 13:49:29 -04:00
Eric Rosenbaum
6ac82f3183 bark bark woof ruff bark. bark bark bark! 2018-09-12 13:23:26 -04:00
Karishma Chadha
91d2663c35
Merge pull request #1564 from mzgoddard/monitor-rename
Rename Stage object and Stage monitors together
2018-09-12 12:11:45 -04:00
Eric Rosenbaum
9df078b606
Remove branding from translate extension (#1569)
* Remove branding from translate extension

* Thoroughly remove block icon
2018-09-11 15:19:19 -04:00
Michael "Z" Goddard
34b77d2024
ensure argument_reporter_boolean is used in CONDITION input 2018-09-07 17:26:24 -04:00
Evelyn Eastmond
ec432e3b2f Refactor for hardware extensions (#1555)
* Beginning refactor: renaming 'device' to 'peripheral', shortening function names, reordering functions, etc.

* Continuing refactoring: renaming some functions to be more verbose in the runtime, adding JSDocs, etc.

* Changing 'device' to 'peripheral', etc.

* Changing 'session' to 'socket'.

* Fixing EV3 menus and menu arg validation, reordering functions, etc.

* Add _send, add some references to documentation, etc.

* Factored out _outputCommand and _inputCommand, renamed some enums, etc.

* Fixed _outputCommand, some other minor cleanup.

* Make _outputCommand and _inputCommand public.

* Added TODO.

* Renamed BLE UUID enums to be clearer.

* Change WeDo2 in comments to WeDo 2.0, etc.

* Changed some WeDo2Motor command names, cleaned up some JSDocs.

* Beginning a major EV3 refactor.

* WeDo2 formatting and comment changes.

* Motor refactoring in EV3: motorTurnClockwise and motorTurnCounterClockwise initial working state.

* Add reminders to possibly cast motor menu args in WeDo2.

* Continue to move motor commands in EV3 to EV3Motor class, don't create new EV3Motor on every poll cycle, etc.

* Factoring EV3 polling value commands, etc.

* Fixing EV3 motor power, position and button pressed, and some commenting, etc.

* Move EV3 motor position parsing to EV3Motor class, move directCommand and directCompoundCommand functions, some commenting, etc.

* Changed WeDo2 motor label enum name.

* Removed some EV3 motor functions that aren't needed, changed menu label enum names, moved some opcodes up to enums.

* Fixing comments and documentation.

* Some commenting.

* Adding further documentation and references to PDFs, changed reply check to be safer, etc.

* Some comment changes.

* Moving some functions around in EV3 and WeDo2 to match.

* Commenting, etc.

* Some renaming of session, etc.

* Fix stopAllMotors in EV3.

* Fixing clearing of motors in EV3.

* Some comment changes.

* Change runtime .extensions/registerExtension to .peripheralExtensions/registerPeripheralExtension.

* Renaming outputCommand/inputCommand to generateOutputCommand/generateInputCommand, etc.

* Moved motorCommandIDs to EV3Motor class, renamed directCommand to generateCommand, etc.

* Adding a reminder to rename something.

* JSDoc fix in EV3Motor class.

* Fixing microbit function name.

* Adding a todo item.

* Changing Ev3 menu formats to be backwards compatible, moving a BLE function up.

* Fixing EV3 ports again, and button pressed returning a boolean.

* Fixing menu value to be a string in EV3.
2018-09-07 17:01:23 -04:00
Christopher Willis-Ford
8602d5798a Allow extension reporter only if no block args 2018-09-07 12:16:48 -07:00
Christopher Willis-Ford
f5182a231e Add getLabelForOpcode for use by monitors 2018-09-07 12:01:13 -07:00
Michael "Z" Goddard
c76ad21093
reduce size of benchmark suite configuration 2018-09-07 14:47:50 -04:00
Michael "Z" Goddard
dc85f1162f
enable disabled benchmark test 2018-09-07 14:39:45 -04:00
Michael "Z" Goddard
db7b356825
rename stage monitors along with stage
Rename Stage object and monitors together then use the set name to name
the sprite.
2018-09-07 14:36:44 -04:00
Christopher Willis-Ford
701fb6c1c5 Enable extension monitors, add flag to disable
Extension reporters now offer a monitor checkbox by default, unless the
`disableMonitor` flag is set in the extension block metadata.
2018-09-07 11:13:13 -07:00
Michael "Z" Goddard
609350a7fc
pass parseState info in sb2 deserializer
Pass state information beyond the current block.
2018-09-07 14:00:23 -04:00
Eric Rosenbaum
36711931b2 Make a constant for speech volume 2018-09-05 18:36:01 -04:00
Eric Rosenbaum
fe746a7c43 Use map of soundPlayers for stop all 2018-09-04 21:12:45 -04:00
Eric Rosenbaum
fb7c293e71 Set volume of speech using effect chain 2018-09-04 21:12:04 -04:00
Eric Rosenbaum
5dfa4cc691 Text2speech set gain to 2 (6db) 2018-08-31 10:47:36 -04:00
Eric Rosenbaum
39be6d873c
Rate-limiting with a token bucket for the WeDo extension (#1540)
* Initial version of token bucket

* Add rateLimiter util

* Remove check for motor.isOn in stopAllMotors

* Fix unit test

* Fix unit test with stubbed timer, and cleanup

* Add comment

* Reduce WeDo rate limit to 20 sends/sec

* Move rate limit into a constant

* Stop button stops motors and tone even if rate limit exceeded
2018-08-29 17:37:59 -04:00
Ray Schamp
9c556219ce
Merge pull request #1528 from kchadha/fix-comment-import
Fix Comment import/save/load issue
2018-08-28 16:04:53 -04:00
Ray Schamp
713792480e
Merge pull request #1524 from kchadha/only-undefined-in-c-block-fix
Resolve project load error with undefined opcodes inside c/e blocks.
2018-08-28 16:03:24 -04:00
picklesrus
b95b8d41ff Fix #1395 by resetting the utterance we check for in the edge trigger hat on green flag (#1476) 2018-08-27 11:10:51 -04:00
picklesrus
b9a757ea08 Fix speech extension in Safari (#1202) by calling getUserMedia for every listen and wait block rather than trying to reuse it. Also get rid of some code that was not actually doing anything. (#1467) 2018-08-27 11:05:51 -04:00
Karishma Chadha
2c24ef37a0 Fix issue where block comments converted to workspace comments import correctly when there are no scripts on the workspace. 2018-08-24 14:29:10 -04:00
Karishma Chadha
0532f9a80a Fix issue where a c-block that contained only blocks with unknown opcodes, was causing an import error. 2018-08-23 18:20:45 -04:00
Karishma Chadha
5e1dd8a7cf Fix issue with importing projects from 2.0 where block comments were converted to workspace comments and the corresponding block was deleted. 2018-08-22 18:41:47 -04:00
Evelyn Eastmond
5320dfb676 WeDo2 backwards compatibility update (#1518)
* Resolving #1492: No longer trying to make WeDo2 backwards compatible with Scratch Link API v1.0.

* Closing the socket on all BLE/BT errors.

* Adding BT disconnection.
2018-08-22 17:45:26 -04:00
Karishma Chadha
f567e34c3a
Merge pull request #1515 from kchadha/fix-stack-glow
Fix stack glow
2018-08-22 17:30:14 -04:00
Eric Rosenbaum
d6831cf97d
Merge branch 'develop' into wedo2-fixes 2018-08-22 16:01:29 -04:00
Evelyn Eastmond
ab7f24bf9a WeDo2 rate limiting (#1509)
* Starting work on #1456: rate limiting.

* Fixing #1456: rate limit send messages.

* Chaining a couple of send operation Promises.

* Fixing linting.
2018-08-22 15:53:17 -04:00
Karishma Chadha
62bf790d8f Fix stack glows so that stacks glow as soon as the first block in the stack starts running as opposed to after the first block has finished. Make sure that monitored reporters in the flyout are not glowing. 2018-08-22 14:44:06 -04:00
jokebookservice1
3ef61e2248
Make SWITCH COSTUME and SWITCH BACKDROP compatible with 2.0 2018-08-22 20:39:15 +03:00
Evelyn Eastmond
1f7d9d3b67 Revert "Attempting to fix #1492: WeDo2 use of should be backwards compatible."
This reverts commit ae28a0c1b86209c66dcdbe9b10e0df8c39be7e10.
2018-08-22 11:17:31 -04:00
Evelyn Eastmond
bfa4dfaac2 Attempting to fix #1492: WeDo2 use of should be backwards compatible. 2018-08-22 11:17:31 -04:00
Evelyn Eastmond
f4e9212249 Fixing #1504: WeDo2: Distance sensor not being cleared on device disconnect. 2018-08-22 11:17:31 -04:00
Evelyn Eastmond
3659973101 Fixing #1510: WeDo2 stop button gives console error if device not connected. 2018-08-22 11:17:31 -04:00
Karishma Chadha
d1761466fc
Merge pull request #1427 from paulkaplan/fix-bubble-positioning
Remove heuristic for bubble positioning that was not accurate.
2018-08-22 10:39:50 -04:00
Karishma Chadha
fa1bf5b165 Merge branch 'fix-bubble-positioning' of https://github.com/paulkaplan/scratch-vm into develop 2018-08-22 10:30:01 -04:00
Karishma Chadha
e5ca208a41 Return function to restore a costume when it gets deleted. 2018-08-21 15:33:19 -04:00
Karishma Chadha
6f9da87abe
Merge pull request #1503 from kchadha/restore-sound
Restore sound
2018-08-21 15:28:39 -04:00
Karishma Chadha
0c53659476
Merge pull request #1475 from towerofnix/fix-repeat-count
Use round() instead of floor() in repeat
2018-08-21 12:58:54 -04:00
Karishma Chadha
6f9367a8e2
Merge pull request #1468 from gnarf/serialization-util
export deserializeBlocks method
2018-08-20 19:58:19 -04:00
Corey Frang
ae219e361a Add comments for deserialization and add tests 2018-08-20 13:25:24 -04:00
Karishma Chadha
e0a1f464ce Add and update unit tests for sound deletion. 2018-08-20 12:49:30 -04:00
Evelyn Eastmond
2121a3be80 Some small EV3 fixes (#1494)
* Fixing #1353: Stop button should stop EV3 beep sound.

* Fixing #1358: EV3 and Microbit: shouldn't send requests if not connected?.

* Fixing #1373: EV3 motor does not brake at the end of a motor command.
2018-08-20 11:00:48 -04:00
Ray Schamp
4f18cdd4ee
Merge pull request #1497 from amazinigmech2418/revert-1453-round-setxy
Revert "round x and y like Scratch 2 does"
2018-08-20 10:36:46 -04:00
Evelyn Eastmond
5395f9c321 WeDo2 changes for upcoming smoke test (#1493)
* Starting on #1491: use 'startNotifications' instead of 'read'.  Still need to make backwards compatible.

* Fixing #1489: WeDo2 set light color block should wrap values to 0-100.

* Fixing #1488: WeDo2 should not clear LED light on stop button.

* Fixing to support negative LED light color inputs.

* Removing a binding.

* Using wrapClamp for inputHue for LED color block.
2018-08-19 22:09:57 -04:00
amazinigmech2418
f0d47923b0
Revert "round x and y like Scratch 2 does" 2018-08-17 20:35:42 -04:00
Karishma Chadha
24b098257b Return restore sound function when deleting a sound. 2018-08-17 14:01:24 -04:00
Ray Schamp
a1249bd3f8
Merge pull request #1453 from mzgoddard/round-setxy
round x and y like Scratch 2 does
2018-08-17 10:26:15 -04:00
Karishma Chadha
84f4c8c0a6
Merge pull request #1486 from kchadha/fix-delete-sprite-local-vars
Fix issue with deleting sprite with local variables
2018-08-16 17:28:43 -04:00
Eric Rosenbaum
83b3eabf1d
Regulate micro:bit send timing (#1471)
* display blocks yield for 50ms

* WIP on microbit command send timing

* WIP on microbit command send timing

* Cleanup and JSDOC

* Send “withResponse” param to Link

* Remove caching, add busy timeout
2018-08-16 15:38:03 -04:00
Eric Rosenbaum
825035f503
Fix importing WeDo 2.0 blocks from SB2 (#1487)
* Fix wedo2 import from sb2

* Hide wedo play note block
2018-08-16 14:24:19 -04:00
Corey Frang
896e62d2c4 Also export serializeBlocks for round-tripping 2018-08-15 17:06:30 -04:00
Corey Frang
df9dbd112a Make importing with deserialized stuff okay 2018-08-15 17:04:49 -04:00
Karishma Chadha
b95350da6e Fix issue where deleting a sprite with a monitored local variable creates that local variable on all other sprites after switching sprites twice or more. 2018-08-15 14:31:40 -04:00
Evelyn Eastmond
0df334fd38 Fixes #1423: WeDo commands should be able to be translated. (#1482) 2018-08-15 14:21:42 -04:00
Evelyn Eastmond
280be8379b
Merge pull request #1481 from evhan55/feature/wedo2-fixes
Various WeDo2 fixes and enhancements
2018-08-15 14:11:04 -04:00
Evelyn Eastmond
35a2411f92 Fixing motor direction block to also work when the motor is on indefinitely. 2018-08-15 14:01:08 -04:00
Evelyn Eastmond
c21d5eba1c
Merge pull request #1469 from ericrosenbaum/feature/wedo-icon
Add WeDo 2.0 block icon
2018-08-15 12:01:48 -04:00
Evelyn Eastmond
82df80a04c Fixing lint error. 2018-08-15 11:44:49 -04:00
Evelyn Eastmond
9fb522b3ff Moving a function. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
13edf16caa Fixing #1457: extension should parse incoming messages using port table. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
d61f6e3d6f Fixing #1460: 'set motor direction' block should work while a motor is running. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
3023b7a9c2 Fixing #1455: set LED to blue on connecting. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
9f25872c1f Fixing #1454: extension should cast and clamp input values. 2018-08-15 11:39:26 -04:00
Evelyn Eastmond
d89020cfb1 Fixing #1461: distance sensor should report 0-100 in steps of 10. 2018-08-15 11:39:26 -04:00
Florrie
5af79a086b Use round() instead of floor() in repeat, add unit test 2018-08-14 20:27:18 -03:00
Connor Hudson
f9814a5f88 Allow localizing EV3 blocks (#1437)
* Add formatMessage calls to block text in EV3 extension

* Make some EV3 l10n descriptions more descriptive
2018-08-14 14:36:19 -04:00
Eric Rosenbaum
3af8a4eca5 Add WeDo 2.0 block icon 2018-08-14 13:51:17 -04:00
Connor Hudson
8d88058ae5 Allow localizing micro:bit blocks (#1431)
* Replace micro:bit block text with formatMessage calls

* Add l10n support to micro:bit block menus

* Remove A, B button translation, update some l10n descriptions

* Fix mismatched l10n description
2018-08-14 12:19:26 -04:00
Corey Frang
fe46a81cc9 export deserializeBlocks method 2018-08-14 11:17:47 -04:00
Evelyn Eastmond
f01733f019 WeDo2 Extension: First Pass (#1441)
* Adding WeDo2 connection/disconnection over Scratch Link BLE.

* Testing motor and LED output.

* Reading sensor attachment and registering for sensor notifications.

* Motor indexing.

* Some refactoring notes.  Moving some functions around.

* Refactoring and enums.

* Removing some comments

* Fixing linting error.

* Fixing tilt reporter values and added stopAll bound to stop button to stop piezo, LED and motors.
2018-08-13 17:10:55 -04:00
Michael "Z" Goddard
f1fce036f0
round x and y like Scratch 2 does
https://github.com/LLK/scratch-flash/blob/develop/src/scratch/ScratchSprite.as#L180-L186

Scratch 2 rounds the X and Y to the nearest whole number.
2018-08-13 14:53:00 -04:00
Mx Corey Frang
30892dfd43
Update npm packages to get new renderer and update benchmark for Bob Ross 🌲 (#1443) 2018-08-13 10:47:41 -04:00
kchadha
ec41b4a113
Merge pull request #1438 from kchadha/return-add-sprite-function-when-deleting
Export the sprite and return an add function when deleting the sprite.
2018-08-09 15:25:45 -04:00
Karishma Chadha
a1f03f58e1 Add integration test for deleting and restoring a sprite, and restoreFunciton should return a promise. 2018-08-09 11:53:37 -04:00
Mx Corey Frang
c092fe9f83
Use proposed drawableTouching interface from render (#1419)
* use new drawableTouching interface from render

* Fix mock renderer for new API call

* with lint fix
2018-08-09 10:10:23 -04:00
Karishma Chadha
5ef246a2b0 Export the sprite and return an add function when deleting the sprite. 2018-08-08 18:29:54 -04:00
Ray Schamp
4b5cf6505a
Merge pull request #1398 from paulkaplan/publish-docs
Publish jsdoc to gh-pages
2018-08-08 16:46:48 -04:00
kchadha
6b26e6e68c
Merge pull request #1434 from kchadha/fix-variable-xml
Fix variable xml
2018-08-08 15:32:09 -04:00
Michael "Z" Goddard
a15a9a1b7b Fix benchmark suite (#1397)
* add scratch-svg-renderer adaptors to benchmark vm

* disable benchmark with monitor error

* fixup! add scratch-svg-renderer adaptors to benchmark vm

* fixup! disable benchmark with monitor error
2018-08-08 14:36:38 -04:00
Karishma Chadha
d91788406c Don't generate new IDs for variables when making a sprite clone. 2018-08-07 16:24:02 -04:00
Karishma Chadha
337c1f464d Fix duplication of variables and re-write variable ids in referencing fields. 2018-08-07 00:30:03 -04:00
Paul Kaplan
6e6e9b49cb
Merge pull request #1415 from paulkaplan/fix-current-menu
Import current block menu as field not input
2018-08-06 16:45:51 -04:00
Paul Kaplan
ae3605b00c Remove heuristic for bubble positioning that was not accurate.
"guessing" the bubble positioning before rendering is no longer needed because the positioning logic has changed, bubbles that don't fit during the positioning stage get flipped.
2018-08-06 16:00:20 -04:00
Paul Kaplan
98e45ecdfe Import current block menu as field not input 2018-08-02 13:45:00 -04:00
Paul Kaplan
79ab2fcb72 Add turbo mode events 2018-08-02 10:00:21 -04:00
Eric Rosenbaum
c8158321fc
Add "set voice" block to text2speech extension (#1400)
* Add set voice block

* Store voice in custom state

* Use a regex to preserve punctuation in kitten language

* cleanup

* don’t re-use args

* add todo comment about locale

* Use voice Id strings and add puppy

* Cleanup and comments

* Use extension name “Text-to-Speech”

* Add issue link in comment
2018-07-31 14:41:02 -04:00
Paul Kaplan
138d7136af Fix various jsdoc issues preventing the docs from building 2018-07-31 11:22:42 -04:00
Paul Kaplan
c7db7ad086
Merge pull request #1399 from paulkaplan/add-to-target
Add an extra param for adding sounds and costumes to specific targets
2018-07-31 11:09:37 -04:00
Paul Kaplan
8540c139dc Add an extra param for adding sounds and costumes to specific targets 2018-07-31 09:47:48 -04:00
Karishma Chadha
53ccb8d709 Don't serialize layerOrder when exporting a sprite. 2018-07-24 16:11:18 -04:00
Paul Kaplan
ac550d2d38
Merge pull request #1387 from paulkaplan/userdata-io-device
Add UserData ioDevice for setting and getting username from blocks
2018-07-24 15:13:15 -04:00
kchadha
c77b1f25e2
Merge pull request #1392 from kchadha/sprite-layer-save-load
Sprite Layer Ordering Save/Load
2018-07-24 13:53:29 -04:00
Evelyn Eastmond
6444cf071d Feature/critical extension fixes (#1383)
* Resolves - Turning micro bit power off doesn't disconnect microbit #1366.

* Resolves EV3 motor block causes distance to return 0 #1363.

* Fixing linting.

* Tweak micro:bit auto-disconnect timeout.
2018-07-24 11:08:48 -04:00
Karishma Chadha
812e7a3772 Preserve sprite layer order information across saving and loading an sb3. 2018-07-24 11:00:48 -04:00
Karishma Chadha
b3ee2c439d Remove layerOrder property, sprites are rendered in the order the targets are listed in in the .sb2 file. 2018-07-23 15:48:27 -04:00
Karishma Chadha
2508dc46ca Order sprites in 2.0 projects based on the serailzied indexInLibrary property. Store original ordering (e.g. layer order of sprites on the stage) to use when installing targets. 2018-07-23 15:25:05 -04:00
Eric Rosenbaum
f5066626e5
Use sprite’s soundbank to play text2speech sound (#1388)
* Use sprite’s soundbank to play sound

* Add todo comment
2018-07-23 11:16:00 -04:00
picklesrus
db0597ada5 Get rid of some config that Safari cannot handle and was part of the older getUserMedia. (#1297) 2018-07-23 10:45:27 -04:00
Paul Kaplan
6d4c6df692 Add UserData ioDevice for setting and getting username from blocks 2018-07-23 09:38:58 -04:00
Paul Kaplan
4570184c6b Fix linting 2018-07-19 16:41:07 -04:00
Paul Kaplan
a762892879 Do not send coast if another motor command has been sent 2018-07-19 15:46:01 -04:00
Paul Kaplan
a069a295d7
Merge pull request #1377 from paulkaplan/update-extension-names
Update the category info name when the extension is refreshed.
2018-07-18 15:18:27 -04:00
Paul Kaplan
7aa45ddb38 Update the category info name when the extension is refreshed.
Fixes an issue where changing languages did not update the name in the category menu.
2018-07-18 15:01:22 -04:00
chrisgarrity
d4f20522b8
Merge pull request #1367 from chrisgarrity/issue/gui2530-blockwidth-locale
Add function to return the current VM/blocks locale
2018-07-18 10:57:24 -04:00
Andrew Sliwinski
cf2b858d43 Change 'video motion' to 'video sensing'. See LLK/scratch-gui#2621 2018-07-18 10:11:08 -04:00
Paul Kaplan
c428e2ec02
Merge pull request #1341 from mzgoddard/fix-report
fix unnecessary stackClick report from nested promise reporters
2018-07-18 09:58:47 -04:00
kchadha
5f5ea5ec24
Merge pull request #1361 from kchadha/sprite-upload-global-local-fix
Fix sprite upload variable conflict
2018-07-18 09:56:47 -04:00
chrisgarrity
4ba7e9373f Add function to return the current VM/blocks locale 2018-07-18 09:52:55 -04:00