-
Notifications
You must be signed in to change notification settings - Fork 20
Description
Summary
When integrating different OCCT wasm artifacts/builds (legacy repository,
current monorepo artifacts, and custom rebuilds), we encountered repeated
integration difficulties even when the OCCT usage code remained largely the
same.
The main differences encountered were:
- wrapper / initialization format differences
- exported class and function set differences
- binding method signature differences
- capability differences (for example STL import availability)
These differences make it difficult to create reproducible browser-based
integrations and to extend the wasm build with custom functionality.
Why this matters
For browser-worker integrations these differences can lead to:
-
runtime initialization failures
(for example missing factory/module entrypoints) -
API call mismatches
(unexpected argument count or binding signature differences) -
certain features silently unavailable depending on the build
This increases the amount of trial-and-error required to integrate
OCCT wasm builds in browser environments.
Proposal
It would be very helpful if OCCT wasm artifacts included documentation
describing build/API compatibility expectations.
Examples of useful information:
Wrapper / initialization format
- expected global entrypoint(s)
- recommended worker loading pattern
- compatibility with
importScriptsor module loading
Exported API profile
- classes/functions expected for common geometry workflows
- optional capability sets (for example minimal vs IO-enabled builds)
Binding signature notes
- notes when binding signatures change between builds
- migration guidance for downstream integrations
Supported workflow matrix
Examples:
- STEP / IGES import
- STL import / export
- BRep read / write
- volume computation via
GProp_GProps/BRepGProp_VolumeProperties
Reproducible build reference
For published artifacts, information such as:
- OCCT source commit
- toolchain / container used for building
- build configuration used for exported bindings
Goal
Clear documentation describing wasm build/API compatibility would
reduce integration friction and make browser deployments more
predictable and reproducible.