But why can the canvas still only be accessed in the main thread? Why introduce a whole other API as a workaround for this?
Also, as far as I have seen, people have been using WebAssembly for complex stuff and marshalling it to the main thread for the canvas.
The worklet API gives the browser the ability to spawn as many threads for the task as it wants when it wants, without needing to communicate and wait on the page's code in the main javascript thread each time.