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
Karishma Chadha
59a865ef47
Create a new addTarget
function on the runtime which populates the targets list as well as the executable targets list.
2019-01-14 11:48:11 -05:00