MAJOR Release : 2021 JUN 01


    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.


    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 definitions

    Special 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

Log in to reply