Thanks for all the replies. I think I've figured out how to make gn generate wasm builds of all the libraries. Tomorrow I'll have a go at seeing what I need to do to get a c++ 'hello world' app code linking to it and running in a browser and natively. Then I'll see what I need to do to get elements working with it.
@Oli, canvaskit.wasm builds to 7.1M uncompressed in release mode. I won't be using all of skia in my code, so the linker for my WASM app should only include some fraction of that 7.1M.
I have some code already written for Elements and I'm not keen on rewriting to another widget set if I can help it.