Quirks
GPU.sb3 has some quirks that might make development a bit annoying if you don't know about them. Some of these are obvious, others less so. I'm probably forgetting a lot, so this list may be updated over time.
If you use any block not in the blocks list compilation will fail
Most scratch blocks are either not usable, unnecessary, or just impossible in WGSL.
You need to compile the shaders before you can use them
The extension needs to convert the scratch blocks into actual code, and this can be slow so you should only do it when you have to.
The f32 array block returns a reference
You can't do anything to this array. You might be able to in the future, idk.
The variable created via the for loop block is an i32
If you want to use it for something else you need to convert it, there are some casting functions in the wgsl builtin functions.
NO RECURSION
This is a limitation from wgsl, I can't do anything about it! If you're saying "but derpygamer2142, shadertoy does it!", that's because shadertoy uses glsl and inigo quilez used some sort of witchcraft that I can't be bothered researching.
arrayLength builtin function doesn't work on anything other than bound buffers
Once again, this is an issue with wgsl and not me. Cry about it.