SchoolCAD: third-party components in this folder ================================================ SchoolCAD's exact-geometry engine (true fillets and chamfers, exact curves, STEP export) is OpenCascade Technology, used through replicad. The files are used unmodified, except for the one change to replicad_single.js described below. replicad 1.2.0 MIT licence LICENSE-replicad.txt https://github.com/sgenoud/replicad (files: replicad.js, casting-c4FpthHM.js) Bundles flatbush (ISC, LICENSE-flatbush.txt) and opentype.js (MIT, LICENSE-opentype.txt). replicad-opencascadejs 1.1.0 GNU LGPL 2.1 LICENSE-opencascade.txt OpenCascade Technology compiled to WebAssembly by the replicad project. https://github.com/sgenoud/replicad/tree/main/packages/replicad-opencascadejs OpenCascade source: https://github.com/Open-Cascade-SAS/OCCT (files: replicad_single.js, replicad_single.wasm) LGPL notes - The library is a separate set of files, loaded at run time with a dynamic import. You may replace replicad_single.js / replicad_single.wasm with your own build of the same library; SchoolCAD only calls it through replicad's public API. - Change made to replicad_single.js (the Emscripten/Embind JavaScript glue, not the WebAssembly): two functions that generate code with `new Function` (the Embind function invoker and the emval method caller) are replaced with closures that do the same thing, so the engine runs under SchoolCAD's Content-Security-Policy, which does not allow 'unsafe-eval'. This is the code Emscripten itself emits when built with DYNAMIC_EXECUTION=0. The change is applied, and checked, by tools/vendor-occt.mjs in the SchoolCAD source.