I am looking into how to combine the component model with the GC proposal. I have read up on it here https://github.com/WebAssembly/component-model/issues/525
Is there a way I could get started experimenting with these ideas? I expect not much actually works at this point but would like to dig in and learn. Mostly, I am interested in lifting/lowering GC strings (arrays) and records.
Is there a way I can get involved and contribute to the implementation here? I am a beginner but willing to learn
@fitzgen (he/him) is probably the best person to weigh in on this
wasm-tools is ~feature complete but I have not implemented the Wasmtime support yet. you could start playing with examples and validating/encoding/parsing them via wasm-tools, but unfortunately could not run them yet
there are roughly two areas in Wasmtime that need implementing
Lift and Lower traits and all the interaction between a guest component and the host/VMImplementing (1) would allow a single component to talk GC to the host. Implementing (2) would allow components to talk GC to each other (or one linear and the other GC, etc) but until (1) was implemented the host-to-component interaction would be limited to linear memory style canon ABI. both (1) and (2) are required in the fullness of time, ofc.
this is unfortunately not something I have bandwidth to mentor at the moment
Thanks, this is what I needed to get started.
Last updated: Dec 06 2025 at 05:03 UTC