occt-wasm 3.4.0 → 3.5.1
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 +10 -7
- package/dist/occt-wasm.wasm +0 -0
- package/package.json +1 -1
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
|
|
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
|
|
|
@@ -324,7 +324,7 @@ Generate full docs locally: `cd ts && npm run docs` (TypeDoc output).
|
|
|
324
324
|
## Architecture
|
|
325
325
|
|
|
326
326
|
```
|
|
327
|
-
OCCT V8.0.0 C++ (git submodule)
|
|
327
|
+
OCCT V8.0.0.p1 C++ (git submodule)
|
|
328
328
|
-> emcmake cmake (static libs)
|
|
329
329
|
-> C++ facade (OcctKernel class, arena-based u32 IDs)
|
|
330
330
|
-> Embind bindings
|
|
@@ -377,29 +377,32 @@ 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
|
|
381
|
-
|
|
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 |
|
|
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
|
|
|
392
392
|
## Known Limitations
|
|
393
393
|
|
|
394
|
-
These are upstream OCCT V8.0.0 issues, not occt-wasm bugs:
|
|
394
|
+
These are upstream OCCT V8.0.0.p1 issues, not occt-wasm bugs:
|
|
395
395
|
|
|
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
|
|
|
402
|
+
OCCT V8.0.0.p1 (2026-06) resolved several upstream hangs and crashes that
|
|
403
|
+
affected modeling here: infinite-loop guards in `IntWalk_IWalking` and
|
|
404
|
+
`BRepFill_CompatibleWires`, and a null-curve guard in `BRepExtrema_DistanceSS`.
|
|
405
|
+
|
|
403
406
|
## Contributing
|
|
404
407
|
|
|
405
408
|
This project is open source. Bug reports and feature requests are welcome via GitHub Issues. For pull requests, please open an issue first to discuss the change.
|
package/dist/occt-wasm.wasm
CHANGED
|
Binary file
|