Skip to content

OCCT wasm build/API compatibility documentation (exports, bindings, supported workflows) #127

@0x46y

Description

@0x46y

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 importScripts or 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions