Three years after the first version I went back to the Building Blocks editor. The blocks themselves were still fine. The real problems were navigating a large block tree, testing something without destroying it and finding the one block that broke the flow.
When I designed the first version I had scripts of ten or twenty blocks in mind. That assumption was wrong. Users build boards with a few hundred blocks, nested loops and custom functions calling each other. At that size working in the editor was mostly scrolling. Every change in this rework came from watching a user work on such a board.
The following list shows the most important changes:
- comments on blocks and disabling a block without deleting it
- QuickAdd and QuickWrap
- search across the block tree, collapsing a block with its children, goto highlight
- break and continue in loops, regex blocks
- drag and drop from the palette, a trash can for a block and its children, a resizable window
QuickAdd adds the next block directly in the flow without going to the palette. QuickWrap takes an existing block and wraps it into a new one. So putting an existing statement inside an if block is one action instead of four. Both features existed before and I rebuilt both. For me these are the two most important features of this list.
Disabling a block sounds trivial, but it is not. A disabled block stays in the tree, keeps its children and its validation state, and disappears from the generated Lua code. You can switch off a branch, check the board and switch it back on, and nothing else will change.
That’s it.
If you have questions feel free to contact me.
Links:
Building blocks documentation →
Script editor documentation →