Wasmtime runtime and Iced

Hi,
I’m using currently using wasmtime and want it to run some basic Iced example from inside.
Based on this : wasi-gfx · GitHub
I understand that Wasi-gfx team forked wgpu library to let it call webgpu.wit interface instead of other low level library.
Nevertheless, I didn’t succeed to build iced with it and the wgpu fork doesn’t look very active. I think they just make a proof of concept which is already very nice but to make run Iced, it’s more complex.

In Iced, dependency are like that if we want to use the GPU :

iced → iced_renderer → iced_wgpu → wgpu

The dependency in Wasi-gfx are :
iced → iced_renderer → iced_wgpu → wgpu (forked) → wasi_webgpu

Since with Wasmtime we are in a runtime, I tihnk the existance of wgpu could be consider as useless since we only need to interact with a defined interface :

I was wondering if implement a third renderer in iced could be a good idea. In order to have this final result :
iced → iced_renderer → iced_wasi_gfx → wasi_webgpu

I would like to know what Iced maintainer think about that ?
If someone already know a little bit about wgpu and/or wasi-gfx, how long could it take for one developer at full time to develop this library ?

Thanks for you opinion :slight_smile:

Maxime.

What actually is your end goal with this? wasi-gfx is very not stable atm

Nice question.

My goal is to have at least :

  • Basic widget (button, text field, text area, radio button, combox list)
  • Image (no SVG first)
  • Canvas

I think with that we can do a lot.

You could try something like my igloo crate.
rather then all of iced running in wasmtime only the code on top of iced is run in wasmtime.

Very interesting. I will have a look. Thanks !