Open davidkutas opened 1 month ago
I'm sorry, but the project does not (yet) support WASM/WebAssembly/esmjs.
I'd be very interested in a WASM/Web build as well. Skia does provide a Wasm build so you can call it from JS, which in theory means it should be possible to backend artist
onto Wasm build of Skia so artist/elements based apps will run in the browser. I'm going to have a play with the skia Wasm build and see how much hair I lose in the process of making something work.
I'd be happy if someone could take the lead on implementing this. Unfortunately, I'm swamped with other projects at the moment.
I've spent a fruitless day just trying to figure out google's build system used for Skia. I've gone and asked their mailing list to see if anyone else has had success making a Wasm verions of the skia libs you can link against.
I've spent a fruitless day just trying to figure out google's build system used for Skia. I've gone and asked their mailing list to see if anyone else has had success making a Wasm verions of the skia libs you can link against.
Skia's build system is a PITA! I'll tell you that.
I'm currently working on a library that will return a C++ Skia::Surface
which will draw onto an HTML canvas. I'll package this all up into a new repo. That will at least be the start of a WASM/Web port of elements
.
Currently I've bodged something that does call into C++ compiled to WASM to do the drawing, but it's ugly and hacked out of a cut down version of their CanvasKit
JS module, which gives JavaScript bindings to Skia
. I've a screenshot of it in action.
FWIW, someone has just put together a repo that simplifies the building of skia on all platforms, see https://github.com/olilarkin/skia-builder
.
That was a more surprisingly horrible task than I thought it would be, even though I knew it was going to horrible.
In my spare time I've put a C++ library together than packages up all the skia web binding code and let you run a C++ program that pipes skia calls to a browser canvas. Still a work in progress, but getting close. I need to incorporate skia into the build process as it currently relies on an external canvaskit
wasm build of skia.
That was a more surprisingly horrible task than I thought it would be, even though I knew it was going to horrible.
In my spare time I've put a C++ library together than packages up all the skia web binding code and let you run a C++ program that pipes skia calls to a browser canvas. Still a work in progress, but getting close. I need to incorporate skia into the build process as it currently relies on an external
canvaskit
wasm build of skia.
Wow, I can imagine what a horrible task that would be!
This is a wonderful project.
Are there any tutorials out there to use this with WASM/WebAssembly/esmjs?