What are Scratch blocks?


As briefly explained before I’m working on a VR tool to build content directly in VR. I believe Scratch interface is very interesting and could be use there. Still being able to re-use it directly (or lower down the stack using Google Blockly) might not be the most efficient way. Consequently I’m wondering how blocks are built.

Is it a curated subset of the most use types and functions? Is it automatically generated based on the target language (I doubt it)? What are the affordances (snapping based on compatible input)?

Thanks in advance for the help,

#2 might be a good place to look, as this project grew out of the Build Your Own Blocks for Scratch. Although, I think this work was based on the smalltalk version of Scratch (1.4 and below) rather than the flash version.


Indeed, thanks for the great suggestion. Since the interactions themselves have to be changed (going from mouse and keyboard to 6DoF controllers) maybe only the principles rather than the implementation can be re-used.