IfcOpenShell C API, Improved WASM builds, and migration of high-level APIs from Python
The IfcOpenShell library lacks a stable C API, which currently limits interoperability with other programming languages and makes its higher-level APIs largely accessible only through Python. Its existing WebAssembly support also depends on Pyodide, resulting in unnecessarily bloated binaries, slow initialization, and reduced runtime performance in browsers. This proposal aims to address these architectural limitations by introducing a first-class C API for IfcOpenShell, enabling more maintainable cross-language bindings and a stronger foundation for native WASM builds. The project will replace the current Pyodide-based approach with a direct C++ to WASM build, and will migrate the Python bindings away from SWIG to generated bindings built on top of the new C API. It will establish autogenerated TypeScript bindings and an ergonomic web-facing API, while incrementally moving important high-level Python APIs into the C++ core so that they become available consistently across Python, WASM, and future language bindings.
Project details
Technologies
Not listed in the archive