This repository historically contained Code.org’s fork of Blockly, the open-source visual programming environment. The fork existed to support custom features for Code.org-specific curriculum that were not yet available with mainline Blockly or its plugins.
Code.org has fully migrated to mainline Blockly, and this fork is no longer used or published. This repository is archived to preserve historical reference only. It is not maintained, tested, or supported.
- Modal editor for function blocks (function_editor.js)
- Scrolling improvements:
- auto-scroll on block drag (scroll_on_block_drag_handler.js)
- scroll on mouse wheel (scroll_on_wheel_handler.js)
- New in-toolbox trashcan
- Addition of "Functional blocks" and "Contract/Variable Editor" (contract_editor/) for use in the CS in Algebra curriculum
- Blocks have "Block Value Types" (block_value_type.js)
- Support for "block limits" (block_limits.js), toolbox blocks which allow only a certain number of instances in the block space
- Support for new block properties (block.js): invisible, un-deletable, immovable, specify-able via a context menu when
Blockly.editBlocksis set - Structure: add folders in core/ to further categorize classes
- New field types:
- Image Dropdown (field_image_dropdown.js)
- BlockSpace (Workspace) Refactoring:
- moved many static properties and methods from
blockly.jsinto a prototype classBlockSpaceEditorwhich can be instantiated multiple times on the same page - renamed
WorkspacetoBlockSpaceto disambiguate from higher-levelBlockSpaceEditor - improved support for multiple blockspaces on a single page
- moved many static properties and methods from
- Playground: add dependency cache and generation script (tests/update_test_dependencies.sh), to allow for testing changes without re-building
- support for goog.ui.tweaks to configure playground page behavior
- debug drawing helpers for block bumping
- Support for a special UI for unattached blocks
- Improvements to block arrangement on initialization
- Testing: add phantomjs-based test runner test.sh. Tested in CI at root level of this repository.
Code.org no longer uses this repository. Any active development related to Blockly at Code.org should happen against upstream Blockly or within the Code.org repository itself.
The @code-dot-org/blockly npm package is no longer published or updated.
Do not depend on it for new projects.