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
Paul Kaplan
13c6c4f9d4
Merge pull request #1362 from paulkaplan/fix-duplicate-sound
...
Fix duplicating sounds not working
2018-07-18 09:03:03 -04:00
Paul Kaplan
3bb455dae5
Duplicating a sprite copied the sounds into the original, not the new
2018-07-17 16:50:40 -04:00
Karishma Chadha
37b276935e
Update fields of blocks to reference new variable names for renamed global so that the VM always has up-to-date and accurate information about the blocks.
2018-07-17 16:27:00 -04:00
Kreg Hanning
9524db5609
Only send matrix data if input !== null ( #1356 )
2018-07-17 16:12:38 -04:00
Kreg Hanning
2af04c43ea
Ignore display command with blank string ( #1355 )
2018-07-17 16:09:12 -04:00
Evelyn Eastmond
c4ee7065a2
EV3/Microbit critical fixes for code freeze ( #1354 )
...
* Resolves - BLESession and BTSession should emit PERIPHERAL_SCAN_TIMEOUT #1348 .
* Resolves - BLESession should handle 'could not find service' error #1350 .
* Resolves - BTSession should handle 'no peripheral connected' error #1351 .
* Fixing a typo that caused device scan timeout bugs.
* Resolves - Add casting and clamping throughout the EV3 extension #1352 .
* Fixing a linting error.
* Further fixes for issue #1351 .
2018-07-17 16:03:05 -04:00
Eric Rosenbaum
1dcdfc9548
Use secure web socket address for ble and bt connection ( #1359 )
2018-07-17 15:40:47 -04:00
Karishma Chadha
99c1ce9286
Fix variable conflict that arises during sprite upload where the sprite may reference a global variable that conflicts with the name of a local variable on a different sprite in the project.
2018-07-17 15:37:28 -04:00
kchadha
0776845a94
Merge pull request #1347 from kchadha/fix-var-rename-delete
...
Fix local var rename/delete
2018-07-17 11:07:13 -04:00
Eric Rosenbaum
b8ea846eed
Use 2x png for microbit icon ( #1346 )
...
* Use file-loader for png
* Use 2x png for microbit block icon
* Load png via data URI
* JSDOC
2018-07-17 09:21:44 -04:00
Karishma Chadha
ee9a99b928
Fix variable deletion bug.
2018-07-15 19:00:55 -04:00
Karishma Chadha
a8fc399746
Fix var rename bug where variable would go back to old name after switching sprites.
2018-07-15 18:58:56 -04:00
picklesrus
bf22cdbf13
Make the end listening sound only play one time even if multiple bloc… ( #1232 )
...
* Make the end listening sound only play one time even if multiple blocks stop listening at the same time.
* Update for new sound API
2018-07-15 15:04:27 -04:00
picklesrus
ed78231fe9
Turn speech block text into i18n messages. ( #1224 )
...
* Turn speech block text into i18n messages.
* Update message descriptions and other code review comments.
* fix typo
* Add bit about not translating Google to message description.
* Change default when I hear text
2018-07-15 14:34:24 -04:00
picklesrus
bd83d66bff
Update speech extension to use new audio engine api since the old version no longer exists. ( #1272 )
2018-07-15 14:23:14 -04:00
Paul Kaplan
3fa28cac35
Merge pull request #1326 from kchadha/share-local-var-fix
...
Fix variable conflicts that arise when sharing the love with the stage.
2018-07-13 13:24:49 -04:00
Evelyn Eastmond
133ade7f48
EV3 port and sensor polling updates ( #1342 )
...
* Add motor rotate, without coasting yet. Fixed some todos.
* Removing logging.
* Implemented motor set position, motor set power, and beep note for time blocks. Changed labels on motor blocks. Tracking motor speeds for all ports.
* Fixing motor ports to 0-3 and then output bit field when sending commands.
* Added stop all motors with stop button. Added port masking function. Some cleanup. Moved beeping up an octave.
* Combine device list polling and sensor polling into a single timeout call, device list requested every 20 times.
* Don't reset sensors on device update. Don't store undefined sensor/motor values. Some comments.
* Fixing some linting.
2018-07-13 13:14:53 -04:00
Karishma Chadha
2b2fc2e561
Code cleanup, refactor, abstraction
2018-07-13 12:58:45 -04:00
Michael "Z" Goddard
fee3c4cc04
fix unnecessary stackClick report from nested promise reporters
...
Check that a reporting block is the last operation as part of some
parent block. The last operation is the block itself which may report
values for stack clicks and monitor updates if it meets other
requirements.
2018-07-13 10:23:42 -04:00
Karishma Chadha
13df3e7bd6
Add unit tests and fix object shallow vs. deep copying bug.
2018-07-13 09:36:43 -04:00
Karishma Chadha
406e59fc18
Fix variable conflicts that arise when sharing the love of a sprite-local variable with the stage.
2018-07-13 09:36:43 -04:00
Andrew Sliwinski
c69a59575d
Merge pull request #1316 from ericrosenbaum/feature/language-reporter
...
Change translate extension reporter block text to 'language'
2018-07-13 08:41:33 -04:00
Paul Kaplan
ec0ac19772
Merge pull request #1332 from ericrosenbaum/bugfix/microbit-bail-out
...
Microbit write bails out if not connected
2018-07-13 08:32:58 -04:00
Paul Kaplan
b9203ac5d6
Merge pull request #1333 from ericrosenbaum/bugfix/fix-microbit-extension-name
...
Change extension name to micro:bit
2018-07-13 08:32:45 -04:00
Paul Kaplan
b33d9ba4e0
Merge pull request #1335 from mzgoddard/fix-execute
...
fix asynchronous block execution
2018-07-13 08:32:20 -04:00
Paul Kaplan
e463781bc1
Merge pull request #1330 from paulkaplan/glow-on-stack-click
...
Always glow threads that come from stack clicks
2018-07-13 07:53:05 -04:00
Michael "Z" Goddard
d2c637a621
fix asynchronous block execution
...
Freeze promise waiting blocks into an array of reported values. Thaw
those reported values into parent values of matching blocks by id. If
the reporting block was waiting on a promise and reported a value
assign it to its parent value at that future time.
2018-07-13 00:04:49 -04:00
DD Liu
c7e9c833c0
Merge pull request #1315 from fsih/loadCostume
...
Don't depend on this until https://github.com/LLK/scratch-gui/pull/2575 is in
Break out loadVector and loadBitmap from loadCostumeAsset, and handle bitmap resolution 1 assets in loadBitmap
2018-07-12 18:50:14 -04:00
DD Liu
46918f266e
Add bitmap resolution so that required proptype warning stops
2018-07-12 17:25:53 -04:00
DD Liu
1c74c9028c
Better error handling
2018-07-12 17:18:38 -04:00
Eric Rosenbaum
eaeefdcfe7
Change extension name to micro:bit
2018-07-12 15:26:32 -04:00
Eric Rosenbaum
ea1bb602f9
Microbit display commands yield for a tick ( #1331 )
...
* Microbit display commands yield for a tick
* JSDOC fixes
2018-07-12 15:19:28 -04:00
DD Liu
004f38190a
Merge branch 'develop' into loadCostume
2018-07-12 15:16:17 -04:00
Eric Rosenbaum
a7f4fc2212
Microbit write bails out if not connected
2018-07-12 14:41:28 -04:00
Paul Kaplan
9dbb362b36
Remove log line
2018-07-12 14:40:13 -04:00
DD Liu
0258a7390f
Convert to node style callback and convert to bitmap resolution 2 always
2018-07-12 14:33:38 -04:00
Paul Kaplan
bcd76c995e
Always glow threads that come from stack clicks
2018-07-12 11:24:06 -04:00
Andrew Sliwinski
0c21f739ec
Merge pull request #1327 from thisandagain/feature/deleteall
...
Add opcode implementation for `data_deletealloflist`
2018-07-12 11:02:14 -04:00
Kreg Hanning
06c4e5516f
Add micro:bit matrix field block ( #1314 )
...
* Add micro:bit matrix field block
* Remove debug logs
* Remove rowcol menu
* Fix lint errors
2018-07-11 16:13:49 -04:00
chrisgarrity
0810c455c2
Merge pull request #1321 from chrisgarrity/issue/1299-switch-language
...
Issue/1299 switch language
2018-07-11 16:03:10 -04:00
Paul Kaplan
760fcd8231
Merge pull request #1318 from paulkaplan/fix-bt-connection
...
Set internal connected flag before emitting event
2018-07-11 14:20:22 -04:00
Andrew Sliwinski
f7aafe4d9c
Add opcode implementation for data_deletealloflist
2018-07-11 13:14:01 -04:00
Paul Kaplan
31cd204117
Add semicolons...
2018-07-11 11:47:29 -04:00
Paul Kaplan
eecca39a97
Update microbit block and menu icons using the new ones
2018-07-11 11:20:19 -04:00
chrisgarrity
849412ba82
Switch setLocale to return a promise
...
Convert refreshBlocks to a function returning a promise, and return that from setLocale. Now GUI can ensure that refreshing the toolbox and workspace only happens after all the blocks have refreshed.
2018-07-11 08:35:22 -04:00
Paul Kaplan
82a33691d3
Set internal connected flag before emitting event
2018-07-10 15:57:25 -04:00
Eric Rosenbaum
0cc219fa0a
Change ‘viewer language’ reporter to ‘language’
2018-07-10 15:10:27 -04:00
DD Liu
747b4d1aed
Add bitmap resolution
2018-07-10 11:59:10 -04:00
DD Liu
704be2d83f
fix comment
2018-07-10 10:39:47 -04:00
DD Liu
6aefd13af6
Break load costume into more functions, and update how bitmaps are loaded
2018-07-10 10:30:38 -04:00
picklesrus
e156b0536c
Fix name of translate extension and add the logo back. Basically fixes #1029 ( #1313 )
2018-07-10 10:25:49 -04:00
Andrew Sliwinski
c9d71488c3
Merge pull request #1311 from thisandagain/feature/polly
...
Update text-to-speech extension to use new audio engine
2018-07-10 08:30:52 -04:00
Andrew Sliwinski
ace5ae40d0
Update text-to-speech extension to use new audio engine
2018-07-09 14:40:13 -04:00
Evelyn Eastmond
394b57ebb6
Removing some logging.
2018-07-09 14:31:09 -04:00
Evelyn Eastmond
f511730602
Fix motor turn for ports C/D. Zero out sensors and motor values on disconnect.
2018-07-09 14:31:09 -04:00
Evelyn Eastmond
a220829007
Changes to EV3 extension: motor reporter 0-360, distance reporter rounded to tenths, motors coasting after turn for time commands, buttons distinguishable by port, and motor reporters for ports C/D fixed.
2018-07-09 14:31:09 -04:00
Ray Schamp
55944bc4b6
Merge pull request #1285 from LLK/feature/device-connection
...
Device connection update for micro:bit and EV3 extensions
2018-07-09 14:26:06 -04:00
Eric Rosenbaum
e02dd35dbf
remove logging
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
b30092e890
Motor for time opcodes return promise to wait
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
a78866f99a
Add EV3 block icon
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
2cfc6d601a
Fix required module name to lowercase
2018-07-09 13:49:41 -04:00
Evelyn Eastmond
190f4b5796
Fixing linting errors.
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
2ec894b5a7
Get motor positions for reporter block
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
1cc013ea1b
Stringify errors
2018-07-09 13:49:41 -04:00
Evelyn Eastmond
b9ea6005f8
Clearing ports on disconnect.
2018-07-09 13:49:41 -04:00
Evelyn Eastmond
cf98e35564
EV3 blocks progress: distance, brightness, button, motor position. Only single button for now, distance needs threshold at 0.
2018-07-09 13:49:41 -04:00
Evelyn Eastmond
d79efbece8
Some logging cleanup.
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
387f03b08c
Add disconnect and getPeripheralIsConnected to EV3 extension
2018-07-09 13:49:41 -04:00
Eric Rosenbaum
6f5ff31eb3
Add disconnectExtensionSession and getPeripheralIsConnected
2018-07-09 13:49:41 -04:00
Evelyn Eastmond
613a9f96c3
Adding initial test polling for EV3 distance sensor data.
2018-07-09 13:49:41 -04:00
Evelyn Eastmond
0280966a61
Connected Ev3 extension to device connection modals.
2018-07-09 13:49:40 -04:00
Evelyn Eastmond
d1d9b38bf9
Added all EV3 block commands/reporters/booleans to Ev3 device class as stubbed functions.
2018-07-09 13:49:40 -04:00
Evelyn Eastmond
42e0576549
All EV3 blocks stubbed out with console logs for now.
2018-07-09 13:49:40 -04:00
Evelyn Eastmond
2d8ad05a78
Adding Ev3 extension with three test blocks to latest device-connection work, auto-connecting to device for now.
2018-07-09 13:49:40 -04:00
Evelyn Eastmond
4332725d33
Adding more errors based on web socket onerror and onclose. Moved extension runtime mapping of devices back to MicroBit class.
2018-07-09 13:41:57 -04:00
Evelyn Eastmond
9d66c54f8a
Adding error reporting to runtime from BLESession.
2018-07-09 13:41:57 -04:00
Evelyn Eastmond
73cc149783
Adding promises to return on BLE write. Some refactoring.
2018-07-09 13:41:57 -04:00
Evelyn Eastmond
701f430e56
Remove pinging in BLE connection.
2018-07-09 13:41:57 -04:00
Evelyn Eastmond
730b798686
Extension/runtime protocol refactoring.
2018-07-09 13:41:57 -04:00
Eric Rosenbaum
d778ddf00e
wip
2018-07-09 13:41:57 -04:00
Paul Kaplan
665bf9a322
Merge pull request #1305 from paulkaplan/fix-broadcast-wait
...
Fix tick yielding threads
2018-07-09 13:41:55 -04:00
kchadha
6c118cf8e0
Merge pull request #1301 from kchadha/variable-scope
...
Variable scope
2018-07-06 14:39:56 -04:00
Karishma Chadha
a0a11f2f19
Add 'islocal' flag to XML serialization for variables.
2018-07-06 13:02:23 -04:00
Paul Kaplan
24355c6e6d
Fix tick yielding threads
2018-07-05 14:56:00 -04:00
Paul Kaplan
2c7de6380e
Add implementation for "When loudness >" block
2018-07-05 09:42:00 -04:00
Paul Kaplan
06573f4624
Merge pull request #1280 from paulkaplan/fix-bubble-state
...
Fix a few say bubble issues
2018-07-05 08:55:39 -04:00
Karishma Chadha
ed608ffe6f
Refactor to fix issue with global var not checking for name conflicts on all sprites.
2018-07-03 23:20:49 -04:00
Ray Schamp
4525139d59
Merge pull request #1212 from mzgoddard/unwrapped
...
execute optimization by unwrapping recursion
2018-07-02 11:20:01 -04:00
Paul Kaplan
63e96634bf
Use bounds of the renderer instead of stage target for positioning.
...
Fixes the regression where bubbles almost always point left instead of right.
2018-06-28 16:45:07 -04:00
Paul Kaplan
a6a29a5437
Fix hidden bubbles not resetting on stop
2018-06-28 16:44:33 -04:00
Andrew Sliwinski
840510c733
Update colors for extensions. Resolves GH-1275
2018-06-27 18:10:51 -04:00
Paul Kaplan
c3386ad84d
Merge pull request #1254 from paulkaplan/fix-undefined-block-parsing
...
Skip unknown opcode blocks while parsing
2018-06-27 17:01:00 -04:00
Karishma Chadha
92dfebdae6
Add variables from var_create events to appropriate target based on isLocal flag.
2018-06-27 16:32:10 -04:00
Eric Rosenbaum
aa400ea15b
Show extension status button via XML attr not button ( #1270 )
2018-06-27 15:53:18 -04:00
Paul Kaplan
0e3413e6bd
Fix comment
2018-06-27 14:17:33 -04:00
Paul Kaplan
4967155285
Fix nits
2018-06-27 10:44:28 -04:00
Paul Kaplan
9f517bd483
Deal with comments attached to undefined blocks
...
Also fix an issue where you couldn't save/load projects that had multiple comments linked to a single block.
2018-06-26 16:41:10 -04:00
Paul Kaplan
e7e300caeb
Skip unknown opcode blocks while parsing
2018-06-26 15:58:43 -04:00
Connor Hudson
0bed25e01b
Merge develop into feature/extension-serialization
2018-06-26 08:56:42 -04:00
Mx Corey Frang
236f914f55
delete clone should not stop sound ( #1269 )
2018-06-25 15:44:39 -04:00
Michael "Z" Goddard
0dffc65ce9
stop drum immediately if it is still starting ( #1266 )
2018-06-25 15:31:35 -04:00
kchadha
d187517d85
Merge pull request #1256 from kchadha/sprite-save-load
...
Sprite save load
2018-06-25 11:21:01 -04:00
Karishma Chadha
55a5592ab6
Add optional type param to export sprite API.
2018-06-25 09:23:04 -04:00
Karishma Chadha
f06b8a3943
Clean up calls to fixUpVariableReferences
2018-06-25 09:11:48 -04:00
Corey Frang
4431b43e45
A few leftover loadSound that werent updated
2018-06-22 09:45:23 -04:00
Michael "Z" Goddard
c268bbae47
add decoded SoundPlayer's to a Sprite's SoundBank ( #1260 )
2018-06-21 17:23:33 -04:00
Corey Frang
14f8c44ad9
Stop all sounds by clones when disposed
2018-06-21 17:00:03 -04:00
Corey Frang
c087cf326a
soundbank tests
2018-06-21 17:00:03 -04:00
Michael "Z" Goddard
61dacfc915
Merge pull request #1258 from mzgoddard/green-music-extension
...
Use new scratch-audio APIs in music extension
2018-06-21 16:59:42 -04:00
Michael "Z" Goddard
7e48bed0ab
use scratch-audio EffectChain and SoundPlayer in music extension
...
- Use AudioEngine to decode sounds
- Store players instead of buffers
- Use SoundPlayer stop event to track concurrency
2018-06-21 16:53:45 -04:00
Connor Hudson
befcbec393
Create extensions list in serialize function
...
Removed runtime argument from serializeTarget call because it wasn't used
2018-06-21 15:01:00 -04:00
Connor Hudson
026dd96491
Modify serializeTarget function to take an extension set as an argument
...
This allows the serialize function to build a list of all extensions used
2018-06-21 15:00:17 -04:00
Connor Hudson
17679340f9
Return extension ids from serializeBlocks instead of modifying Set passed to it
2018-06-20 15:42:56 -04:00
kchadha
39c27d82ef
Merge pull request #1248 from towerofnix/sprite-quad-fix
...
Fix new sprites only showing up in the top-right quadrant
2018-06-20 14:40:11 -04:00
Connor Hudson
15de2eaa68
Remove extension deserialization
2018-06-20 14:33:01 -04:00
Karishma Chadha
b40ac54fdd
Remove stray newline.
2018-06-20 13:37:31 -04:00
Karishma Chadha
b75a779540
Call fixUpVariableReferences in installTargets, before emitting the workspace update.
2018-06-20 12:12:33 -04:00
Karishma Chadha
889443fcef
fixUpVariableReferences should handle conflicting local variables that don't have blocks referencing them. Add unit tests for the function.
2018-06-20 12:07:42 -04:00
chrisgarrity
f0951d16fa
Merge pull request #1246 from chrisgarrity/feature/translate-labels
...
Localize category labels
2018-06-20 08:33:44 -04:00
Connor Hudson
68215664ec
Merge branch 'develop' into feature/extension-serialization
2018-06-19 17:01:13 -04:00
Karishma Chadha
9646e3d11e
Refactor and move variable reference fixup function into target.
2018-06-19 15:31:08 -04:00
Karishma Chadha
f2aacbc79c
Fix up variable references after deserializing a .sprite2 or .sprite3 to avoid conflicts with pre-existing variables.
2018-06-19 14:02:54 -04:00
Paul Kaplan
6e2af4f3cc
Merge pull request #1244 from paulkaplan/sharing-apis
...
Add shareSound and shareCostume APIs with unit tests to the VM
2018-06-19 11:31:00 -04:00
Karishma Chadha
5cc48b6ef3
Provide global vars to sb2 import when deserializing a single sprite.
2018-06-19 08:52:22 -04:00
Karishma Chadha
86a8d93eb6
Sprite3 Export/Import.
2018-06-19 08:51:16 -04:00
Florrie
0527fcde64
Fix new sprites only showing up in the top-right quadrant
2018-06-18 17:20:59 -03:00
Connor Hudson
aa16930e34
Add initial implementation of extension serialization/deserialization
2018-06-18 15:00:33 -04:00
Evelyn Eastmond
d09c3f0418
MicroBit extension, Scratch Link first draft. ( #1230 )
...
* First microbit gui tests
* Fixed JSONRPC inheritance. Renamed ScratchBLE/ScratchBT files. Removed ScratchBT test code from Microbit extension. Renamed addLine to log.
* Fixed log comments. Removed addLine from Microbit.
* Adding auto-connect to Microbit at extension loading. Adding hack for displayText block to Scratch-Link.
* Resolved merge conflicts and brought in latest microbit extension example code.
* Updated microbit write tests for displayText and displaySymbol blocks. Some linting.
* Some linting and adding of BLE Characteristic consts.
* Linting fixes.
* Moving micro:bit device connection code all to the MicroBit class, decoupling Scratch3MicroBitBlocks from connection code.
* Removing old disconenct handlers from MicroBit class. Moved service into new BLEUUID data structure.
* Renamed _write to _send. Moved all BLE encoding concerns to the _send method.
* Using the util log. Some linting.
* Added _read method to MicroBit class. Renamed _send to _write.
* Some linting and formatting comments.
* First pass at peripheral chooser pattern for ScratchBLE.
* Testing characteristicDidChange events, and some changes to ScratchBLE on ready events.
* Refactoring work on PeripheralChooser and ScratchBLE.
* Some variable renaming and method signature stubs.
* Peripheral chooser method signatures.
* Moved base64 encoding/decoding to util. Some method signature formatting.
* Adding test stubs for new util and io classes.
* Adding test stub for MicroBit extension.
* Clean up for PR.
* Clean up for PR.
* Final cleanup for PR.
* Removed logging to console.
* Adding 'btoa' and 'atob' node modules and using them in Base64Util.
2018-06-18 14:56:51 -04:00
chrisgarrity
1e3907e922
Localize category labels
...
Added formatMessage to the name attribute for:
* music
* pen
* translate
* video motion
Skipped speak extension - trademarked name
Skipped extensions that are not yet localized at all.
2018-06-18 11:37:10 -04:00
Paul Kaplan
1dcd174dea
Add shareSound and shareCostume APIs with unit tests to the VM
2018-06-18 10:39:22 -04:00
kchadha
da30abbfb5
Merge pull request #1240 from kchadha/block-comment-disappearing-bugfix
...
Add comment id to block when converting from XML to vm representation.
2018-06-15 17:36:48 -04:00
Karishma Chadha
f3d49f75c8
Clean up comment serialization, add tests for new and old serialization (old is still valid, just more verbose).
2018-06-15 14:57:49 -04:00
Karishma Chadha
76b423e481
Make sure to set comment property of block when creating a new block via XML using the adapter. Update unit tests.
2018-06-15 13:58:03 -04:00
kchadha
29b79878bc
Merge pull request #1236 from kchadha/comment-save-load
...
Comment Save & Load
2018-06-14 18:42:19 -04:00
kchadha
529d271186
Merge pull request #1235 from kchadha/xml-escape-comments
...
XML escape comment text.
2018-06-14 14:46:02 -04:00
Karishma Chadha
e2eadbf603
Comment save and load.
2018-06-14 14:11:20 -04:00
Eric Rosenbaum
8c748cebb4
Merge pull request #1233 from ericrosenbaum/feature/extension-status-button
...
Add extension status button
2018-06-14 11:51:32 -04:00
Karishma Chadha
0d403d8e83
XML escape comment text.
2018-06-14 11:39:03 -04:00
Ray Schamp
f5234c777a
Merge pull request #1211 from mzgoddard/broadcast-and-wait-promise
...
yield a tick if broadcastandwait is waiting on threads waiting for a future tick
2018-06-13 15:58:37 -04:00
Eric Rosenbaum
c2b262ba97
Add status button to microbit extension
2018-06-13 15:53:05 -04:00
Eric Rosenbaum
7d0c45546c
Add extension status button XML
2018-06-13 15:52:51 -04:00
Paul Kaplan
bd80e4262d
Merge pull request #1231 from paulkaplan/reorder-tarrgets
...
Add top-level `reorderTarget` API to VM
2018-06-13 11:07:52 -04:00
Paul Kaplan
4b64df222a
Hoist target list assignment to simplify code.
2018-06-13 10:09:22 -04:00
kchadha
3308a7c6a2
Merge pull request #1229 from kchadha/imported-comment-positioning-fix
...
Update position for comments imported from 2.0 projects after auto-positioning.
2018-06-13 09:51:45 -04:00
Paul Kaplan
0ec0ea6ef7
Add reorderTarget API to VM
2018-06-13 09:20:22 -04:00
kchadha
b4891bb0d5
Merge pull request #1226 from towerofnix/costumename-vm
...
Implement "costume name" block
2018-06-12 18:50:46 -04:00
Florrie
c24e34d4e3
Remove unused getCostumeName function
2018-06-12 19:32:29 -03:00
Florrie
24c6338302
Map costumeName -> costumenumbername [name]
...
...instead of mapping to a new obsolete/hidden block 'costumename'.
Thanks to @kchadha for helping with this!
2018-06-12 19:27:36 -03:00
Karishma Chadha
5086eced15
Position for block comments imported from 2.0 should be updated when receiving a create event from scratch-blocks.
2018-06-12 17:10:16 -04:00
Michael "Z" Goddard
728769ea24
do not enumerate Blocks._cache
...
Do not stringify or enumerate Blocks._cache items.
2018-06-12 14:21:40 -04:00
Michael "Z" Goddard
05291aa254
turn reporter tree into instruction sequence
...
Turn the reporter tree execute walks into a sequence of block
functions. After calling a block function store the reported value in
the arguments object its depending block will use.
- Set the reported value on the thread. There is only ever one "just"
reported value, which is read and stored elsewhere after being
reported.
2018-06-12 14:21:40 -04:00
Michael "Z" Goddard
e0ec1ad08f
add id to block execute cache data
2018-06-12 10:05:54 -04:00
Michael "Z" Goddard
d161251a9b
yield a thread loop or tick in event_broadcastandwait
...
- yield a thread loop or tick in looks_switchbackdroptoandwait
If all threads broadcastAndWait is watching are "waiting" for a future
frame, yield until the next tick so event_broadcastandwait also defers
to a future frame.
2018-06-12 10:02:28 -04:00
Paul Kaplan
418c3837c6
Merge pull request #1209 from technoboy10/bugfix/gh-1135-bubble-edge
...
Check that bubble bounds do not extend past stage boundaries
2018-06-11 12:14:53 -04:00
Connor Hudson
244ffb38c4
Merge pull request #1218 from technoboy10/bugfix/gh-1165-monitor-import
...
Fix importing hidden monitors from Scratch 2 projects
2018-06-11 10:27:45 -04:00
Eric Rosenbaum
78074ec575
Merge pull request #1222 from picklesrus/speech-extension-icons
...
Speech extension icons
2018-06-11 09:50:42 -04:00
Connor Hudson
38756e1022
Update code comments to address PR feedback
2018-06-11 08:37:25 -04:00
Florrie
404834018b
Implement costume name block
2018-06-09 21:34:21 -03:00
picklesrus
97b8ec83bd
Ignore lint for the icons
2018-06-08 14:45:13 -07:00
picklesrus
6184c3ba12
Replace icons with version downloaded from https://material.io/tools/icons/?style=baseline
2018-06-08 14:42:46 -07:00
Connor Hudson
78da15c09c
Remove blocks.mode reference
2018-06-08 17:04:52 -04:00
Connor Hudson
a6629628cd
Use monitor show/hide monitor functions, remove incorrect block property references
2018-06-08 16:00:12 -04:00
Connor Hudson
0e394fc873
Add monitor show/hide functions, changed remove monitor to delete state
2018-06-08 15:59:35 -04:00
Eric Rosenbaum
173fb6127c
Merge pull request #1214 from ericrosenbaum/feature/when-touching
...
Add when touching hat
2018-06-07 15:26:09 -04:00
Connor Hudson
2cb276c476
Consolidate some logic in requestAddMonitor and requestUpdateMonitor
2018-06-07 15:18:45 -04:00
kchadha
3a61cac384
Merge pull request #1217 from kchadha/comment-state-fixes
...
Comment state fixes
2018-06-07 14:31:43 -04:00
Eric Rosenbaum
db7c56e08b
Change function name and comment for clarity
2018-06-07 14:12:23 -04:00
Connor Hudson
99dc46ba80
Add x, y to changeBlock function again after change to merge logic
2018-06-07 11:27:10 -04:00
Connor Hudson
833c27ef21
Remove debug comments, tweak logic for monitor data merging
2018-06-07 11:24:55 -04:00
Karishma Chadha
6bc04c4bef
Let comment change event handler multitask.
2018-06-07 11:04:03 -04:00
Paul Kaplan
db3fca17bc
Merge pull request #1204 from paulkaplan/reorder-apis
...
Add methods for reordering costumes and sounds
2018-06-07 10:54:15 -04:00
Ray Schamp
7de83bea07
Merge pull request #1215 from picklesrus/speech-extension-audiocontext
...
Add webkitAudioContext if AudioContext does not exist. This might fix…
2018-06-07 10:53:45 -04:00
Karishma Chadha
7b55d8e7ab
Undo change that moves block comment relative to block move.
2018-06-07 10:18:34 -04:00
Connor Hudson
13bf932fbb
Remove unnecessary arguments to requestAddMonitor
2018-06-07 10:11:15 -04:00
Karishma Chadha
d99a082952
CommentChange events now store text changes in an object with property text, instead of just a string.
2018-06-07 10:09:38 -04:00
picklesrus
391f47d100
Add webkitAudioContext if AudioContext does not exist. This might fix the speech extension in safari, but it is tricky to tell since I am running into problems with permissions and localhost.
2018-06-06 16:49:46 -07:00
Paul Kaplan
28f425d53e
Set costume directly, no updates are needed
2018-06-06 17:29:48 -04:00
Connor Hudson
77dda04228
Set visible: false instead of deleting state in requestRemoveMonitor
...
This potentially has performance implications, to be investigated later.
2018-06-06 17:14:09 -04:00
Eric Rosenbaum
1a72512a62
Moving touchingObject into rendered target
2018-06-06 16:34:58 -04:00
Connor Hudson
0d0543810f
Properly capture all variable monitor values on add
2018-06-06 16:00:59 -04:00
Connor Hudson
18640d7ddc
use mergeWith in requestAddMonitor, requestUpdateMonitor
...
So undefined values don't overwrite defined ones
2018-06-06 15:54:12 -04:00
Paul Kaplan
bf2879ee0b
Fix incorrect clamping
2018-06-06 15:01:02 -04:00
Eric Rosenbaum
431d4bd66b
Add when touching hat
2018-06-06 13:39:23 -04:00
Paul Kaplan
0cd50fbb2c
Propagate the return value of reorder functions, update comments
2018-06-06 11:13:30 -04:00
Eric Rosenbaum
332e90e408
Merge pull request #1208 from ericrosenbaum/feature/increase-pen-size
...
Increase maximum pen size to 1200
2018-06-06 10:16:15 -04:00
Michael "Z" Goddard
0a006dc981
add Runtime.isWaitingThread
...
Add a Runtime Thread helper to check if a thread is in a state where it
will not change at least until next frame. This includes any state
where the thread is done, as that will not change either.
2018-06-06 10:16:05 -04:00
Michael "Z" Goddard
9311a274d5
add BlockUtility.yieldTick
2018-06-06 10:16:05 -04:00
Michael "Z" Goddard
84705fc463
replace new Promise(r => r()) with Promise.resolve
...
Promise.resolve is a Promise convenience method that creates a promise
resolved to a given argument like creating a promise with a function
that immediately calls the resolve function with the given value.
2018-06-06 09:53:45 -04:00
Paul Kaplan
d6d72f6fa7
Use utility function for clamping
2018-06-06 09:43:54 -04:00
Paul Kaplan
1ebb736a2a
Check specifically for number in optional property
2018-06-06 09:43:54 -04:00
Paul Kaplan
837703d4ac
Make reorder functions return if a change occurred.
...
Gotta get that testing coverage percent up :)
2018-06-06 09:43:54 -04:00
Paul Kaplan
e6ebc33e9e
Add sound and costume reordering methods and tests to top-level API
2018-06-06 09:43:54 -04:00
Paul Kaplan
d3fd3ff806
Add reorderSound and unit test to rendered-target
2018-06-06 09:43:54 -04:00
Paul Kaplan
5fd5b30ccf
Add reorderCostume method and unit test to rendered target
2018-06-06 09:43:54 -04:00
Paul Kaplan
9fce4d40d0
Fix bug with zero adding a costume/sound at index 0
2018-06-06 09:43:54 -04:00
Andrew Sliwinski
c2645f3da5
Merge pull request #1210 from thisandagain/feature/polly
...
Add initial working version of the Amazon Polly extension
2018-06-05 18:35:38 -04:00
Andrew Sliwinski
bccdef0674
Future-proof opcode and fix issues with copied comments
2018-06-05 18:32:02 -04:00
Andrew Sliwinski
55b1a794ce
Add initial working version of the Amazon Polly extension
2018-06-05 17:51:55 -04:00
kchadha
1f209ad4e0
Merge pull request #1191 from kchadha/comment-events
...
Persist comment state.
2018-06-05 16:53:57 -04:00
Paul Kaplan
a11d1be3fc
Fix comments
2018-06-05 16:08:14 -04:00
Eric Rosenbaum
23c7df5751
Max pen size 1200
2018-06-05 15:59:14 -04:00
Connor Hudson
25290e7f6a
Check that bubble bounds do not extend past stage boundaries
...
For when you can't flip the bubble, but need it to remain on-stage
2018-06-05 15:58:03 -04:00
Karishma Chadha
644fab0135
Track block comment movement when block moves.
2018-06-05 15:40:19 -04:00
Karishma Chadha
7c5a2ae8e0
Add check that block associated with comment actually exists.
2018-06-05 15:17:28 -04:00
Karishma Chadha
d58bb8bcfb
Clean up optRuntime checks in blocklyListen
2018-06-05 15:13:03 -04:00
Karishma Chadha
2171cb69d0
No need to floor workspace coordinates in vm runtime.
2018-06-05 15:12:25 -04:00
Paul Kaplan
3a697ae0ac
Add top-level API for getting and setting variable values
2018-06-05 10:46:06 -04:00
Paul Kaplan
7b2f606316
Fix an issue where variable lookup would error if stage did not exist.
2018-06-05 10:45:51 -04:00
Eric Rosenbaum
ca6a7f9311
Merge pull request #1199 from picklesrus/speech-extension-loginfo
...
Add some log info with more information about the speech match so we …
2018-06-04 16:35:58 -04:00
picklesrus
e668a210a0
Add some log info with more information about the speech match so we can debug better.
2018-06-04 13:17:34 -07:00
Kreg Hanning
9055706333
Add check for invalid symbol
2018-06-04 15:22:12 -04:00
Kreg Hanning
94464f0a52
Update microbit extension for latest firmware
2018-06-04 14:52:52 -04:00
Karishma Chadha
522706ccf8
Persist comment state.
2018-06-01 18:10:25 -04:00
Eric Rosenbaum
294801c1f3
Merge pull request #1184 from ericrosenbaum/bugfix/sound-blocks-yield
...
Set/change sound effect and volume blocks yield until the next tick
2018-06-01 13:19:50 -04:00
Eric Rosenbaum
2348d55f14
Use promises to yield
2018-05-31 17:09:47 -04:00
Paul Kaplan
ac91d8af65
Merge pull request #1180 from kchadha/parse-sb2-comments
...
Import Comments from 2.0 Projects
2018-05-31 16:51:22 -04:00
Eric Rosenbaum
46f885fc03
Sound effect and volume blocks request redraw
2018-05-31 16:47:40 -04:00
Karishma Chadha
537dc9bcd5
Addressing PR comments.
2018-05-31 16:33:42 -04:00
Michael "Z" Goddard
4ceeebb257
Use src/index as browser entry point
...
Use src/index.js as the entry by default in tools building scratch-vm
into a larger package. This saves file space by excluding extra webpack
boilerplate and may allow for deeper optimizations.
Depend on script dependencies for downstream webpack. For another
package to build in scratch-vm's dependencies without them already
being built into a consumed webpack build they need to be listed as
dependencies. This can benefit large projects that reuse the same
dependencies multiple times. Node will still use the main entry point
and its webpack build leaves the dependencies as external references so
it may reuse common modules in Node as well as in a build a browser
environment.
2018-05-31 16:32:46 -04:00
Eric Rosenbaum
c9842ec3dc
Merge pull request #1121 from picklesrus/speech-extension-checkin
...
Initial version of the speech extension. There is certainly still so…
2018-05-31 15:35:09 -04:00
picklesrus
968eeaf936
Fix missing comma from bad merge.
2018-05-31 12:14:55 -07:00
Eric Rosenbaum
3e43786ef6
Default to a random language
2018-05-31 11:48:37 -04:00
Karishma Chadha
acd728dc2b
No more xml differentiation for 'scratch' type of comments.
2018-05-30 21:18:45 -04:00
Karishma Chadha
f079eb4bbd
Don't serialize x and y for sb2 comments so that they can be auto positioned.
2018-05-30 21:18:45 -04:00
Karishma Chadha
b0aa288916
Add info about minimized state to comment xml.
2018-05-30 21:18:45 -04:00
Karishma Chadha
1639444a4d
Fix lint and tests.
2018-05-30 21:18:45 -04:00
Karishma Chadha
1401d54add
Parse SB2 comments and attach block comments to the blocks they belong to. Send comment xml on workspace update so they can be rendered.
2018-05-30 21:15:14 -04:00
picklesrus
3a5051646f
Now fuzzymatchResult is unused so remove it too.
2018-05-30 13:22:07 -07:00
picklesrus
bb408b8673
Remove some code that set the utterance to the fuzzy match result
2018-05-30 13:22:07 -07:00
picklesrus
e72ea04c10
Move the add event listener code to be in the same place where we call connect so there is only one place to do it.
2018-05-30 13:22:07 -07:00
picklesrus
ef142107a6
Remove the event listener for processing audio at the same time that we disconnect the script node. At this point we are closing the web socket and do not want to process more of the microphone data even if it is already in flight. Also add it back when we resume listening instead of just at init time.
2018-05-30 13:22:07 -07:00
picklesrus
ffced16b95
Fix a copy/paste comment error and initialize current_utterance differently
2018-05-30 13:22:07 -07:00
picklesrus
a2eee6a1dd
Change name of opcode to speech_ from speech.Plus, remove old comment.
2018-05-30 13:22:07 -07:00
picklesrus
adf5d0acfd
Add speech extension to the extension manager.
2018-05-30 13:22:07 -07:00
picklesrus
250570e0ed
Use arraybuffer-loader instead of buffer-loader to load the start and end sounds. The music extension switched to this a few days ago.
2018-05-30 13:20:38 -07:00
picklesrus
e7987a6a4c
Initial version of the speech extension. There is certainly still some stuff to figure out but the core of it is here.
2018-05-30 13:20:38 -07:00
Eric Rosenbaum
057e89b1e0
Merge pull request #1178 from picklesrus/translate-language-reporter-block
...
Add language reporter block to translate extension
2018-05-30 10:25:22 -04:00
picklesrus
123edcb913
remove stray space
2018-05-29 15:14:38 -07:00
picklesrus
e2f6dfd29f
- Update the reporter to return the human readable language.
...
- Remove the non-final icons and replace with a TODO.
- Add messages for the text in the blocks.
2018-05-29 15:06:38 -07:00
picklesrus
f615e9191a
Add language reporter block to translate extension
2018-05-28 11:58:17 -07:00
DD
7874ea9b1a
Allow rotation centers with zeros
2018-05-25 16:54:54 -04:00
kchadha
a85f641d25
Merge pull request #1148 from kchadha/stage-layering
...
Layer group ordering.
2018-05-25 09:10:05 -04:00
Chris Willis-Ford
b3db00fab7
Merge pull request #1154 from vincentbriglia/issue1552
...
Allow override of icons per block
2018-05-25 01:10:57 -07:00
Chris Willis-Ford
eae258cce6
Merge pull request #1153 from vincentbriglia/issue1551
...
Add option for Extensions to have different colour
2018-05-25 01:07:20 -07:00
DD Liu
13d277e7c8
Merge pull request #1164 from fsih/bgOffset
...
Always give backdrops a certain rotation center
2018-05-24 16:54:01 -04:00
Ray Schamp
3b49f45b9a
Merge pull request #1160 from Kenny2github/patch-1
...
Round (x position) and (y position) to 8 places
2018-05-24 13:58:16 -04:00
Paul Kaplan
02041c8218
Merge pull request #1163 from paulkaplan/username-stub
...
Add logged out version of username block
2018-05-24 13:29:47 -04:00
Eric Rosenbaum
b052205457
Merge pull request #1162 from ericrosenbaum/feature/emit-keyboard-events
...
Runtime emits key pressed event
2018-05-23 17:04:05 -04:00
Eric Rosenbaum
3cdc9765a8
Translation extension imports translated language names ( #1159 )
...
* wip
* wip
* Get viewer language code, and cleanup
* Revert "wip"
This reverts commit 6598738ed2
.
# Conflicts:
# src/extensions/scratch3_translate/index.js
2018-05-23 17:00:59 -04:00
DD Liu
10aa6979ed
Multiply by bitmap resolution
2018-05-23 14:18:22 -04:00
DD Liu
85689201ed
Always give backdrops a certain rotation center
2018-05-23 14:06:23 -04:00
Paul Kaplan
c5cc129821
Add logged out version of username block
2018-05-23 11:30:12 -04:00
Eric Rosenbaum
508ac91b82
Runtime emits key pressed event
2018-05-22 17:24:22 -04:00
Paul Kaplan
b7e40c9735
Merge pull request #1147 from paulkaplan/fix-say-hide
...
Fix say bug with show/hide
2018-05-22 14:49:50 -04:00
Ken
5af6887cfe
Round (x position) and (y position) to 8 places
2018-05-22 12:46:22 +08:00
DD Liu
8c0f5a71f0
Merge pull request #1149 from fsih/compatMode
...
Pass in argument to indicate compat mode
2018-05-21 15:03:27 -04:00
Karishma Chadha
5e40bfb7ee
No more explicit layer groups, and separate extension into video and pen.
2018-05-20 22:30:20 -04:00
Karishma Chadha
38875bc65c
Bubbles should be in the same layer as sprites. Other cleanup.
2018-05-20 19:49:42 -04:00
Karishma Chadha
64c8484066
Refactor so that layer group is optionally passed into createClone (and initDrawable) instead of isStage property getting stored on a sprite.
2018-05-18 10:11:59 -04:00
Vincent Briglia
0c8662bc23
Allow override of icons per block
2018-05-17 15:27:24 +02:00
Vincent Briglia
76ce7d6fe6
add option to override colours
2018-05-17 15:25:20 +02:00
Karishma Chadha
e2ce047fa1
Test and lint fixes.
2018-05-16 16:00:50 -04:00
Karishma Chadha
67b114b9c9
Layer group ordering.
2018-05-15 22:22:44 -04:00
Paul Kaplan
c18d5faafb
Make sure to set the bubble to blank when hiding
2018-05-15 14:38:42 -04:00
Kreg Hanning
82fd6f0d2f
Add micro:bit Scratch 3.0 extension ( #1113 )
...
* Add micro:bit Scratch 3.0 extension
* Fix lint errors in micro:bit extension
* Fix doc. Incorrect return type
* Check for valid pin in when pin connected block
* Drop mapping function
* Drop question mark from tilt hat block
* Generate list of symbols from object keys
* Trim display text block to max 20 characters
2018-05-14 13:52:49 -04:00
Eric Rosenbaum
846f212110
Merge pull request #1138 from picklesrus/develop-translate-changes
...
Update the format of the language menu to match the changes made to d…
2018-05-11 17:14:13 -04:00
Eric Rosenbaum
b5395fbc3e
Merge pull request #1140 from picklesrus/extension-manager-translate
...
Add translate extension to the extension manager.
2018-05-11 17:11:57 -04:00
DD
78e17b4842
Pass in argument to indicate compat mode
2018-05-11 14:24:07 -04:00
Ray Schamp
1934fd427a
Revert "Dynamically load music extension manifest"
2018-05-11 11:04:43 -04:00
picklesrus
37e5c638c1
Add translate extension to the extension manager.
2018-05-10 13:42:23 -07:00
picklesrus
720cc820cd
Update the format of the language menu to match the changes made to deal with translations. This allows the menu to pass through the maybeFormatMessage code correctly.
2018-05-10 13:20:24 -07:00
Eric Rosenbaum
bdda3bc2c9
Add extension id to toolbox category XML
2018-05-10 15:41:44 -04:00
Paul Kaplan
b7f3a06fa0
Merge pull request #1133 from paulkaplan/show-hide-vars
...
Add implementations for hiding and showing variables and lists.
2018-05-10 15:34:21 -04:00
Andrew Sliwinski
0b7aa6ddf6
Merge pull request #1136 from thisandagain/feature/localize
...
Add localization support to music and video sensing extensions
2018-05-10 15:27:37 -04:00
Andrew Sliwinski
3eefddcde2
Fix typo and add clarification to translation note
2018-05-10 15:25:55 -04:00
Andrew Sliwinski
d5705f6eae
Fix typo
2018-05-10 13:58:09 -04:00
DD Liu
5c003641f9
Merge pull request #1126 from fsih/fixQuirksOnLoadCostume
...
Run quirks mode fixes on costumes loaded from sb2s
2018-05-10 13:42:48 -04:00
Andrew Sliwinski
1995753e94
Add localization support to music and video sensing extensions
2018-05-10 13:41:41 -04:00
DD
589dd7d5e0
Attach the svg renderer instead of providing it in order to fix VM tests
2018-05-10 12:03:38 -04:00
DD
aae1e083bc
Switched textEncoder to costumeAsset.encodeTextData, and pass in version as an argument instead of in costume
2018-05-09 15:48:49 -04:00
Paul Kaplan
47e2264eba
Add opcodes for hiding and showing variables and lists.
...
Note: to get them back into the toolbox, we need to change that in blocks.
2018-05-09 14:25:15 -04:00
Paul Kaplan
f3404f4275
Merge pull request #1128 from paulkaplan/sb2-monitors
...
Import monitors from sb2 files.
2018-05-09 13:52:29 -04:00
Paul Kaplan
6c9ecd9065
Return a new copy of the list for monitors when changes occur
2018-05-09 13:42:53 -04:00
Paul Kaplan
7d0121bc44
Return lists as arrays if running for monitors.
...
This is a strange quirk of the way the list blocks work, they get joined into a string for interoperability within other other scratch blocks. But for monitors, we need it to stay an array.
2018-05-09 12:24:01 -04:00
Paul Kaplan
36a01cf0cb
Fix clearing monitor state
2018-05-09 12:06:24 -04:00
Paul Kaplan
6793349898
Do not stringify reported monitor values.
...
Consulted @fsih, should be fine since formatting is being handled in the GUI anyway.
2018-05-09 11:39:14 -04:00
Paul Kaplan
cc1314d289
Clear out monitor state on vm.clear
...
Fixes https://github.com/LLK/scratch-gui/issues/1848
2018-05-09 11:34:01 -04:00
Paul Kaplan
f01558b74e
Address comments from @kchada review
2018-05-09 11:08:49 -04:00
Paul Kaplan
9e372916a8
Add comment about sensing block id oddness
2018-05-09 10:52:00 -04:00
kchadha
cf8ad388de
Merge pull request #1122 from Kenny2github/develop
...
Handle random backdrop menu option
2018-05-09 10:12:05 -04:00
Kenny2github
8e9f9e0a30
Add one to index if random costume is current costume
2018-05-09 08:13:04 +08:00
DD
b9ce26918d
Fix review comments
2018-05-08 18:30:52 -04:00
Paul Kaplan
13dfef553e
Fix default value for monitor record
2018-05-08 17:30:39 -04:00
Paul Kaplan
26cfbfe588
Fix stage checking
2018-05-08 17:15:54 -04:00
Paul Kaplan
4713f47fb7
Import monitors from sb2 files.
...
Paired with @kchadha on all of this.
2018-05-08 17:06:19 -04:00
DD
928245d5c9
Fix Edge
2018-05-08 14:25:32 -04:00
DD
296af1a079
Run quirks mode fixes on costumes loaded from sb2s
2018-05-08 12:03:34 -04:00
Ray Schamp
22852aeab4
Merge pull request #1119 from mzgoddard/recycle-args
...
Recycle block args
2018-05-08 12:00:29 -04:00
Ray Schamp
b657d6a50f
Merge pull request #1118 from mzgoddard/recycle-stack-frame
...
Add Thread.StackFrame class
2018-05-08 09:04:16 -04:00
Kenny2github
3f1c4aa2d8
thought I was being smart by using inline assignment, but noooooo
2018-05-08 08:27:51 +08:00
Kenny2github
e3b7f53319
Make sure switched costume is not current costume
2018-05-08 08:21:27 +08:00
Michael "Z" Goddard
8107349bec
Comment BlockCached
2018-05-07 15:32:31 -04:00
Michael "Z" Goddard
2db2287d12
BlockCached instances are always initialized
2018-05-07 15:32:30 -04:00
Michael "Z" Goddard
5fd749918f
Reuse argValues
...
Block args set by fields are static and never change. Inputs that do
change are always set onto args. With these two assumptions we can
reuse the same objects for each execution of the same block instead of
constantly creating them and letting them be garbage collected.
2018-05-07 15:32:30 -04:00
Michael "Z" Goddard
9b82530f51
Use a constructor to create the execute cache objects
2018-05-07 15:32:30 -04:00
Michael "Z" Goddard
0634e962a8
Add Thread.StackFrame class
...
Use a private StackFrame class to help internally manage use of Stack
Frame values and memory. Create params, reported, and executionContext
on demand.
2018-05-07 11:20:26 -04:00
Kenny2github
4419014421
Handle random backdrop
2018-05-05 18:25:18 +08:00
Michael "Z" Goddard
ff7b575114
Dynamically load music extension manifest
2018-05-04 15:47:48 -04:00
kchadha
16c6868779
Merge pull request #1110 from kchadha/sprite-upload
...
Support for Sprite Upload
2018-05-04 14:56:31 -04:00
Karishma Chadha
3db2083294
Address PR comment.
2018-05-04 14:48:29 -04:00
Karishma Chadha
8cdc9dc2cd
Updating vector should make bitmap resolution 1.
2018-05-04 14:39:20 -04:00
Karishma Chadha
0156dd139d
Do not delete bitmap resolution property when vector is edited because there are other things that still rely on it.
2018-05-04 13:37:07 -04:00
Karishma Chadha
9b1aa7d7c7
Move comments
2018-05-04 11:00:45 -04:00
Karishma Chadha
55352e88b1
Tests and cleanup of addSprite3 so that .sprite3 format does not need to be nested inside an extra {targets: ...}
2018-05-04 11:00:45 -04:00
Karishma Chadha
9cc34d7406
Fix attribute of block so that it doesn't have errors if referenced target doesn't exist.
2018-05-04 11:00:45 -04:00
Karishma Chadha
adf7571851
Add API to generically validate and add sprite based on validation results.
2018-05-04 11:00:45 -04:00
Michael "Z" Goddard
8e252f2d7d
Use arraybuffer-loader in place of buffer-loader
2018-05-03 18:58:59 -04:00
Eric Rosenbaum
4cee734cde
Merge pull request #1008 from towerofnix/itemnum-vm
...
Implement "item # of (thing) in (list)" block
2018-05-03 18:08:31 -04:00
Eric Rosenbaum
9979391200
Merge pull request #1085 from ericrosenbaum/feature/key-droppability
...
Re-write keyboard IO for droppability support
2018-05-03 11:10:24 -04:00
Eric Rosenbaum
49802688dd
Move key name strings to top
2018-05-02 15:34:17 -04:00
Eric Rosenbaum
23dd898daf
Use obj.map (can’t use obj.values)
2018-05-02 09:52:04 -04:00
DD Liu
5e6873628e
Merge pull request #1082 from fsih/updateBitmap
...
Add updateBitmap function. getCostume can now serve bitmaps as well as svgs
2018-05-01 17:05:34 -04:00
kchadha
54ee628b27
Merge pull request #1099 from towerofnix/scrollcompat-vm
...
"Implement" scroll blocks
2018-05-01 15:52:42 -04:00