Commit graph

982 commits

Author SHA1 Message Date
Christopher Willis-Ford
6320fd72c3 Add test for clone cleanup
This new test verifies that clones and their associated threads are
cleaned up properly by the `delete this clone` block. The clones run two
stacks each: one which waits and then deletes the clone, and another
which includes a `forever` loop: this is to verify that the thread
running the `forever` loop is ended when the clone itself is deleted.
The project does this with two batches of clones to ensure there are no
problems with reusing array indices previously occupied by now-removed
threads or clones.
2017-06-08 11:16:29 -07:00
Christopher Willis-Ford
454082b569 Improve cleanup on clone disposal
The `dispose()` method on `RenderedTarget` now:
- informs the runtime that it should end any threads corresponding the
  target being disposed, and
- removes the clone from its sprite.
2017-06-07 17:05:24 -07:00
Chris Willis-Ford
d41997b58b Merge pull request #556 from cwillisf/wedo2-blocks
Add WeDo 2.0 blocks
2017-06-07 09:57:36 -07:00
Ray Schamp
ecf535f4c3 Merge pull request #579 from cwillisf/load-jpeg-backdrops
Specify dataFormat when loading asset for import
2017-06-02 09:06:37 -04:00
Ray Schamp
467b747283 Bump scratch-storage version
Now 0.2.0 is the lowest compatible version.
2017-06-02 08:57:21 -04:00
Ray Schamp
adcd225598 Merge pull request #584 from rschamp/nit/no-useless-call
Fix no-useless-call todo
2017-06-01 09:48:58 -04:00
DD Liu
d3d82bae69 Merge pull request #574 from fsih/immutableState
Only send update monitor events when changes happen
2017-05-30 12:38:09 -04:00
Ray Schamp
b810b7be0a Merge pull request #583 from rschamp/bugfix/save-clones-bad
Don't serialize clones when saving
2017-05-30 10:24:52 -04:00
DD Liu
875eba568b fix file name in test 2017-05-30 10:24:09 -04:00
DD Liu
55f677702a add missing file 2017-05-30 10:05:13 -04:00
Paul Kaplan
51928bac65 Merge pull request #581 from paulkaplan/feature/variable-persistence
Add variable creation and variable serialization
2017-05-30 09:26:37 -04:00
DD Liu
809760b954 Merge branch 'develop' into immutableState 2017-05-26 13:50:50 -04:00
Paul Kaplan
3e9dfde43f Merge pull request #576 from paulkaplan/feature/monitor-labels
Send monitor opcode and block params instead of fixed label/categories
2017-05-26 11:07:58 -04:00
Paul Kaplan
77cc01a38a Add variable creation and variable serialization 2017-05-25 11:44:49 -04:00
Christopher Willis-Ford
cbfbc5d600 Convert motor duration: seconds -> milliseconds
The block takes seconds, whereas the device takes milliseconds. Turning
on a motor for 1 millisecond isn't very dramatic.
2017-05-24 16:40:55 -07:00
Christopher Willis-Ford
06fe701624 Implement WeDo 2.0 blocks 2017-05-24 16:40:55 -07:00
Christopher Willis-Ford
2625529ebe Create WeDo 2.0 device communication classes 2017-05-24 16:40:55 -07:00
Christopher Willis-Ford
eb931fd99b Specify dataFormat when loading asset for import
When importing a project we know the file extension for each asset to be
loaded. This change provides that information to the storage system so
that we can load assets which don't use the default. For example, this
allows loading JPG-format backdrops.

