The data models provided by the @blockly/block-shareable-procedures plugin are built to replicate the behavior of Blockly's legacy built-in procedure blocks. This includes some behavior that you may not want for your custom procedure blocks, including:
- Return types are not supported supported
- All parameters are associated with a global variable
So to solve this, you can create your own custom procedure data models.
You will also need to call
triggerProceduresUpdate from the
@blockly/block-shareable-procedures plugin inside each
method that modifies the procedure model, so that
doProcedureUpdate will be
called on your procedure blocks (causing them to rerender).