Commit graph

1636 commits

Author SHA1 Message Date
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