occt-wasm 3.4.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,7 +33,7 @@ To set expectations, this library deliberately does not:
33
33
 
34
34
  - **Provide a higher-level CAD modeling API** — parametric sketching, constraints, feature trees, and ergonomic modeling belong in [brepjs](https://github.com/andymai/brepjs), which wraps occt-wasm for that purpose
35
35
  - **Manage memory automatically beyond arena handles** — shapes are freed when the kernel is disposed or you call `release()`; there is no per-shape garbage collection
36
- - **Support non-WASM-SIMD browsers** — the build requires WASM SIMD (baseline `-msimd128`), tail calls, and wasm exceptions; Firefox lacks tail call support as of v130. Relaxed-SIMD is intentionally not used: some Safari/iOS WebKit builds fail to compile relaxed-SIMD modules, and it made geometry non-reproducible across CPUs
36
+ - **Support non-WASM-SIMD browsers** — the build requires WASM SIMD (baseline `-msimd128`), tail calls, and wasm exceptions, so it needs a recent engine (see [Browser Compatibility](#browser-compatibility)). Relaxed-SIMD is intentionally not used: some Safari/iOS WebKit builds fail to compile relaxed-SIMD modules, and it made geometry non-reproducible across CPUs
37
37
  - **Include OCCT visualization or display modules** — TKV3d, TKHLR (except the HLR facade), and the AIS interactive context are excluded; bring your own renderer (Three.js, Babylon.js, etc.)
38
38
  - **Support IGES import/export** -- TKDEIGES is excluded from the link; use STEP for interchange
39
39
 
@@ -377,15 +377,15 @@ npm run docker:dist # Build + copy dist/ artifacts to host
377
377
 
378
378
  occt-wasm requires modern browsers with WASM SIMD, tail calls, and exception
379
379
  handling. WASM **tail calls** are the newest and therefore binding requirement —
380
- they gate the minimum versions below and are the reason Firefox is unsupported.
381
- The versions listed are the lowest combinations verified to load the kernel:
380
+ they gate the minimum versions below. The versions listed are the lowest
381
+ combinations verified to load the kernel:
382
382
 
383
383
  | Browser | Minimum (verified) | Notes |
384
384
  | ------- | ------------------ | ------------------------------------------- |
385
385
  | Chrome | 114+ | Tail calls landed in 112; 114 is verified |
386
386
  | Edge | 114+ | Same engine as Chrome |
387
387
  | Safari | 17.2+ | Earliest WebKit verified to load the kernel |
388
- | Firefox | Not supported | No WASM tail call support as of Firefox 130 |
388
+ | Firefox | 121+ | Tail calls shipped in 121; 146 is verified |
389
389
 
390
390
  Node.js 22+ is recommended (tail calls via V8). Node.js 18+ works if your V8 version supports the required WASM features.
391
391
 
@@ -396,7 +396,6 @@ These are upstream OCCT V8.0.0 issues, not occt-wasm bugs:
396
396
  - **IGES** -- TKDEIGES excluded from link; no IGES import/export
397
397
  - **Zero-length extrusion** -- WASM exception escapes JS catch boundary (1 test skip)
398
398
  - **Single WASM thread** -- each kernel instance is single-threaded; use `OcctWorker` (see above) to move work off the main thread
399
- - **Firefox** -- not supported due to missing WASM tail call support
400
399
 
401
400
  These will be addressed as upstream OCCT and browser support improve.
402
401
 
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "occt-wasm",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "OpenCascade (OCCT) compiled to WebAssembly with a clean TypeScript API",
5
5
  "type": "module",
6
6
  "exports": {