Releases: bitbybit-dev/bitbybit
0.19.4
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.
0.17.3
- 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
- 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
- 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
- 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