I think I finally completed Reverse codification. Click the green flag to experience the demo, or look at the source code:
Updates
Better Smaller Update (1.2.5)
- Changed all labelled blocks to be smaller
- Slightly Better Performance
Disadvantages at the moment:
- Does not support variadic reporters
Naive approach.Not gonna work.
ill be fixing that (for a while...)
for now on this project wont support variadic blocks unless fixed
cool !
You can make the function faster by evaluating "all block" once outside of the map block like this (2.5 X faster)

i use that in most of my projects and i almost forgot about this! Thank you for reminding me!
Are you sure about encoding the index of the block over the list of all block is a good idea ?
What if i encode a block now and i decode it in 6 month. We have no garantee about the list of blocks in 6 month, and about the order of these blocks...
I think you should encode the block name instead of the index of this block...
i encountered this too just now after hiding the "all blocks" script, ill try to fix this. Thanks for the feedback!