Releases: bitbybit-dev/bitbybit
0.20.0
0.19.9
- Switch to use MakePipe instead of MakePipeShell when creating cylindrical or ngon pipes. It is just more stable and the approach of calculating medium tangents was not really working well anyway. Now expectation is that users will provide nice continuous path where this method will succeed better.
- Update to BabylonJS 7.54.0
- isWireClosed exposed from OCCT
- New OpenCascade.js build with some new functionality which will be exposed in the future.
0.19.7
- New OpenCascade.js build that includes GeomAPI_ProjectPointOnCurve for splitting wires in generic way.
- Fixed and improved cylindrical and n-gon pipe algorithms to support closed and periodic spines.
- Re-written algorithm to split wires by providing a list of points.
- Additional option for revolved extrude to allow for non-solid results in cases when wires are being extruded
- Update to BabylonJS v7.53.3
- Implemented separate import that can include bitbybit-occt wasm file from jsdelivr CDN directly
0.19.6
- Additional edge methods to interpret multiple shapes in one go, also helper functions to check if edge is linear or circular. It is now possible to filter points that are on multiple faces in one go. Fixed base inputs that were not included in Bit object. Introduced originOnCenter properties for cylinder, cube, and box. Cylinder now also takes in the angle property.
- BabylonJS update
- ThreeJS update
0.19.4
- Added fillet2dShapes method
- Added fillet3DWires method
- Added method to get all edge lengths on the shape
- Update to BabylonJS v7.48.0
- Updated Readmes to link to Crafts webshop
0.19.3
- Split OCCT shape with other shapes by using new BOPAlgo_Builder methods
- Decompose OCCT compound shape to constituent parts
- Greased lines now use PBR materials, as it's easier to update colours
- update to BABYLONJS v7.47.2
- update to THREEJS v0.173.0
0.19.2
- Update to babylonjs v7.45.0
- Update to threejs v0.172.0
- Best way to support links on Readme
- .step extension added automatically to filename if needed
0.19.1
- Set up github actions to run unit tests and build commands of all packages on each commit
- Update babylonjs to v7.37.1
- Update threejs to v0.171.0
- refactored some babylonjs imports so that lite runners would be able to take in dependencies from window objects
- check app-examples of how to use new threejs and babylonjs runners which allow you to include bitbybit via single javascript file in your projects
0.19.0
KABOOM with Manifold integration, 5 new NPM packages, monorepo setup
Big update with a lot of new features, surrounding manifold-3D geometry kernel integration. Check out their repo here: https://github.com/elalish/manifold
- We integrated manifold in two npm packages - @bitbybit-dev/manifold and @bitbybit-dev/manifold-worker. One is meant to be used in synchronous backend or frontend apps, the other executes all algorithms in web worker and communicates with main thread via hashed pointers, similar to how our OCCT and JSCAD kernels work.
- bitbybit.occt layer now has new algorithm to project points on shapes by a given vector.
- We refactored our @bitbybit-dev/core package by adding 3 new npm packages, namely
@bitbybit-dev/base - Algorithms for math, vectors, transforms and other basic stuff needed to build geometry. Idea is to keep this package as lightweight as possible and not to include dependencies to other packages as long as possible. This base package will potentially be included as dependency to all of our higher level CAD packages.
@bitbybit-dev/jscad - Our JSCAD kernel integration lived in the core layer, now it is separated into this stand-alone package. This allows users to only use this package in their apps if needed.
@bitbybit-dev/jscad-worker - JSCAD webworker implementation is also separated into a stand-alone package. Having it integrated in the core was not very convenient for people who do not need to use it for example.
Monorepo update
We started the transition to monorepo setup in v0.18.0. With v0.19.0 this transition is more or less over. All of our npm packages that are shared publically will, from now on, be developed in this repository.
Here's the picture explaining the architecture of the packages in this repo
0.18.0
THREEJS support imlemented.
This git repo has become monorepo for core, threejs and babylonjs npm packages. Core has been split into game engine independent layer. It was previously coupled with BabylonJS.
We introduced draw helpers that construct ThreeJS meshes from bitbybit geometry types.
This repo will potentially host more packages in the future.