MAJOR Release : 2021 JUN 01
-
ATTENTION : MAJOR UPDATE
There's a new release of JSCAD, including MAJOR CHANGES from several pull requests.
The maths classes / APIs have been adjusted to the same API as gl-matrix. This has the following affects:
- improved performance as API signatures are now fixed (no more ...params)
- improved performance in the use of math objects (less allocations)
- improved interoperability with gl-matrix (no need to learn a different API)
Note: See the performance results at GitHub.
If your designs use the maths API then updates are required. The function signatures for ALL maths objects have changed; line2, line3, mat4, plane, vec2, vec3, vec4.
Especially review the use of maths..transform() and maths..scale() function calls.
Designs with the largest impact are those using extrudeFromSlices(), which typically uses maths.
Features
modeling: rework math objects to conform with gl-matrix (#804)
modeling: added aboutEqualNormals() to math utils
modeling: added fromVectorRotation() to mat4
modeling: added projectionOfPoint() to plane
modeling: new project() function added to extrusions (#844)
modeling: new scission() function added to booleans (#846)Bug Fixes
modeling: fixed use of vec3.snap in triangulatePolygons
modeling: rewrote vec3 orthogonal() to do the correct thing, and adjusted test suites
modeling: update and correct TypeScript type definitionsSpecial thanks to @minodisk for the TypeScript changes!
BIG THANKS to @giboneet for the initial implementation of the new scission() function.Successfully published:
- @jscad/cli@2.2.3
- @jscad/core@2.3.3
- @jscad/examples@2.3.0
- @jscad/amf-deserializer@2.1.0
- @jscad/amf-serializer@2.0.4
- @jscad/dxf-deserializer@2.3.0
- @jscad/dxf-serializer@2.0.4
- @jscad/io-utils@2.0.3
- @jscad/io@2.0.4
- @jscad/json-deserializer@2.0.4
- @jscad/json-serializer@2.0.3
- @jscad/obj-deserializer@2.0.3
- @jscad/stl-deserializer@2.1.0
- @jscad/stl-serializer@2.0.4
- @jscad/svg-deserializer@2.2.2
- @jscad/svg-serializer@2.2.1
- @jscad/x3d-serializer@2.2.2
- @jscad/modeling@2.3.0
- @jscad/regl-renderer@2.1.2
- @jscad/vtree@2.0.4
- @jscad/web@2.3.2