Karishma Chadha
c5879633d5
Make ArgumentTypeMap clearer now that there is an image field which is not technically an argument. Make the color picker consistent with the other arguments so that an extension developer can specify a default color if they wish. Add docs to document this.
2019-09-27 11:04:03 -05:00
Karishma Chadha
6afbe192d8
Log a warning if dataURI
property is missing from image argument specification in extension info. Default to empty string if dataURI or alt are not provided.
2019-09-20 16:56:02 -07:00
Karishma Chadha
167f502edc
Add comment for flipRTL property.
2019-09-20 16:02:18 -07:00
Karishma Chadha
7129f8c4a9
Add support for specifying that whether or not the image should be flipped in an RTL language.
2019-09-20 15:47:33 -07:00
Karishma Chadha
21430a5366
Add support for image argument type in extensions. Add example in core example extension.
2019-09-20 15:19:14 -07:00
Karishma Chadha
c499106f85
Revert "Raise params to the next frame when pushing"
2019-07-22 12:59:48 -04:00
Karishma Chadha
9ba9732e8a
Merge pull request #2145 from mzgoddard/raise-params
...
Raise params to the next frame when pushing
2019-07-17 16:12:37 -04:00
Karishma Chadha
aae7607e10
fix extension dropdown menu item conversion
2019-06-18 21:03:17 -07:00
Chris Willis-Ford
eba89d57d8
Merge branch 'develop' into non-droppable-extension-menus
2019-06-18 16:52:47 -07:00
Karishma Chadha
9af2e4c086
Merge pull request #2161 from LLK/e16n
...
Supporting VM changes for extensionification
2019-06-18 18:53:20 -04:00
Christopher Willis-Ford
fd776025e5
refactor _refreshExtensionPrimitives for clarity
...
The previous form made it harder to see that at most one extension
category is handled per call.
2019-06-18 15:08:03 -07:00
Christopher Willis-Ford
3c28f714bb
respond to code review
2019-06-17 21:14:21 -07:00
Chris Willis-Ford
18b1551cdb
remove redundant check
...
Co-Authored-By: Karishma Chadha <kchadha@media.mit.edu>
2019-06-17 13:22:52 -07:00
Christopher Willis-Ford
3fbed88a95
switch from rejectReporters
flag to acceptReporters
...
Also add more extensive documentation around extension menu definitions,
including some considerations to think about before making a menu accept
reporters.
2019-06-14 12:29:32 -07:00
Christopher Willis-Ford
e7bf49c8df
support non-droppable menus in extensions
2019-06-14 12:29:32 -07:00
Michael "Z" Goddard
e1254bd8c7
elevate stack block id and frame info into thread
...
- Add pointer member to thread. This is the current executing block.
- Add stackFrame member to thread. This is the current frame
information like procedure parameters.
This is a step potentially towards stack-less threads. With further
modifications we could have stack and stackFrames be null if a script
does not call a procedure.
2019-06-03 18:13:01 -04:00
Michael "Z" Goddard
ffcd0e6518
remove empty procedure_definetion block
...
The engine supports blocks that do not have defined functions.
2019-06-03 15:49:11 -04:00
Paul Kaplan
5e626eb7e9
Initial prototype of configurable scratch link socket
2019-05-24 12:51:58 -04:00
Karishma Chadha
14d2820460
Merge pull request #1648 from mzgoddard/stop-all-next-tick
...
Stop all next tick
2019-05-15 11:25:15 -04:00
Karishma Chadha
39f15d3699
Update comment for new extension update event
2019-04-25 11:36:31 -04:00
Karishma Chadha
92a73fef55
Add a runtime event to track when the toolbox extension blocks need updating.
2019-04-24 11:28:02 -04:00
Christopher Willis-Ford
91f0d59be0
fix extension block color application
2019-04-23 12:31:31 -07:00
Christopher Willis-Ford
a27ea76d25
add "scratch_extension" only if a block has an icon
2019-04-22 17:47:31 -07:00
Christopher Willis-Ford
107e49245f
adjust getBlocksXML to return categories separately
...
before: getBlocksXML returns one big XML string
after: getBlocksXML returns an array of {id,xml}, one entry per category
2019-04-22 12:32:52 -07:00
Christopher Willis-Ford
0247447792
embed extension blockInfo into block XML
2019-04-22 09:53:05 -07:00
Christopher Willis-Ford
bd1aaecdf3
add category info to extension add & update events
2019-04-19 16:06:11 -07:00
Michael "Z" Goddard
548e28480a
add BlocksRuntimeCache; rewrite startHats
2019-04-19 13:22:22 -04:00
Michael "Z" Goddard
c3f9e0945b
determine _pushThread defaults without Object.assign
2019-04-19 13:22:20 -04:00
Christopher Willis-Ford
a308b1e02f
use xmlEscape instead of escape-html for extensions
2019-04-17 16:48:58 -07:00
Karishma Chadha
23136ad9c3
Revert "Cache hat block information for the runtime"
2019-04-17 16:05:24 -04:00
Karishma Chadha
a984d1ae9d
Merge pull request #1930 from mzgoddard/runtime-script-cache
...
Cache hat block information for the runtime
2019-04-17 15:55:47 -04:00
Michael "Z" Goddard
39b18fedde
stop all removes threads from future execution
...
Stop all does not **stop** all threads. It stops the active thread and
removes all other threads from executing in the future.
2019-04-11 14:42:10 -04:00
Christopher Willis-Ford
9eef05a7c5
Use new Scratch-specific callback keys for extension buttons
2019-04-02 22:47:26 -07:00
Christopher Willis-Ford
d59c6a0b73
Fix missing arg for extension block separators
2019-04-02 15:23:48 -07:00
Christopher Willis-Ford
bed54bae1f
Allow extensions to make buttons
2019-04-01 18:09:09 -07:00
Katie Broida
445ee46984
Merge pull request #1943 from ktbee/clock-timer-compat-fix
...
Start executing hats before other threads change values
2019-03-29 13:01:28 -04:00
Katie Broida
2a60391fb4
Make Scratch 3 project timer more compatible with Scratch 2 currentMSecs usage
...
These compatibility changes:
- Use runtime.currentMSecs for the Clock timer "now" value
- Start executing hats before other threads change values
- Update test and fixtures to work with earlier hat execution
- Add test for hat execution block order
2019-03-29 11:43:37 -04:00
Michael "Z" Goddard
96f3e3414e
add BlocksRuntimeCache; rewrite startHats
2019-03-12 17:09:59 -04:00
Katie Broida
cff1c2c0a4
Merge pull request #1959 from ktbee/declare-const-once
...
Declare const once to be reused in for loop
2019-02-25 15:57:52 -05:00
Michael "Z" Goddard
84de5cdc7e
determine _pushThread defaults without Object.assign
2019-02-22 15:56:34 -05:00
Karishma Chadha
59f58b0284
Merge pull request #1933 from ErikMejerHansen/feature/field_type_support
...
Feature/field type support
2019-02-12 09:59:22 -05:00
Karishma Chadha
dfcd09fedc
Stop emitting project changes within 'runtime._step()'. Emit project changes in scenarios that were previously taking advantage of runtime._step()
2019-01-30 10:59:25 -05:00
Karishma Chadha
a9cf509a55
Merge pull request #1941 from kchadha/add-runtime-to-blocks
...
Add reference for `runtime` to blocks container
2019-01-30 10:57:45 -05:00
Katie Broida
356a4e7880
Declare const once to be resused in for loop
2019-01-29 10:47:54 -05:00
Erik Mejer Hansen
c750957465
Convert lint breakage
2019-01-24 13:21:46 +01:00
Karishma Chadha
e5723e299a
Add runtime to blocks container since it was getting passed in everywhere where it was being referenced. Update calls to blocks constructor.
2019-01-23 18:18:38 -05:00
Erik Mejer Hansen
ceaa3c7857
Add support extensions to define custom field types.
...
This is done by adding a new element "customFieldTypes" to the extension info structure. Ex:
```
customFieldTypes: {
angleField: {
implementation: { fromJson: options => new AngleField(options) },
output: 'number',
outputShape: 2,
}
}
```
Field types are defined by an implementation that has to match what is expected by ScratchBlocks.Field.register and its output and shape.
src/engine/runtime.js has been updated to handle the new "customFieldTypes"-field:
- Existing (global) field types cannot be overridden
- New fields are "namespaced" to the extension in the same way as opcodes are.
Once the custom field type has been picked up by scratch-vm a "EXTENSION_FIELD_ADDED" event is emitted.
It is then up to the hosting app to call ScratchBlocks.Field.register to register the field type with ScratchBlocks. Ex:
```
vm.addListener('EXTENSION_FIELD_ADDED', fieldInfo => {
this.ScratchBlocks.Field.register(fieldInfo.name, fieldInfo.implementation);
});
```
2019-01-20 21:24:32 +01:00
Evelyn Eastmond
7831256044
Change event names to be more descriptive. Fix some typos.
2019-01-16 20:17:19 -05:00
Evelyn Eastmond
7ec9494804
Making corrections based on discussion with ericr.
2019-01-16 15:54:38 -05:00
Evelyn Eastmond
156b1bc21a
Adding new runtime event for intentional peripheral disconnects.
2019-01-16 15:22:58 -05:00