Update: I managed to force backend to be “cpu” to test hypothesis above. When I do this (see this demo): https://codepen.io/jasonmayes/project/editor/DBYaRj 2
It works without any lag on GUI. Thus my thoughts that WebGL on webworker is not separate from main thread seems to be true. I therefore think for now you should compiler WASM backend into your custom build instead of WebGL and try that if you want true separate thread execution.
As for WebGL I shall discuss with our team what future options may be around this to reduce jank in browser when executing on WebGL backend. Thanks for bringing this to our attention.