Skip to content

Releases: bitbybit-dev/bitbybit

0.20.0

09 Apr 08:25
37d82af
Compare
Choose a tag to compare
  • occt bounding box and bounding sphere methods implemented on operations
  • Babylonjs v8.1.1
  • ThreeJS v0.175.0
  • dates implemented into the base

0.19.9

20 Mar 17:40
6873538
Compare
Choose a tag to compare
  • 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

19 Mar 11:55
451c0dc
Compare
Choose a tag to compare
  • 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

06 Mar 22:05
3d5bb8e
Compare
Choose a tag to compare
  • 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

07 Feb 17:02
2d6a4e6
Compare
Choose a tag to compare
  • 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

05 Feb 14:44
43aead9
Compare
Choose a tag to compare
  • 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

25 Jan 05:48
5a95284
Compare
Choose a tag to compare
  • 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

04 Dec 16:15
85b66a3
Compare
Choose a tag to compare
  • 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

27 Nov 12:26
Compare
Choose a tag to compare

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
NPM package architecture

0.18.0

07 Nov 06:15
Compare
Choose a tag to compare

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.