I'm really confused with some of them. This is a question, that is in my head since I found this block since I used Snap! (even before having an account)
primitive [ v]::grey
What does the following extension options in that block do?
You would be better off using the libraries rather than the PRIMITIVE blocks, which are just there to support the libraries. The reason it's better to use the libraries is that we don't promise not to change how the PRIMITIVE interface to a library works, but the library itself should keep working.
I don't think translateback is in a library (if it does verify), also what if I want to create a block extras pack? I don't want random blocks from another libraries to appear randomly when importing it.
Extension options in the block have specific functions ide_translateback it refers to translating code back to the IDE language, obj_name probably fetches or sets the name of an object and syn_scripts could be related to synchronizing scripts or behaviors within the program.