Description
Since the Scratch foundation has redone scratch-blocks based on the latest version of Blockly, the scratch-blocks used by clipcc are outdated and need to be upgraded urgently.
Proposed Changes
- Once scratchfoundation has officially completed their work, replace the existing clipcc-block with the new scratch-blocks and update the associated toolchain.
- Re-applying clipcc changes based on the new code base.
- Use raw-loader to load CSS of blockly.
Related upstream branch
https://github.com/scratchfoundation/scratch-gui/tree/spork
https://github.com/scratchfoundation/scratch-vm/tree/spork
https://github.com/scratchfoundation/scratch-blocks/tree/spork
https://github.com/scratchfoundation/scratch-editor/tree/spork
Related Pull Requests
Todo Lists
-
Core Features
-
Blocks
-
Toolbox
-
Fields
-
Developer Enhancements
-
Compatibility Issues
-
Integration
-
Other Plans
Warnings Related to Blockly
- Blockly.Workspace.getAllVariables was deprecated in v12 and will be deleted in v13. Use Blockly.Workspace.getVariableMap().getAllVariables instead.
- Blockly.utils.style.getSizeWithDisplay() was deprecated in v11.2 and will be deleted in v13.
Description
Since the Scratch foundation has redone scratch-blocks based on the latest version of Blockly, the scratch-blocks used by clipcc are outdated and need to be upgraded
urgently.Proposed Changes
Related upstream branch
https://github.com/scratchfoundation/scratch-gui/tree/spork
https://github.com/scratchfoundation/scratch-vm/tree/spork
https://github.com/scratchfoundation/scratch-blocks/tree/spork
https://github.com/scratchfoundation/scratch-editor/tree/spork
Related Pull Requests
Todo Lists
Core Features
✨ feat(block): Scratch-styled comments #90
Blocks
Insertion marker should shown as Scratch #88
Toolbox
Solution: Override
setMetrics_to update selected category.Fields
Blockly.getMainWorkspacein initView (in FieldMatrix) since mainWorkspace hasn't set when initializing the toolbox. (scratch-blocks spork may also meet the issue)Solution: Add
FieldMatrix.getWorkspaceOptionto get correct workspace.matrixhas the color of pen, it is not a good solution.Solution: Override
applyColourto update source block's color.Solution: Modify
FieldMatrix.doClassValidation_.Solution: Fix condition in
FieldMatrix.doValueUpdate_.notewhile the block definition usesvalueinblocks_common/note.js. This also occurs in scratch-blocks.Solution: Replace
valuewithnotein block definition.FieldNumberdoesn't allow empty value('') and doesn't show number pad in touch devices. We might have to implement another Field class. ✨ feat(block): implement ScratchNumberField #110Solution: Override
zelos.ConstantProvider.setFontConstants_to prevent update ofFIELD_DROPDOWN_BORDER_RECT_HEIGHT. It should be fixed to 8 * GRID_UNIT🐛 fix(block): prevent update of
FIELD_DROPDOWN_BORDER_RECT_HEIGHT#89domToFieldVariableand its behaviors.Developer Enhancements
.eslintrctoeslint.config.mjs, to support typescript-eslint. ReferenceCompatibility Issues
Integration
Other Plans
Field.updateSize_should deal withmarginargument.Field.SKIP_SETUP. ✨ feat(block): implement ScratchNumberField #110Warnings Related to Blockly