In support of this change, there's a new function on `StringUtil` called
`splitFirst`, which splits a string on the first instance of a separator
character. This change includes unit tests for this new function.
2017-05-24 15:35:10 -07:00
Chris Willis-Ford
3970883e45 Merge pull request #549 from cwillisf/device-manager-client
Device manager client
2017-05-24 14:43:28 -07:00
DD Liu
18282fc1d0 remove get for records 2017-05-24 16:33:22 -04:00
DD Liu
2867b5c331 add record file 2017-05-24 15:43:12 -04:00
DD Liu
5df3d4ab68 Merge branch 'develop' into immutableState 2017-05-24 15:42:54 -04:00
DD Liu
1902848ea4 Switch to ordered maps of monitor records for monitor state 2017-05-24 15:42:29 -04:00
Paul Kaplan
df9230a0ff Make helper private 2017-05-23 09:55:42 -04:00
DD Liu
acdc783f27 emit immutable 2017-05-22 17:31:53 -04:00
Andrew Sliwinski
b39de6722f Merge pull request #575 from TheBrokenRail/patch-32
Fix SB2 Imports
2017-05-22 13:47:37 -07:00
Paul Kaplan
a118ad1ac9 Merge pull request #569 from paulkaplan/feature/delete-costume-sounds
Add public API for deleting costumes and sounds
2017-05-22 15:19:20 -04:00
Paul Kaplan
5973e2d305 Add reporting for block params 2017-05-22 15:18:48 -04:00
Paul Kaplan
817ea47e32 Remove XY from monitor reporting 2017-05-22 14:40:07 -04:00
Paul Kaplan
144a0b349d Change monitor reporting from category and label to opcode 2017-05-22 13:38:29 -04:00
Paul Kaplan
3eaec99e51 Always activate the current costume after deleting 2017-05-22 08:17:28 -04:00
Paul Kaplan
423da12c3c Handle more cases of deleting costumes 2017-05-22 08:17:28 -04:00
Paul Kaplan
30a0c0d251 Allow deleting the last sound 2017-05-22 08:17:28 -04:00
Paul Kaplan
a608ca4fed Make rendered targets in charge of deleting their own sounds and costumes 2017-05-22 08:17:28 -04:00
Paul Kaplan
71081502fe Add to the vm spec 2017-05-22 08:17:28 -04:00
Paul Kaplan
73cb823199 Add delete costume and sound functions to the vm public api 2017-05-22 08:17:28 -04:00
TheBrokenRail
5b81c8b087 Update sb2_specmap.js 2017-05-21 12:26:16 -04:00
DD Liu
48c51ab2ec switch to nested immutables state 2017-05-19 17:28:00 -04:00
DD Liu
66c8d9550d add dep to package.json 2017-05-19 12:42:37 -04:00
DD Liu
9645a513b1 Only send monitor update on change 2017-05-19 12:28:05 -04:00
DD Liu
e9c48d250b Merge pull request #560 from fsih/updateMonitorsAction
Fire update monitors action for checked monitors
2017-05-18 17:05:37 -04:00
DD Liu
adc60001ee Merge branch 'develop' into updateMonitorsAction 2017-05-18 16:50:34 -04:00
Paul Kaplan
745a81ef96 Merge pull request #573 from paulkaplan/fix-sprite-renames
Fix sprite rename incrementing when renamed to itself
2017-05-18 15:40:11 -04:00
Paul Kaplan
597de3b741 Merge pull request #568 from paulkaplan/hotfix/emit-update-on-add
Fix update emitting for new costumes
2017-05-18 11:06:56 -04:00
Paul Kaplan
beaef901a7 Add failing test for gui issues 370
Fix rename increment when renamed to itself
2017-05-18 09:13:31 -04:00
Ray Schamp
cf188bc5e4 Don't serialize clones when saving 2017-05-18 02:07:35 +09:00
Paul Kaplan
2c4361b830 Fix refreshTargets race condition 2017-05-16 09:20:52 -04:00
Ray Schamp
548aa6dd70 Fix no-useless-call todo
The linter is correct that `devObject[func].call(devObject, args)` is unnecessary because it's equivalent to `devObject[func](args)`.

@tmickel probably either meant to allow passing an array of arguments to be applied, or to call the function with the provided argument. Since we probably want to be able to use multi-argument functions, use `apply` and fix the one place that uses `ioQuery` with an argument.
2017-05-15 21:11:38 -07:00
DD Liu
f1208720f6 restore things lost in bad merge 2017-05-15 16:25:34 -04:00
DD Liu
65d998f473 attach issue to todo 2017-05-15 10:47:36 -04:00