-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
Extensionification!
Goals
- All blocks in Scratch 3.0 should be entirely defined within
scratch-vm. Adding a new block should not require modifications inscratch-guiorscratch-blocks. - All blocks in Scratch 3.0 should be implemented in the same way. We should not maintain two (or more) different ways to define blocks.
- The extension system should be enhanced such that it becomes powerful enough to implement every existing Scratch 3.0 block.
Tasks
- Supporting features
- Extensions should be able to place buttons in the toolbox
- Extension blocks should refresh when changing targets
- Extension blocks should refresh on certain actions (create/update/delete variable, list, procedure, message, etc.)
- Extensionified categories can be interleaved with categories defined in
scratch-gui'smakeToolboxXML
- Serialization
- Existing SB3 files, including those containing variables, lists, or custom procedures, can be loaded correctly when those categories are extensionified.
- An SB3 file saved with extensionified variables, lists, or custom procedures can be loaded correctly in an older editor (esp. Scratch Desktop).
- Categories
- Motion
- Looks
- Sound
- Events (including
broadcast _& friends) - Control (including
stop _) - Sensing (including
_ of _) - Operators
- Variables
- My Blocks
apple502j, towerofnix, knandersen, CruScanlan, Kenny2github and 7 moreapple502j, towerofnix, knandersen, CruScanlan, Kenny2github and 5 moreapple502j, towerofnix, knandersen, CruScanlan, Kenny2github and 5 moreapple502j, towerofnix, knandersen, CruScanlan, Kenny2github and 5 more