Software Infrastructure
We switched from the third-party WASMKit library to the officially supported WebAssembly WAMR library due to the lack of support in WASMKit for multi-threading. Now, WAMR allows us to compile into a file that can be interfaced with our app. Inside the WAMR library, we enabled certain flags that will become useful for our robot development:
- Shared memory
- Threads
- Neural networks
Thomason also built out a feature that lets us call Swift function bindings from C++ code, thereby minimizing the amount of Swift code that users will have to touch in the future.