# Third-Party Notice — opencascade.js

This deployment includes a binary copy of **opencascade.js** version
**2.0.0-beta.b5ff984** by Sebastian Alff (donalffons@gmail.com), unmodified
from its npm distribution. The package is a port of the OpenCASCADE
Technology CAD library to JavaScript and WebAssembly via Emscripten.

## Files
- `opencascade.full.js` — Emscripten-generated loader (raw)
- `opencascade.full.wasm.gz` — Emscripten-generated WASM binary, gzip-compressed
   for transport. Decompressed at load time using the browser's native
   `DecompressionStream('gzip')` API.

## Licensing

opencascade.js is licensed under the **GNU Lesser General Public License**
version 2.1 (LGPL-2.1-only). The complete license text is in
`LICENSE-opencascade-LGPL-2.1.txt` next to this file.

The underlying OpenCASCADE Technology library is published under the
LGPL-2.1 with the OPEN CASCADE Exception (the "OCC linking exception"),
which permits dynamic and static linking of the library against
proprietary code. See https://dev.opencascade.org/ for the OCCT terms.

## Source

- npm package: https://www.npmjs.com/package/opencascade.js
- GitHub: https://github.com/donalffons/opencascade.js

## ZeroCAD usage

ZeroCAD BRep references opencascade.js through a kernel-agnostic abstract
API (the `AbstractKernelAPI` class in the application source) and could be
re-bound to alternative geometry kernels (Parasolid, ACIS, proprietary)
without modifying the canonical-document layer or the assembly projector.
The opencascade.js binary is therefore loaded as a runtime dependency,
preserving the LGPL linking-exception posture.
