Skip to content

Releases: bitbybit-dev/bitbybit

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.

0.17.3

27 Oct 15:44
Compare
Choose a tag to compare
  • jsonpath replaced with jsonpath-plus, which seems to be better maintained under MIT license
  • Update to Babylonjs 7.31.0
  • Update to latest JSCAD
  • Exposed JSCAD export to 3MF

0.17.2

27 Oct 12:25
Compare
Choose a tag to compare
  • ease functions for math and vector categories
  • gaussian splat now supports compressed ply files from supersplat editor and uses default import method
  • fixed shadows for meshes that do not contain metadata

0.17.1

11 Oct 05:35
Compare
Choose a tag to compare
  • Creating simple WebXR experiences exposed to Rete editor, including immersive-ar
  • Scale ratio implemented for gizmos
  • Lists extended to have random get and remove functions
  • Included earcut into library to fix dependency issue

0.17.0

03 Oct 05:43
Compare
Choose a tag to compare
  • BabylonJS GUI exposed - basic support for advanced dynamic texture, stack panel, control, container, button, color picker, input text, text block, slider, checkbox, radio button, image
  • BabylonJS Gizmos exposed with manager
  • BabylonJS MeshBuilder expanded to support more geometries
  • Simple JSON array search functionality
  • Text formatting function implemented with placeholders {i}
  • Method to invert hex colors to their opposite or to the black & white variant (useful for labels)
  • New function to clone BabylonJS mesh to multiple positions
  • BabylonJS updated to v7.27.3