diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml new file mode 100644 index 00000000..fc87aa5b --- /dev/null +++ b/.github/workflows/basic.yml @@ -0,0 +1,31 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Basic Test + +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [18.x, 20.x, 22.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run install-rebuild-all-packages + - run: npm test \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b512c09d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..decc2300 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,29 @@ +{ + "name": "bitbybit", + "version": "0.19.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "bitbybit", + "version": "0.19.0", + "license": "MIT", + "devDependencies": { + "typescript": "^4.3.5" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + } + } +} diff --git a/package.json b/package.json index 33fc5997..e97e6254 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,51 @@ { "name": "bitbybit", - "version": "0.19.0", + "version": "0.19.1", "description": "Monorepo for browser CAD which holds bitbybit.dev npm packages", "main": "index.js", "scripts": { + "ci-base": "cd packages/dev/base && npm ci", + "ci-core": "cd packages/dev/core && npm ci", + "ci-threejs": "cd packages/dev/threejs && npm ci", + "ci-babylonjs": "cd packages/dev/babylonjs && npm ci", + "ci-occt-worker": "cd packages/dev/occt-worker && npm ci", + "ci-occt": "cd packages/dev/occt && npm ci", + "ci-jscad-worker": "cd packages/dev/jscad-worker && npm ci", + "ci-jscad": "cd packages/dev/jscad && npm ci", + "ci-manifold-worker": "cd packages/dev/manifold-worker && npm ci", + "ci-manifold": "cd packages/dev/manifold && npm ci", + "ci-packages": "npm run ci-base && npm run ci-core && npm run ci-threejs && npm run ci-babylonjs && npm run ci-occt-worker && npm run ci-occt && npm run ci-jscad-worker && npm run ci-jscad && npm run ci-manifold-worker && npm run ci-manifold", + "rm-dist-base-if-exists": "rm -rf packages/dev/base/dist || true", + "rm-dist-core-if-exists": "rm -rf packages/dev/core/dist || true", + "rm-dist-threejs-if-exists": "rm -rf packages/dev/threejs/dist || true", + "rm-dist-babylonjs-if-exists": "rm -rf packages/dev/babylonjs/dist || true", + "rm-dist-occt-worker-if-exists": "rm -rf packages/dev/occt-worker/dist || true", + "rm-dist-occt-if-exists": "rm -rf packages/dev/occt/dist || true", + "rm-dist-jscad-worker-if-exists": "rm -rf packages/dev/jscad-worker/dist || true", + "rm-dist-jscad-if-exists": "rm -rf packages/dev/jscad/dist || true", + "rm-dist-manifold-worker-if-exists": "rm -rf packages/dev/manifold-worker/dist || true", + "rm-dist-manifold-if-exists": "rm -rf packages/dev/manifold/dist || true", + "rm-dist-packages": "npm run rm-dist-base-if-exists && npm run rm-dist-core-if-exists && npm run rm-dist-threejs-if-exists && npm run rm-dist-babylonjs-if-exists && npm run rm-dist-occt-worker-if-exists && npm run rm-dist-occt-if-exists && npm run rm-dist-jscad-worker-if-exists && npm run rm-dist-jscad-if-exists && npm run rm-dist-manifold-worker-if-exists && npm run rm-dist-manifold-if-exists", + "build-base": "cd packages/dev/base && npm run build-p", + "build-core": "cd packages/dev/core && npm run build-p", + "build-threejs": "cd packages/dev/threejs && npm run build-p", + "build-babylonjs": "cd packages/dev/babylonjs && npm run build-p", + "build-occt-worker": "cd packages/dev/occt-worker && npm run build-p", + "build-occt": "cd packages/dev/occt && npm run build-p", + "build-jscad-worker": "cd packages/dev/jscad-worker && npm run build-p", + "build-jscad": "cd packages/dev/jscad && npm run build-p", + "build-manifold-worker": "cd packages/dev/manifold-worker && npm run build-p", + "build-manifold": "cd packages/dev/manifold && npm run build-p", + "build-packages": "npm run build-base && npm run build-occt && npm run build-jscad && npm run build-manifold && npm run build-occt-worker && npm run build-jscad-worker && npm run build-manifold-worker && npm run build-core && npm run build-babylonjs && npm run build-threejs", + "rebuild-all-packages": "npm run rm-dist-packages && npm run build-packages", + "install-rebuild-all-packages": "npm run ci-packages && npm run rebuild-all-packages", "test-base": "cd packages/dev/base && npm run test-c", "test-occt": "cd packages/dev/occt && npm run test-c", "test-core": "cd packages/dev/core && npm run test-c", "test-jscad": "cd packages/dev/jscad && npm run test-c", "test-manifold": "cd packages/dev/manifold && npm run test-c", - "test": "npm run test-occt && npm run test-base && npm run test-core && npm run test-jscad && npm run test-manifold" + "test-threejs": "cd packages/dev/threejs && npm run test-c", + "test": "npm run test-occt && npm run test-base && npm run test-core && npm run test-jscad && npm run test-manifold && npm run test-threejs" }, "repository": { "type": "git", diff --git a/packages/dev/babylonjs/lib/api/bitbybit/babylon/io.ts b/packages/dev/babylonjs/lib/api/bitbybit/babylon/io.ts index 9ad81c10..7ef4c1d8 100644 --- a/packages/dev/babylonjs/lib/api/bitbybit/babylon/io.ts +++ b/packages/dev/babylonjs/lib/api/bitbybit/babylon/io.ts @@ -1,8 +1,7 @@ import * as Inputs from "../../inputs/inputs"; -import { GLTF2Export } from "@babylonjs/serializers/glTF/2.0"; +import * as SERIALIZERS from "@babylonjs/serializers"; import * as BABYLON from "@babylonjs/core"; import { Context } from "../../context"; -import { STLExport } from "@babylonjs/serializers"; export class BabylonIO { @@ -130,7 +129,7 @@ export class BabylonIO { } }; } - GLTF2Export.GLBAsync(this.context.scene, inputs.fileName, options).then((glb) => { + SERIALIZERS.GLTF2Export.GLBAsync(this.context.scene, inputs.fileName, options).then((glb) => { glb.downloadFiles(); }); } @@ -149,7 +148,7 @@ export class BabylonIO { } let meshes: BABYLON.Mesh[] = [inputs.mesh, ...childrenMeshes]; meshes = meshes.filter(m => m.isVisible); - STLExport.CreateSTL(meshes as BABYLON.Mesh[], true, inputs.fileName, true, true, true); + SERIALIZERS.STLExport.CreateSTL(meshes as BABYLON.Mesh[], true, inputs.fileName, true, true, true); return Promise.resolve({}); } @@ -173,7 +172,7 @@ export class BabylonIO { } }); - STLExport.CreateSTL(meshes as BABYLON.Mesh[], true, inputs.fileName, true, true, true); + SERIALIZERS.STLExport.CreateSTL(meshes as BABYLON.Mesh[], true, inputs.fileName, true, true, true); return Promise.resolve({}); } diff --git a/packages/dev/babylonjs/lib/api/bitbybit/babylon/scene.ts b/packages/dev/babylonjs/lib/api/bitbybit/babylon/scene.ts index 8ff0893a..6707f0e7 100644 --- a/packages/dev/babylonjs/lib/api/bitbybit/babylon/scene.ts +++ b/packages/dev/babylonjs/lib/api/bitbybit/babylon/scene.ts @@ -1,10 +1,9 @@ import { Context } from "../../context"; import * as BABYLON from "@babylonjs/core"; +import * as GUI from "@babylonjs/gui"; import * as Inputs from "../../inputs/inputs"; import { Base } from "../../inputs/base-inputs"; -import { Scene } from "@babylonjs/core"; -import { GUI3DManager } from "@babylonjs/gui"; export class BabylonScene { @@ -267,7 +266,7 @@ export class BabylonScene { scene.environmentTexture.dispose(); } scene.environmentTexture = null; - scene.fogMode = Scene.FOGMODE_NONE; + scene.fogMode = BABYLON.Scene.FOGMODE_NONE; scene.meshes.forEach(m => m.dispose()); scene.meshes = []; scene.materials.forEach(m => m.dispose()); @@ -309,7 +308,7 @@ export class BabylonScene { (scene.metadata.xr as BABYLON.WebXRDefaultExperience).dispose(); } if (scene.metadata.guiManager) { - (scene.metadata.guiManager as GUI3DManager).dispose(); + (scene.metadata.guiManager as GUI.GUI3DManager).dispose(); } } scene.transformNodes = [scene.getTransformNodeByName("root")]; @@ -336,14 +335,14 @@ export class BabylonScene { enableSkybox(inputs: Inputs.BabylonScene.SkyboxDto): void { let texture: BABYLON.CubeTexture; if (inputs.skybox === Inputs.Base.skyboxEnum.default) { - texture = new BABYLON.CubeTexture("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.0/textures/skybox/default_skybox/skybox", this.context.scene); + texture = new BABYLON.CubeTexture("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.1/textures/skybox/default_skybox/skybox", this.context.scene); } else if (inputs.skybox === Inputs.Base.skyboxEnum.greyGradient) { - texture = new BABYLON.CubeTexture("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.0/textures/skybox/grey_gradient/skybox", this.context.scene); + texture = new BABYLON.CubeTexture("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.1/textures/skybox/grey_gradient/skybox", this.context.scene); } else if (inputs.skybox === Inputs.Base.skyboxEnum.clearSky) { - texture = BABYLON.CubeTexture.CreateFromPrefilteredData("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.0/textures/skybox/clear_sky/environment.env", + texture = BABYLON.CubeTexture.CreateFromPrefilteredData("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.1/textures/skybox/clear_sky/environment.env", this.context.scene, false, false); } else if (inputs.skybox === Inputs.Base.skyboxEnum.city) { - texture = BABYLON.CubeTexture.CreateFromPrefilteredData("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.0/textures/skybox/city/environmentSpecular.env", + texture = BABYLON.CubeTexture.CreateFromPrefilteredData("https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.19.1/textures/skybox/city/environmentSpecular.env", this.context.scene, false, false); } diff --git a/packages/dev/babylonjs/lib/api/inputs/babylon-material-inputs.ts b/packages/dev/babylonjs/lib/api/inputs/babylon-material-inputs.ts index 5fdff13b..21e5d9d7 100644 --- a/packages/dev/babylonjs/lib/api/inputs/babylon-material-inputs.ts +++ b/packages/dev/babylonjs/lib/api/inputs/babylon-material-inputs.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-namespace */ import * as BABYLON from "@babylonjs/core"; import { Base } from "./base-inputs"; -import { SkyMaterial } from "@babylonjs/materials"; +import * as MATERIALS from "@babylonjs/materials"; // tslint:disable-next-line: no-namespace export namespace BabylonMaterial { @@ -97,14 +97,14 @@ export namespace BabylonMaterial { material: BABYLON.PBRMetallicRoughnessMaterial; } export class SkyMaterialPropDto { - constructor(skyMaterial?: SkyMaterial) { + constructor(skyMaterial?: MATERIALS.SkyMaterial) { if (skyMaterial !== undefined) { this.skyMaterial = skyMaterial; } } /** * Material to investigate * @default undefined */ - skyMaterial: SkyMaterial; + skyMaterial: MATERIALS.SkyMaterial; } export class MetallicDto { constructor(material?: BABYLON.PBRMetallicRoughnessMaterial, metallic?: number) { @@ -312,7 +312,7 @@ export namespace BabylonMaterial { dithering = false; } export class LuminanceDto { - constructor(material?: SkyMaterial, luminance?: number) { + constructor(material?: MATERIALS.SkyMaterial, luminance?: number) { if (material !== undefined) { this.material = material; } if (luminance !== undefined) { this.luminance = luminance; } } @@ -320,7 +320,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the overall luminance of sky in interval ]0, 1[. * @default 1 @@ -331,7 +331,7 @@ export namespace BabylonMaterial { luminance?: number; } export class TurbidityDto { - constructor(material?: SkyMaterial, turbidity?: number) { + constructor(material?: MATERIALS.SkyMaterial, turbidity?: number) { if (material !== undefined) { this.material = material; } if (turbidity !== undefined) { this.turbidity = turbidity; } } @@ -339,7 +339,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the amount (scattering) of haze as opposed to molecules in atmosphere. * @default 10 @@ -350,7 +350,7 @@ export namespace BabylonMaterial { turbidity?: number; } export class RayleighDto { - constructor(material?: SkyMaterial, rayleigh?: number) { + constructor(material?: MATERIALS.SkyMaterial, rayleigh?: number) { if (material !== undefined) { this.material = material; } if (rayleigh !== undefined) { this.rayleigh = rayleigh; } } @@ -358,7 +358,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the sky appearance (light intensity). * @default 2 @@ -369,7 +369,7 @@ export namespace BabylonMaterial { rayleigh?: number; } export class MieCoefficientDto { - constructor(material?: SkyMaterial, mieCoefficient?: number) { + constructor(material?: MATERIALS.SkyMaterial, mieCoefficient?: number) { if (material !== undefined) { this.material = material; } if (mieCoefficient !== undefined) { this.mieCoefficient = mieCoefficient; } } @@ -377,7 +377,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the mieCoefficient in interval [0, 0.1] which affects the property .mieDirectionalG. * @default 0.005 @@ -388,7 +388,7 @@ export namespace BabylonMaterial { mieCoefficient?: number; } export class MieDirectionalGDto { - constructor(material?: SkyMaterial, mieDirectionalG?: number) { + constructor(material?: MATERIALS.SkyMaterial, mieDirectionalG?: number) { if (material !== undefined) { this.material = material; } if (mieDirectionalG !== undefined) { this.mieDirectionalG = mieDirectionalG; } } @@ -396,7 +396,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the amount of haze particles following the Mie scattering theory. * @default 0.8 @@ -407,7 +407,7 @@ export namespace BabylonMaterial { mieDirectionalG?: number; } export class DistanceDto { - constructor(material?: SkyMaterial, distance?: number) { + constructor(material?: MATERIALS.SkyMaterial, distance?: number) { if (material !== undefined) { this.material = material; } if (distance !== undefined) { this.distance = distance; } } @@ -415,7 +415,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the distance of the sun according to the active scene camera. * @default 500 @@ -426,7 +426,7 @@ export namespace BabylonMaterial { distance?: number; } export class InclinationDto { - constructor(material?: SkyMaterial, inclination?: number) { + constructor(material?: MATERIALS.SkyMaterial, inclination?: number) { if (material !== undefined) { this.material = material; } if (inclination !== undefined) { this.inclination = inclination; } } @@ -434,7 +434,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the sun inclination, in interval [-0.5, 0.5]. When the inclination is not 0, the sun is said * "inclined". @@ -446,7 +446,7 @@ export namespace BabylonMaterial { inclination?: number; } export class AzimuthDto { - constructor(material?: SkyMaterial, azimuth?: number) { + constructor(material?: MATERIALS.SkyMaterial, azimuth?: number) { if (material !== undefined) { this.material = material; } if (azimuth !== undefined) { this.azimuth = azimuth; } } @@ -454,7 +454,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the solar azimuth in interval [0, 1]. The azimuth is the angle in the horizontal plan between * an object direction and a reference direction. @@ -466,7 +466,7 @@ export namespace BabylonMaterial { azimuth?: number; } export class SunPositionDto { - constructor(material?: SkyMaterial, sunPosition?: Base.Vector3) { + constructor(material?: MATERIALS.SkyMaterial, sunPosition?: Base.Vector3) { if (material !== undefined) { this.material = material; } if (sunPosition !== undefined) { this.sunPosition = sunPosition; } } @@ -474,7 +474,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the sun position in the sky on (x,y,z). If the property .useSunPosition is set to false, then * the property is overridden by the inclination and the azimuth and can be read at any moment. @@ -483,7 +483,7 @@ export namespace BabylonMaterial { sunPosition?: Base.Vector3; } export class UseSunPositionDto { - constructor(material?: SkyMaterial, useSunPosition?: boolean) { + constructor(material?: MATERIALS.SkyMaterial, useSunPosition?: boolean) { if (material !== undefined) { this.material = material; } if (useSunPosition !== undefined) { this.useSunPosition = useSunPosition; } } @@ -491,7 +491,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines if the sun position should be computed (inclination and azimuth) according to the given * .sunPosition property. @@ -500,7 +500,7 @@ export namespace BabylonMaterial { useSunPosition?: boolean; } export class CameraOffsetDto { - constructor(material?: SkyMaterial, cameraOffset?: Base.Vector3) { + constructor(material?: MATERIALS.SkyMaterial, cameraOffset?: Base.Vector3) { if (material !== undefined) { this.material = material; } if (cameraOffset !== undefined) { this.cameraOffset = cameraOffset; } } @@ -508,7 +508,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines an offset vector used to get a horizon offset. * @example skyMaterial.cameraOffset.y = camera.globalPosition.y // Set horizon relative to 0 on the Y axis @@ -517,7 +517,7 @@ export namespace BabylonMaterial { cameraOffset?: Base.Vector3; } export class UpDto { - constructor(material?: SkyMaterial, up?: Base.Vector3) { + constructor(material?: MATERIALS.SkyMaterial, up?: Base.Vector3) { if (material !== undefined) { this.material = material; } if (up !== undefined) { this.up = up; } } @@ -525,7 +525,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines the vector the skyMaterial should consider as up. (default is Vector3(0, 1, 0) as returned by Vector3.Up()) * @default undefined @@ -533,7 +533,7 @@ export namespace BabylonMaterial { up?: Base.Vector3; } export class DitheringDto { - constructor(material?: SkyMaterial, dithering?: boolean) { + constructor(material?: MATERIALS.SkyMaterial, dithering?: boolean) { if (material !== undefined) { this.material = material; } if (dithering !== undefined) { this.dithering = dithering; } } @@ -541,7 +541,7 @@ export namespace BabylonMaterial { * Material to update * @default undefined */ - material: SkyMaterial; + material: MATERIALS.SkyMaterial; /** * Defines if sky should be dithered. * @default false diff --git a/packages/dev/babylonjs/lib/api/inputs/node-inputs.ts b/packages/dev/babylonjs/lib/api/inputs/node-inputs.ts index 1f1d3d75..26ac98cd 100644 --- a/packages/dev/babylonjs/lib/api/inputs/node-inputs.ts +++ b/packages/dev/babylonjs/lib/api/inputs/node-inputs.ts @@ -1,20 +1,20 @@ -import { TransformNode } from "@babylonjs/core"; +import * as BABYLON from "@babylonjs/core"; import { Base } from "./base-inputs"; /* eslint-disable @typescript-eslint/no-namespace */ export namespace BabylonNode { export class NodeDto { - constructor(node?: TransformNode) { + constructor(node?: BABYLON.TransformNode) { if (node !== undefined) { this.node = node; } } /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; } export class NodeTranslationDto { - constructor(node?: TransformNode, direction?: Base.Vector3, distance?: number) { + constructor(node?: BABYLON.TransformNode, direction?: Base.Vector3, distance?: number) { if (node !== undefined) { this.node = node; } if (direction !== undefined) { this.direction = direction; } if (distance !== undefined) { this.distance = distance; } @@ -22,7 +22,7 @@ export namespace BabylonNode { /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Direction vector expressed in [x, y, z] vector array */ @@ -34,29 +34,29 @@ export namespace BabylonNode { } export class NodeParentDto { - constructor(node?: TransformNode, parentNode?: TransformNode) { + constructor(node?: BABYLON.TransformNode, parentNode?: BABYLON.TransformNode) { if (node !== undefined) { this.node = node; } if (parentNode !== undefined) { this.parentNode = parentNode; } } /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Parent node */ - parentNode: TransformNode; + parentNode: BABYLON.TransformNode; } export class NodeDirectionDto { - constructor(node?: TransformNode, direction?: Base.Vector3) { + constructor(node?: BABYLON.TransformNode, direction?: Base.Vector3) { if (node !== undefined) { this.node = node; } if (direction !== undefined) { this.direction = direction; } } /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Direction vector expressed in [x, y, z] vector array */ @@ -64,14 +64,14 @@ export namespace BabylonNode { } export class NodePositionDto { - constructor(node?: TransformNode, position?: Base.Point3) { + constructor(node?: BABYLON.TransformNode, position?: Base.Point3) { if (node !== undefined) { this.node = node; } if (position !== undefined) { this.position = position; } } /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Position vector expressed in [x, y, z] vector array */ @@ -79,7 +79,7 @@ export namespace BabylonNode { } export class RotateNodeDto { - constructor(node?: TransformNode, axis?: Base.Vector3, angle?: number) { + constructor(node?: BABYLON.TransformNode, axis?: Base.Vector3, angle?: number) { if (node !== undefined) { this.node = node; } if (axis !== undefined) { this.axis = axis; } if (angle !== undefined) { this.angle = angle; } @@ -87,7 +87,7 @@ export namespace BabylonNode { /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Rotate around the axis expressed in [x, y, z] vector array */ @@ -99,7 +99,7 @@ export namespace BabylonNode { } export class RotateAroundAxisNodeDto { - constructor(node?: TransformNode, position?: Base.Point3, axis?: Base.Vector3, angle?: number) { + constructor(node?: BABYLON.TransformNode, position?: Base.Point3, axis?: Base.Vector3, angle?: number) { if (node !== undefined) { this.node = node; } if (position !== undefined) { this.position = position; } if (axis !== undefined) { this.axis = axis; } @@ -108,7 +108,7 @@ export namespace BabylonNode { /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Position vector expressed in [x, y, z] vector array */ @@ -124,7 +124,7 @@ export namespace BabylonNode { } export class CreateNodeFromRotationDto { - constructor(parent?: TransformNode, origin?: Base.Point3, rotation?: Base.Vector3) { + constructor(parent?: BABYLON.TransformNode, origin?: Base.Point3, rotation?: Base.Vector3) { if (parent !== undefined) { this.parent = parent; } if (origin !== undefined) { this.origin = origin; } if (rotation !== undefined) { this.rotation = rotation; } @@ -132,7 +132,7 @@ export namespace BabylonNode { /** * Optional parent node */ - parent: TransformNode | null; + parent: BABYLON.TransformNode | null; /** * Oirigin of the node */ @@ -144,7 +144,7 @@ export namespace BabylonNode { } export class DrawNodeDto { - constructor(node?: TransformNode, colorX?: string, colorY?: string, colorZ?: string, size?: number) { + constructor(node?: BABYLON.TransformNode, colorX?: string, colorY?: string, colorZ?: string, size?: number) { if (node !== undefined) { this.node = node; } if (colorX !== undefined) { this.colorX = colorX; } if (colorY !== undefined) { this.colorY = colorY; } @@ -154,7 +154,7 @@ export namespace BabylonNode { /** * Transformation node */ - node: TransformNode; + node: BABYLON.TransformNode; /** * Hex encoded color string for X axis */ @@ -174,7 +174,7 @@ export namespace BabylonNode { } export class DrawNodesDto { - constructor(nodes?: TransformNode[], colorX?: string, colorY?: string, colorZ?: string, size?: number) { + constructor(nodes?: BABYLON.TransformNode[], colorX?: string, colorY?: string, colorZ?: string, size?: number) { if (nodes !== undefined) { this.nodes = nodes; } if (colorX !== undefined) { this.colorX = colorX; } if (colorY !== undefined) { this.colorY = colorY; } @@ -184,7 +184,7 @@ export namespace BabylonNode { /** * Nodes that will be drawn */ - nodes: TransformNode[]; + nodes: BABYLON.TransformNode[]; /** * Hex encoded color string for X axis */ diff --git a/packages/dev/babylonjs/package-lock.json b/packages/dev/babylonjs/package-lock.json index 80df9f5a..a8167adc 100644 --- a/packages/dev/babylonjs/package-lock.json +++ b/packages/dev/babylonjs/package-lock.json @@ -1,21 +1,21 @@ { "name": "@bitbybit-dev/babylonjs", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/babylonjs", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@babylonjs/core": "7.35.2", - "@babylonjs/gui": "7.35.2", + "@babylonjs/core": "7.37.1", + "@babylonjs/gui": "7.37.1", "@babylonjs/havok": "1.3.10", - "@babylonjs/loaders": "7.35.2", - "@babylonjs/materials": "7.35.2", - "@babylonjs/serializers": "7.35.2", - "@bitbybit-dev/core": "0.19.0", + "@babylonjs/loaders": "7.37.1", + "@babylonjs/materials": "7.37.1", + "@babylonjs/serializers": "7.37.1", + "@bitbybit-dev/core": "0.19.1", "earcut": "2.2.3" }, "devDependencies": { @@ -1702,14 +1702,14 @@ } }, "node_modules/@babylonjs/core": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-7.35.2.tgz", - "integrity": "sha512-V15G3ZypYbvMyb4tQfsCSkF8SO/7lXuV44fyqOBJGU1FFcOsnP2JdqJiY6RJpFS6q1//8BH/NYZMEllguvlB8A==" + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-7.37.1.tgz", + "integrity": "sha512-EOG87MlZ0e1HCsClSNoeKmB2alr01V1x9wppJ4kUZ6x/OIbW81jVff/Rye0/zttBzfisna+bE5BxIizIjtpSGg==" }, "node_modules/@babylonjs/gui": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-7.35.2.tgz", - "integrity": "sha512-SXcQXaMVGhDzkHZ3XiUJBc5GrodYihVBhuJX7Cvq9XNMbwL/XnEhX533UZq+Fp0tyVycSVQUhwm3RrFNMjwrLQ==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-7.37.1.tgz", + "integrity": "sha512-t3XeLHpQfoRTc678bFWmbaMff4QsSoXei2zwl9n0EqdLaHlHwC/sK3n3MJT7O32VgHoXrXJ6VUwql5Yi1jfc1w==", "peerDependencies": { "@babylonjs/core": "^7.0.0" } @@ -1723,26 +1723,26 @@ } }, "node_modules/@babylonjs/loaders": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-7.35.2.tgz", - "integrity": "sha512-Quw3T2XdcAlzwMTnfMPqQba0KKw+MttYJhmnmMpUErMmqBQkzyuX0p0XWZCzQ9Uihho4WwOwcO48tEXM6gA9Jg==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-7.37.1.tgz", + "integrity": "sha512-1YOaQYPJk5mTiUMhmDwxHjL6WV835H+WaYYw+bAXmWcs5AdFRjbKgK372jm+quyZ9qACr7ipusRR4E+Cy/f/KA==", "peerDependencies": { "@babylonjs/core": "^7.0.0", "babylonjs-gltf2interface": "^7.0.0" } }, "node_modules/@babylonjs/materials": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-7.35.2.tgz", - "integrity": "sha512-wf8gD3l1ZuQVhlmaBbRb4wAxFApXnDzJZ2V6lpsQ14w0HTSNkqvuI4XkIbx/D09CQ7FYZuUHmvTmW5aCX7AcAQ==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-7.37.1.tgz", + "integrity": "sha512-L+ie7AMc83pvMw7jwojbhetWcP6AYikB+0C+uhbGz/sh9Zes3XmaQyCXAeOYugGuZ2/x0wuSCLCwvEaMX3fFcg==", "peerDependencies": { "@babylonjs/core": "^7.0.0" } }, "node_modules/@babylonjs/serializers": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-7.35.2.tgz", - "integrity": "sha512-gciB2bdO0fNLXOqEEY5zLY0PSjeEAXxbKzI6CB6qmi0jJkPilY283RpqxzUzVbfHoUjo7lknzj18MQGNH5hVig==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-7.37.1.tgz", + "integrity": "sha512-ozzGkhrozkelT6qCTTQUnMn8TOLCfVvWhGcoypCCdrAq6PQ31UZk9y+TVzeuXHs93Y/zb4L9dooo/1TGyvl8Rw==", "peerDependencies": { "@babylonjs/core": "^7.0.0", "babylonjs-gltf2interface": "^7.0.0" @@ -1755,30 +1755,30 @@ "dev": true }, "node_modules/@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "node_modules/@bitbybit-dev/core": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.0.tgz", - "integrity": "sha512-Etpdq7ros+07MQLNmxUt2h5oDGoHX7Yvx1T6SQigTJbuGGR7GxP0oWyFQoiK8L9O+4wY2hwUixrqzau/vwh8ew==", - "dependencies": { - "@bitbybit-dev/base": "0.19.0", - "@bitbybit-dev/jscad-worker": "0.19.0", - "@bitbybit-dev/manifold-worker": "0.19.0", - "@bitbybit-dev/occt-worker": "0.19.0", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.1.tgz", + "integrity": "sha512-qpSBWhWN2nMvyjMvhL5xXrelA7rU89AG0nf0Fq0TaN9R2YC7nFiwgZI57Jiy/AwIQ9bJOpAy4wp/4FBF6rDkeg==", + "dependencies": { + "@bitbybit-dev/base": "0.19.1", + "@bitbybit-dev/jscad-worker": "0.19.1", + "@bitbybit-dev/manifold-worker": "0.19.1", + "@bitbybit-dev/occt-worker": "0.19.1", "jsonpath-plus": "10.1.0", "rxjs": "7.5.5", "verb-nurbs-web": "2.1.3" } }, "node_modules/@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "dependencies": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -1787,40 +1787,42 @@ } }, "node_modules/@bitbybit-dev/jscad-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.0.tgz", - "integrity": "sha512-XxUDeZsUVzwen7UvV15lZUT8vnpjmgtcJ6UPWo171Gn1RnAk/gZ47QxIhLhvcSNCntuLcXyC1i3A5SgJTk392Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.1.tgz", + "integrity": "sha512-03XwCK5UF58t7wChSGhyn1Iclc0/XerMrRgsmzVF43I6URu4eVxkeE5kddseCGuPy3DwmwDIWrm0hVyYqSaK1w==", "dependencies": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" } }, "node_modules/@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "dependencies": { "manifold-3d": "3.0.0" } }, "node_modules/@bitbybit-dev/manifold-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.0.tgz", - "integrity": "sha512-xY1Ao1j2Q8gAq6iwgwGrw8nasHhWaSiYK44VvsoJv1CtRV8XqQOf0UYxvpJejRGukqYhlI0p/hSE/NSnEHK10A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.1.tgz", + "integrity": "sha512-uNNTbJosK2dVCa4jTBh3ZeWLtrc4calKLJ6phBJZZ6eQR7MNkTobhOPAZAC3XAMY+yb3dwssg/TPord+zXixXw==", "dependencies": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" } }, "node_modules/@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "node_modules/@bitbybit-dev/occt-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.0.tgz", - "integrity": "sha512-lpuqpRFKw1q4dsN86hgLqhczLtFLMq+92j7o3lUD4aCCIxg+HK0HUutq4r92tI8PMzXSPU1/gBWYFh39d64F9w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.1.tgz", + "integrity": "sha512-63Ykgtc2AiUAhFsb02Uw/UX9rT0GFQ2R3XcLpXp4Vp48EBSiwTX7lLJ1MrN71ptWZaSgUGbJcbT7dtJI6Zedhw==", "dependencies": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" } }, @@ -8446,14 +8448,14 @@ } }, "@babylonjs/core": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-7.35.2.tgz", - "integrity": "sha512-V15G3ZypYbvMyb4tQfsCSkF8SO/7lXuV44fyqOBJGU1FFcOsnP2JdqJiY6RJpFS6q1//8BH/NYZMEllguvlB8A==" + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-7.37.1.tgz", + "integrity": "sha512-EOG87MlZ0e1HCsClSNoeKmB2alr01V1x9wppJ4kUZ6x/OIbW81jVff/Rye0/zttBzfisna+bE5BxIizIjtpSGg==" }, "@babylonjs/gui": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-7.35.2.tgz", - "integrity": "sha512-SXcQXaMVGhDzkHZ3XiUJBc5GrodYihVBhuJX7Cvq9XNMbwL/XnEhX533UZq+Fp0tyVycSVQUhwm3RrFNMjwrLQ==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-7.37.1.tgz", + "integrity": "sha512-t3XeLHpQfoRTc678bFWmbaMff4QsSoXei2zwl9n0EqdLaHlHwC/sK3n3MJT7O32VgHoXrXJ6VUwql5Yi1jfc1w==", "requires": {} }, "@babylonjs/havok": { @@ -8465,21 +8467,21 @@ } }, "@babylonjs/loaders": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-7.35.2.tgz", - "integrity": "sha512-Quw3T2XdcAlzwMTnfMPqQba0KKw+MttYJhmnmMpUErMmqBQkzyuX0p0XWZCzQ9Uihho4WwOwcO48tEXM6gA9Jg==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-7.37.1.tgz", + "integrity": "sha512-1YOaQYPJk5mTiUMhmDwxHjL6WV835H+WaYYw+bAXmWcs5AdFRjbKgK372jm+quyZ9qACr7ipusRR4E+Cy/f/KA==", "requires": {} }, "@babylonjs/materials": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-7.35.2.tgz", - "integrity": "sha512-wf8gD3l1ZuQVhlmaBbRb4wAxFApXnDzJZ2V6lpsQ14w0HTSNkqvuI4XkIbx/D09CQ7FYZuUHmvTmW5aCX7AcAQ==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-7.37.1.tgz", + "integrity": "sha512-L+ie7AMc83pvMw7jwojbhetWcP6AYikB+0C+uhbGz/sh9Zes3XmaQyCXAeOYugGuZ2/x0wuSCLCwvEaMX3fFcg==", "requires": {} }, "@babylonjs/serializers": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-7.35.2.tgz", - "integrity": "sha512-gciB2bdO0fNLXOqEEY5zLY0PSjeEAXxbKzI6CB6qmi0jJkPilY283RpqxzUzVbfHoUjo7lknzj18MQGNH5hVig==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-7.37.1.tgz", + "integrity": "sha512-ozzGkhrozkelT6qCTTQUnMn8TOLCfVvWhGcoypCCdrAq6PQ31UZk9y+TVzeuXHs93Y/zb4L9dooo/1TGyvl8Rw==", "requires": {} }, "@bcoe/v8-coverage": { @@ -8489,30 +8491,30 @@ "dev": true }, "@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "@bitbybit-dev/core": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.0.tgz", - "integrity": "sha512-Etpdq7ros+07MQLNmxUt2h5oDGoHX7Yvx1T6SQigTJbuGGR7GxP0oWyFQoiK8L9O+4wY2hwUixrqzau/vwh8ew==", - "requires": { - "@bitbybit-dev/base": "0.19.0", - "@bitbybit-dev/jscad-worker": "0.19.0", - "@bitbybit-dev/manifold-worker": "0.19.0", - "@bitbybit-dev/occt-worker": "0.19.0", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.1.tgz", + "integrity": "sha512-qpSBWhWN2nMvyjMvhL5xXrelA7rU89AG0nf0Fq0TaN9R2YC7nFiwgZI57Jiy/AwIQ9bJOpAy4wp/4FBF6rDkeg==", + "requires": { + "@bitbybit-dev/base": "0.19.1", + "@bitbybit-dev/jscad-worker": "0.19.1", + "@bitbybit-dev/manifold-worker": "0.19.1", + "@bitbybit-dev/occt-worker": "0.19.1", "jsonpath-plus": "10.1.0", "rxjs": "7.5.5", "verb-nurbs-web": "2.1.3" } }, "@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "requires": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -8521,40 +8523,42 @@ } }, "@bitbybit-dev/jscad-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.0.tgz", - "integrity": "sha512-XxUDeZsUVzwen7UvV15lZUT8vnpjmgtcJ6UPWo171Gn1RnAk/gZ47QxIhLhvcSNCntuLcXyC1i3A5SgJTk392Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.1.tgz", + "integrity": "sha512-03XwCK5UF58t7wChSGhyn1Iclc0/XerMrRgsmzVF43I6URu4eVxkeE5kddseCGuPy3DwmwDIWrm0hVyYqSaK1w==", "requires": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" } }, "@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "requires": { "manifold-3d": "3.0.0" } }, "@bitbybit-dev/manifold-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.0.tgz", - "integrity": "sha512-xY1Ao1j2Q8gAq6iwgwGrw8nasHhWaSiYK44VvsoJv1CtRV8XqQOf0UYxvpJejRGukqYhlI0p/hSE/NSnEHK10A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.1.tgz", + "integrity": "sha512-uNNTbJosK2dVCa4jTBh3ZeWLtrc4calKLJ6phBJZZ6eQR7MNkTobhOPAZAC3XAMY+yb3dwssg/TPord+zXixXw==", "requires": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" } }, "@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "@bitbybit-dev/occt-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.0.tgz", - "integrity": "sha512-lpuqpRFKw1q4dsN86hgLqhczLtFLMq+92j7o3lUD4aCCIxg+HK0HUutq4r92tI8PMzXSPU1/gBWYFh39d64F9w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.1.tgz", + "integrity": "sha512-63Ykgtc2AiUAhFsb02Uw/UX9rT0GFQ2R3XcLpXp4Vp48EBSiwTX7lLJ1MrN71ptWZaSgUGbJcbT7dtJI6Zedhw==", "requires": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" } }, diff --git a/packages/dev/babylonjs/package.json b/packages/dev/babylonjs/package.json index 809e4cf7..8689ffe6 100644 --- a/packages/dev/babylonjs/package.json +++ b/packages/dev/babylonjs/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/babylonjs", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers BABYLONJS CAD Library to Program Geometry", "main": "index.js", "repository": { @@ -44,7 +44,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -54,13 +54,13 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "@babylonjs/core": "7.35.2", - "@babylonjs/gui": "7.35.2", - "@babylonjs/loaders": "7.35.2", - "@babylonjs/materials": "7.35.2", - "@babylonjs/serializers": "7.35.2", + "@babylonjs/core": "7.37.1", + "@babylonjs/gui": "7.37.1", + "@babylonjs/loaders": "7.37.1", + "@babylonjs/materials": "7.37.1", + "@babylonjs/serializers": "7.37.1", "@babylonjs/havok": "1.3.10", - "@bitbybit-dev/core": "0.19.0", + "@bitbybit-dev/core": "0.19.1", "earcut": "2.2.3" }, "devDependencies": { diff --git a/packages/dev/base/package-lock.json b/packages/dev/base/package-lock.json index ea3290dc..f820be31 100644 --- a/packages/dev/base/package-lock.json +++ b/packages/dev/base/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bitbybit-dev/base", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/base", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "devDependencies": { "@babel/core": "7.16.0", @@ -14,7 +14,6 @@ "@babel/preset-typescript": "7.16.0", "@testing-library/jest-dom": "5.14.1", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "jest": "29.4.1", "jest-html-reporters": "3.0.11", @@ -2564,12 +2563,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "node_modules/@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -2672,12 +2665,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -2687,32 +2674,6 @@ "@types/jest": "*" } }, - "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "dependencies": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - } - }, - "node_modules/@types/three/node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - }, - "node_modules/@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "node_modules/@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -2728,12 +2689,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -5857,12 +5812,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -8865,12 +8814,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -8973,12 +8916,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -8988,34 +8925,6 @@ "@types/jest": "*" } }, - "@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "requires": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - }, - "dependencies": { - "fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - } - } - }, - "@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -9031,12 +8940,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -11349,12 +11252,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", diff --git a/packages/dev/base/package.json b/packages/dev/base/package.json index e4af7de5..23eb7488 100644 --- a/packages/dev/base/package.json +++ b/packages/dev/base/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/base", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers Base CAD Library to Program Geometry", "main": "index.js", "repository": { @@ -48,7 +48,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -68,7 +68,6 @@ "ts-jest": "29.0.0", "typescript": "4.8.2", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "@babel/core": "7.16.0", "@babel/preset-env": "7.16.0", diff --git a/packages/dev/core/package-lock.json b/packages/dev/core/package-lock.json index 8ac61cb1..3f2f9e06 100644 --- a/packages/dev/core/package-lock.json +++ b/packages/dev/core/package-lock.json @@ -1,18 +1,18 @@ { "name": "@bitbybit-dev/core", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/core", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@bitbybit-dev/base": "0.19.0", - "@bitbybit-dev/jscad-worker": "0.19.0", - "@bitbybit-dev/manifold-worker": "0.19.0", - "@bitbybit-dev/occt-worker": "0.19.0", + "@bitbybit-dev/base": "0.19.1", + "@bitbybit-dev/jscad-worker": "0.19.1", + "@bitbybit-dev/manifold-worker": "0.19.1", + "@bitbybit-dev/occt-worker": "0.19.1", "jsonpath-plus": "10.1.0", "rxjs": "7.5.5", "verb-nurbs-web": "2.1.3" @@ -1707,16 +1707,16 @@ "dev": true }, "node_modules/@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "node_modules/@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "dependencies": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -1725,40 +1725,42 @@ } }, "node_modules/@bitbybit-dev/jscad-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.0.tgz", - "integrity": "sha512-XxUDeZsUVzwen7UvV15lZUT8vnpjmgtcJ6UPWo171Gn1RnAk/gZ47QxIhLhvcSNCntuLcXyC1i3A5SgJTk392Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.1.tgz", + "integrity": "sha512-03XwCK5UF58t7wChSGhyn1Iclc0/XerMrRgsmzVF43I6URu4eVxkeE5kddseCGuPy3DwmwDIWrm0hVyYqSaK1w==", "dependencies": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" } }, "node_modules/@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "dependencies": { "manifold-3d": "3.0.0" } }, "node_modules/@bitbybit-dev/manifold-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.0.tgz", - "integrity": "sha512-xY1Ao1j2Q8gAq6iwgwGrw8nasHhWaSiYK44VvsoJv1CtRV8XqQOf0UYxvpJejRGukqYhlI0p/hSE/NSnEHK10A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.1.tgz", + "integrity": "sha512-uNNTbJosK2dVCa4jTBh3ZeWLtrc4calKLJ6phBJZZ6eQR7MNkTobhOPAZAC3XAMY+yb3dwssg/TPord+zXixXw==", "dependencies": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" } }, "node_modules/@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "node_modules/@bitbybit-dev/occt-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.0.tgz", - "integrity": "sha512-lpuqpRFKw1q4dsN86hgLqhczLtFLMq+92j7o3lUD4aCCIxg+HK0HUutq4r92tI8PMzXSPU1/gBWYFh39d64F9w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.1.tgz", + "integrity": "sha512-63Ykgtc2AiUAhFsb02Uw/UX9rT0GFQ2R3XcLpXp4Vp48EBSiwTX7lLJ1MrN71ptWZaSgUGbJcbT7dtJI6Zedhw==", "dependencies": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" } }, @@ -8374,16 +8376,16 @@ "dev": true }, "@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "requires": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -8392,40 +8394,42 @@ } }, "@bitbybit-dev/jscad-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.0.tgz", - "integrity": "sha512-XxUDeZsUVzwen7UvV15lZUT8vnpjmgtcJ6UPWo171Gn1RnAk/gZ47QxIhLhvcSNCntuLcXyC1i3A5SgJTk392Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.1.tgz", + "integrity": "sha512-03XwCK5UF58t7wChSGhyn1Iclc0/XerMrRgsmzVF43I6URu4eVxkeE5kddseCGuPy3DwmwDIWrm0hVyYqSaK1w==", "requires": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" } }, "@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "requires": { "manifold-3d": "3.0.0" } }, "@bitbybit-dev/manifold-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.0.tgz", - "integrity": "sha512-xY1Ao1j2Q8gAq6iwgwGrw8nasHhWaSiYK44VvsoJv1CtRV8XqQOf0UYxvpJejRGukqYhlI0p/hSE/NSnEHK10A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.1.tgz", + "integrity": "sha512-uNNTbJosK2dVCa4jTBh3ZeWLtrc4calKLJ6phBJZZ6eQR7MNkTobhOPAZAC3XAMY+yb3dwssg/TPord+zXixXw==", "requires": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" } }, "@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "@bitbybit-dev/occt-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.0.tgz", - "integrity": "sha512-lpuqpRFKw1q4dsN86hgLqhczLtFLMq+92j7o3lUD4aCCIxg+HK0HUutq4r92tI8PMzXSPU1/gBWYFh39d64F9w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.1.tgz", + "integrity": "sha512-63Ykgtc2AiUAhFsb02Uw/UX9rT0GFQ2R3XcLpXp4Vp48EBSiwTX7lLJ1MrN71ptWZaSgUGbJcbT7dtJI6Zedhw==", "requires": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" } }, diff --git a/packages/dev/core/package.json b/packages/dev/core/package.json index 6a911dea..832367ef 100644 --- a/packages/dev/core/package.json +++ b/packages/dev/core/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/core", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers Core CAD API to Program Geometry", "main": "index.js", "repository": { @@ -44,7 +44,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -54,10 +54,10 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "@bitbybit-dev/base": "0.19.0", - "@bitbybit-dev/occt-worker": "0.19.0", - "@bitbybit-dev/manifold-worker": "0.19.0", - "@bitbybit-dev/jscad-worker": "0.19.0", + "@bitbybit-dev/base": "0.19.1", + "@bitbybit-dev/occt-worker": "0.19.1", + "@bitbybit-dev/manifold-worker": "0.19.1", + "@bitbybit-dev/jscad-worker": "0.19.1", "jsonpath-plus": "10.1.0", "verb-nurbs-web": "2.1.3", "rxjs": "7.5.5" diff --git a/packages/dev/jscad-worker/package-lock.json b/packages/dev/jscad-worker/package-lock.json index fe344f63..4ea71b3b 100644 --- a/packages/dev/jscad-worker/package-lock.json +++ b/packages/dev/jscad-worker/package-lock.json @@ -1,15 +1,16 @@ { "name": "@bitbybit-dev/jscad-worker", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/jscad-worker", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" }, "devDependencies": { "@babel/core": "7.16.0", @@ -17,7 +18,6 @@ "@babel/preset-typescript": "7.16.0", "@testing-library/jest-dom": "5.14.1", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "jest": "29.4.1", "jest-html-reporters": "3.0.11", @@ -1702,16 +1702,16 @@ "dev": true }, "node_modules/@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "node_modules/@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "dependencies": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -2629,12 +2629,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "node_modules/@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -2737,12 +2731,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -2752,32 +2740,6 @@ "@types/jest": "*" } }, - "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "dependencies": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - } - }, - "node_modules/@types/three/node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - }, - "node_modules/@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "node_modules/@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -2793,12 +2755,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -5927,12 +5883,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -6410,6 +6360,14 @@ "node": ">=10" } }, + "node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/sass": { "version": "1.57.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", @@ -6823,6 +6781,11 @@ } } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -8273,16 +8236,16 @@ "dev": true }, "@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "requires": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -9010,12 +8973,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -9118,12 +9075,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -9133,34 +9084,6 @@ "@types/jest": "*" } }, - "@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "requires": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - }, - "dependencies": { - "fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - } - } - }, - "@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -9176,12 +9099,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -11499,12 +11416,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -11868,6 +11779,14 @@ "integrity": "sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg==", "dev": true }, + "rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "requires": { + "tslib": "^2.1.0" + } + }, "sass": { "version": "1.57.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", @@ -12153,6 +12072,11 @@ "yn": "3.1.1" } }, + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", diff --git a/packages/dev/jscad-worker/package.json b/packages/dev/jscad-worker/package.json index 91d5bdde..0380bcc5 100644 --- a/packages/dev/jscad-worker/package.json +++ b/packages/dev/jscad-worker/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/jscad-worker", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers JSCAD Based CAD Library to Program Geometry Via WebWorker", "main": "index.js", "repository": { @@ -50,7 +50,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -60,7 +60,8 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" }, "devDependencies": { "sass": "1.57.1", @@ -71,7 +72,6 @@ "ts-jest": "29.0.0", "typescript": "4.8.2", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "@babel/core": "7.16.0", "@babel/preset-env": "7.16.0", diff --git a/packages/dev/jscad/package-lock.json b/packages/dev/jscad/package-lock.json index c337c4d0..a95dda8c 100644 --- a/packages/dev/jscad/package-lock.json +++ b/packages/dev/jscad/package-lock.json @@ -1,15 +1,15 @@ { "name": "@bitbybit-dev/jscad", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/jscad", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -22,7 +22,6 @@ "@babel/preset-typescript": "7.16.0", "@testing-library/jest-dom": "5.14.1", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "jest": "29.4.1", "jest-html-reporters": "3.0.11", @@ -1707,9 +1706,9 @@ "dev": true }, "node_modules/@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", @@ -2621,12 +2620,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "node_modules/@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -2729,12 +2722,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -2744,32 +2731,6 @@ "@types/jest": "*" } }, - "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "dependencies": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - } - }, - "node_modules/@types/three/node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - }, - "node_modules/@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "node_modules/@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -2785,12 +2746,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -5919,12 +5874,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -8265,9 +8214,9 @@ "dev": true }, "@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "@cspotcode/source-map-support": { "version": "0.8.1", @@ -8989,12 +8938,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -9097,12 +9040,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -9112,34 +9049,6 @@ "@types/jest": "*" } }, - "@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "requires": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - }, - "dependencies": { - "fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - } - } - }, - "@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -9155,12 +9064,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -11478,12 +11381,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", diff --git a/packages/dev/jscad/package.json b/packages/dev/jscad/package.json index 8d3f6ed6..fade8821 100644 --- a/packages/dev/jscad/package.json +++ b/packages/dev/jscad/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/jscad", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers JSCAD based CAD Library to Program Geometry", "main": "index.js", "repository": { @@ -48,7 +48,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -58,7 +58,7 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/io-utils": "2.0.28", "@jscad/modeling": "2.12.3", "@jscad/stl-serializer": "2.1.18", @@ -74,7 +74,6 @@ "ts-jest": "29.0.0", "typescript": "4.8.2", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "@babel/core": "7.16.0", "@babel/preset-env": "7.16.0", diff --git a/packages/dev/manifold-worker/package-lock.json b/packages/dev/manifold-worker/package-lock.json index 55d3498a..7bb91e3e 100644 --- a/packages/dev/manifold-worker/package-lock.json +++ b/packages/dev/manifold-worker/package-lock.json @@ -1,15 +1,16 @@ { "name": "@bitbybit-dev/manifold-worker", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/manifold-worker", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" }, "devDependencies": { "@babel/core": "7.16.0", @@ -17,7 +18,6 @@ "@babel/preset-typescript": "7.16.0", "@testing-library/jest-dom": "5.14.1", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "jest": "29.4.1", "jest-html-reporters": "3.0.11", @@ -1702,9 +1702,9 @@ "dev": true }, "node_modules/@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "dependencies": { "manifold-3d": "3.0.0" } @@ -2575,12 +2575,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "node_modules/@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -2683,12 +2677,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -2698,32 +2686,6 @@ "@types/jest": "*" } }, - "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "dependencies": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - } - }, - "node_modules/@types/three/node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - }, - "node_modules/@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "node_modules/@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -2739,12 +2701,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -5873,12 +5829,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -6348,6 +6298,14 @@ "node": ">=10" } }, + "node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/sass": { "version": "1.57.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", @@ -6756,6 +6714,11 @@ } } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -8206,9 +8169,9 @@ "dev": true }, "@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "requires": { "manifold-3d": "3.0.0" } @@ -8889,12 +8852,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -8997,12 +8954,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -9012,34 +8963,6 @@ "@types/jest": "*" } }, - "@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "requires": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - }, - "dependencies": { - "fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - } - } - }, - "@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -9055,12 +8978,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -11378,12 +11295,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -11739,6 +11650,14 @@ "integrity": "sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg==", "dev": true }, + "rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "requires": { + "tslib": "^2.1.0" + } + }, "sass": { "version": "1.57.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", @@ -12019,6 +11938,11 @@ "yn": "3.1.1" } }, + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", diff --git a/packages/dev/manifold-worker/package.json b/packages/dev/manifold-worker/package.json index f920ed91..2c96242f 100644 --- a/packages/dev/manifold-worker/package.json +++ b/packages/dev/manifold-worker/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/manifold-worker", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers Manifold Based CAD Library to Program Geometry Via WebWorker", "main": "index.js", "repository": { @@ -50,7 +50,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -60,7 +60,8 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" }, "devDependencies": { "sass": "1.57.1", @@ -71,7 +72,6 @@ "ts-jest": "29.0.0", "typescript": "4.8.2", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "@babel/core": "7.16.0", "@babel/preset-env": "7.16.0", diff --git a/packages/dev/manifold/package-lock.json b/packages/dev/manifold/package-lock.json index 3d727658..a3ce91a9 100644 --- a/packages/dev/manifold/package-lock.json +++ b/packages/dev/manifold/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bitbybit-dev/manifold", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/manifold", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { "manifold-3d": "3.0.0" @@ -17,7 +17,6 @@ "@babel/preset-typescript": "7.16.0", "@testing-library/jest-dom": "5.14.1", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "babel-plugin-transform-import-meta": "2.2.1", "jest": "29.4.1", @@ -2568,12 +2567,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "node_modules/@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -2676,12 +2669,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -2691,32 +2678,6 @@ "@types/jest": "*" } }, - "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "dependencies": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - } - }, - "node_modules/@types/three/node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - }, - "node_modules/@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "node_modules/@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -2732,12 +2693,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -5879,12 +5834,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -8893,12 +8842,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - "dev": true - }, "@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -9001,12 +8944,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true - }, "@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -9016,34 +8953,6 @@ "@types/jest": "*" } }, - "@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", - "dev": true, - "requires": { - "@tweenjs/tween.js": "~23.1.3", - "@types/stats.js": "*", - "@types/webxr": "*", - "@webgpu/types": "*", - "fflate": "~0.8.2", - "meshoptimizer": "~0.18.1" - }, - "dependencies": { - "fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - } - } - }, - "@types/webxr": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", - "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", - "dev": true - }, "@types/yargs": { "version": "17.0.22", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", @@ -9059,12 +8968,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", - "dev": true - }, "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", @@ -11392,12 +11295,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", diff --git a/packages/dev/manifold/package.json b/packages/dev/manifold/package.json index ee3d8278..252b2fa8 100644 --- a/packages/dev/manifold/package.json +++ b/packages/dev/manifold/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/manifold", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers Manifold based CAD Library to Program Geometry", "main": "index.js", "repository": { @@ -48,7 +48,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -69,7 +69,6 @@ "ts-jest": "29.0.0", "typescript": "4.8.2", "@types/jest": "29.0.0", - "@types/three": "0.169.0", "babel-jest": "29.0.0", "@babel/core": "7.16.0", "@babel/preset-env": "7.16.0", diff --git a/packages/dev/occt-worker/package-lock.json b/packages/dev/occt-worker/package-lock.json index b758ce78..61c8376d 100644 --- a/packages/dev/occt-worker/package-lock.json +++ b/packages/dev/occt-worker/package-lock.json @@ -1,15 +1,15 @@ { "name": "@bitbybit-dev/occt-worker", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/occt-worker", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" }, "devDependencies": { @@ -1702,9 +1702,9 @@ "dev": true }, "node_modules/@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", @@ -8161,9 +8161,9 @@ "dev": true }, "@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "@cspotcode/source-map-support": { "version": "0.8.1", diff --git a/packages/dev/occt-worker/package.json b/packages/dev/occt-worker/package.json index 67e1d49f..199c5018 100644 --- a/packages/dev/occt-worker/package.json +++ b/packages/dev/occt-worker/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/occt-worker", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel adapted for WebWorker", "main": "index.js", "repository": { @@ -45,7 +45,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme-license && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme-license": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "docs": "./node_modules/.bin/sass ts-doc-theme/assets/css/main.sass ts-doc-theme/assets/css/main.css && node_modules/.bin/typedoc --out ts-api-docs/ lib/api --theme ./ts-doc-theme --excludePrivate --tsconfig lib/api/tsconfig.bbb.json --media assets/images/blockly-block-images/", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", @@ -56,7 +56,7 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" }, "devDependencies": { diff --git a/packages/dev/occt/package-lock.json b/packages/dev/occt/package-lock.json index 852393a3..c662d95e 100644 --- a/packages/dev/occt/package-lock.json +++ b/packages/dev/occt/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bitbybit-dev/occt", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/occt", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "devDependencies": { "@babel/core": "7.16.0", diff --git a/packages/dev/occt/package.json b/packages/dev/occt/package.json index 7b924391..b0d59e05 100644 --- a/packages/dev/occt/package.json +++ b/packages/dev/occt/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/occt", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel. Run in Node and in Browser.", "main": "index.js", "repository": { @@ -21,7 +21,7 @@ "copy-package": "cp -R ./package.json ./dist/package.json", "copy-occt": "cp -R ./bitbybit-dev-occt ./dist", "copy-readme-license": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "build-occt": "node generate-prod-build-yaml.js && cd bitbybit-dev-occt && docker run --rm -it -v \"$(pwd):/src\" -u \"$(id -u):$(id -g)\" donalffons/opencascade.js bitbybit-dev-occt.yml && cd ../", "build-occt-multithreaded": "node generate-prod-build-yaml-multithreaded.js && cd bitbybit-dev-occt-multithreaded && docker run --rm -it -v \"$(pwd):/src\" -u \"$(id -u):$(id -g)\" donalffons/opencascade.js:multi-threaded bitbybit-dev-occt.yml && cd ../", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", diff --git a/packages/dev/threejs/lib/api/bitbybit-base.ts b/packages/dev/threejs/lib/api/bitbybit-base.ts index 2eb98680..c5a28bfc 100644 --- a/packages/dev/threejs/lib/api/bitbybit-base.ts +++ b/packages/dev/threejs/lib/api/bitbybit-base.ts @@ -25,7 +25,7 @@ import { ManifoldWorkerManager } from "@bitbybit-dev/manifold-worker"; import * as vrb from "verb-nurbs-web"; import { DrawHelper } from "./draw-helper"; import { ThreeJS } from "./bitbybit/threejs"; -import { Scene } from "three"; +import * as THREEJS from "three"; export class BitByBitBase { @@ -85,7 +85,7 @@ export class BitByBitBase { this.lists = new Lists(); } - init(scene: Scene, occt?: Worker, jscad?: Worker, manifold?: Worker) { + init(scene: THREEJS.Scene, occt?: Worker, jscad?: Worker, manifold?: Worker) { const verb = { geom: vrb.geom, core: vrb.core }; this.context.scene = scene; this.context.verb = verb; diff --git a/packages/dev/threejs/lib/api/bitbybit/draw.test.ts b/packages/dev/threejs/lib/api/bitbybit/draw.test.ts index 33d61fdb..7e54a95d 100644 --- a/packages/dev/threejs/lib/api/bitbybit/draw.test.ts +++ b/packages/dev/threejs/lib/api/bitbybit/draw.test.ts @@ -1,31 +1,37 @@ -import { GeometryHelper, JSCADText, MathBitByBit, Tag, Vector } from "@bitbybit-dev/core"; +import { Tag } from "@bitbybit-dev/core"; +import { JSCADText } from "@bitbybit-dev/jscad-worker"; +import { GeometryHelper, MathBitByBit, Vector } from "@bitbybit-dev/base"; import { Context } from "../context"; import { DrawHelper } from "../draw-helper"; import { Draw } from "./draw"; -import { JSCADWorkerManager } from "@bitbybit-dev/core/lib/workers"; +import { JSCADWorkerManager } from "@bitbybit-dev/jscad-worker"; import { OCCTWorkerManager } from "@bitbybit-dev/occt-worker/lib"; import { InstancedMesh, LineSegments, Mesh, MeshPhongMaterial, Scene } from "three"; import * as Inputs from "../inputs"; +import { ManifoldWorkerManager } from "@bitbybit-dev/manifold-worker"; describe("Draw unit tests", () => { let draw: Draw; let tag: Tag; let occtWorkerManager: OCCTWorkerManager; let jscadWorkerManager: JSCADWorkerManager; + let manifoldWorkerManager: ManifoldWorkerManager; let vector: Vector; beforeAll(async () => { const context = new Context(); jscadWorkerManager = new JSCADWorkerManager(); occtWorkerManager = new OCCTWorkerManager(); + manifoldWorkerManager = new ManifoldWorkerManager(); const solidText = new JSCADText(jscadWorkerManager); + const math = new MathBitByBit(); const geometryHelper = new GeometryHelper(); - vector = new Vector(context, math, geometryHelper); + vector = new Vector(math, geometryHelper); - const drawHelper = new DrawHelper(context, solidText, vector, jscadWorkerManager, occtWorkerManager); + const drawHelper = new DrawHelper(context, solidText, vector, jscadWorkerManager, manifoldWorkerManager, occtWorkerManager); context.scene = new Scene(); tag = new Tag(context); draw = new Draw(drawHelper, context, tag); diff --git a/packages/dev/threejs/lib/api/bitbybit/draw.ts b/packages/dev/threejs/lib/api/bitbybit/draw.ts index f593167d..64735a07 100644 --- a/packages/dev/threejs/lib/api/bitbybit/draw.ts +++ b/packages/dev/threejs/lib/api/bitbybit/draw.ts @@ -1,4 +1,4 @@ -import { Group } from "three"; +import * as THREEJS from "three"; import { DrawCore, Tag } from "@bitbybit-dev/core"; import * as Inputs from "../inputs"; import { Base } from "@bitbybit-dev/core/lib/api/inputs/base-inputs"; @@ -14,14 +14,14 @@ export class Draw extends DrawCore { }; constructor( - private readonly drawHelper: DrawHelper, - private readonly context: Context, - private readonly tag: Tag + public readonly drawHelper: DrawHelper, + public readonly context: Context, + public readonly tag: Tag ) { super(); } - async drawAnyAsync(inputs: Inputs.Draw.DrawAny): Promise { + async drawAnyAsync(inputs: Inputs.Draw.DrawAny): Promise { const entity = inputs.entity; if (entity === undefined || (Array.isArray(entity) && entity.length === 0)) { return Promise.resolve(undefined); @@ -52,7 +52,7 @@ export class Draw extends DrawCore { * @group draw sync * @shortname draw sync */ - drawAny(inputs: Inputs.Draw.DrawAny): Group { + drawAny(inputs: Inputs.Draw.DrawAny): THREEJS.Group { let result; const entity = inputs.entity; if (!inputs.group) { @@ -88,7 +88,7 @@ export class Draw extends DrawCore { return result; } - private handleJscadMesh(inputs: Inputs.Draw.DrawAny): Promise { + private handleJscadMesh(inputs: Inputs.Draw.DrawAny): Promise { return this.handleAsync(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawSolidOrPolygonMesh({ jscadMesh: inputs.group, @@ -98,7 +98,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.jscadMesh); } - private handleJscadMeshes(inputs: Inputs.Draw.DrawAny): Promise { + private handleJscadMeshes(inputs: Inputs.Draw.DrawAny): Promise { return this.handleAsync(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawSolidOrPolygonMeshes({ jscadMesh: inputs.group, @@ -108,7 +108,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.jscadMeshes); } - private handleManifoldShape(inputs: Inputs.Draw.DrawAny): Promise { + private handleManifoldShape(inputs: Inputs.Draw.DrawAny): Promise { return this.handleAsync(inputs, new Inputs.Manifold.DrawManifoldOrCrossSectionDto(inputs.entity), (options) => { return this.drawHelper.drawManifoldOrCrossSection({ manifoldOrCrossSection: inputs.entity as Inputs.Manifold.ManifoldPointer | Inputs.Manifold.CrossSectionPointer, @@ -118,7 +118,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.occt); } - private handleManifoldShapes(inputs: Inputs.Draw.DrawAny): Promise { + private handleManifoldShapes(inputs: Inputs.Draw.DrawAny): Promise { return this.handleAsync(inputs, new Inputs.Manifold.DrawManifoldOrCrossSectionDto(inputs.entity), (options) => { return this.drawHelper.drawManifoldsOrCrossSections({ manifoldsOrCrossSections: inputs.entity as (Inputs.Manifold.ManifoldPointer | Inputs.Manifold.CrossSectionPointer)[], @@ -128,7 +128,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.occt); } - private handleOcctShape(inputs: Inputs.Draw.DrawAny): Promise { + private handleOcctShape(inputs: Inputs.Draw.DrawAny): Promise { return this.handleAsync(inputs, new Inputs.OCCT.DrawShapeDto(inputs.entity), (options) => { return this.drawHelper.drawShape({ shape: inputs.entity as Inputs.OCCT.TopoDSShapePointer, @@ -138,7 +138,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.occt); } - private handleOcctShapes(inputs: Inputs.Draw.DrawAny): Promise { + private handleOcctShapes(inputs: Inputs.Draw.DrawAny): Promise { return this.handleAsync(inputs, new Inputs.OCCT.DrawShapeDto(inputs.entity), (options) => { return this.drawHelper.drawShapes({ shapes: inputs.entity as Inputs.OCCT.TopoDSShapePointer[], @@ -148,7 +148,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.occtShapes); } - private handleLine(inputs: Inputs.Draw.DrawAny): Group { + private handleLine(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { const line = inputs.entity as Inputs.Base.Line3; return this.drawHelper.drawPolylinesWithColours({ @@ -159,7 +159,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.line); } - private handlePoint(inputs: Inputs.Draw.DrawAny) { + private handlePoint(inputs: Inputs.Draw.DrawAny) { return this.handle(inputs, this.defaultBasicOptions, (options) => { return this.drawHelper.drawPoint({ pointMesh: inputs.group, @@ -169,7 +169,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.point); } - private handlePolyline(inputs: Inputs.Draw.DrawAny): Group { + private handlePolyline(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawPolylineClose({ polylineMesh: inputs.group, @@ -179,7 +179,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.polyline); } - private handleVerbCurve(inputs: Inputs.Draw.DrawAny): Group { + private handleVerbCurve(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawCurve({ curveMesh: inputs.group, @@ -189,7 +189,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.verbCurve); } - private handleVerbSurface(inputs: Inputs.Draw.DrawAny): Group { + private handleVerbSurface(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawSurface({ surfaceMesh: inputs.group, @@ -199,7 +199,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.verbSurface); } - private handlePolylines(inputs: Inputs.Draw.DrawAny): Group { + private handlePolylines(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawPolylinesWithColours({ polylinesMesh: inputs.group, @@ -209,7 +209,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.polylines); } - private handleLines(inputs: Inputs.Draw.DrawAny): Group { + private handleLines(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { const lines = inputs.entity as Inputs.Base.Line3[]; return this.drawHelper.drawPolylinesWithColours({ @@ -220,7 +220,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.lines); } - private handlePoints(inputs: Inputs.Draw.DrawAny): Group { + private handlePoints(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawPoints({ pointsMesh: inputs.group, @@ -230,7 +230,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.points); } - private handleVerbCurves(inputs: Inputs.Draw.DrawAny) { + private handleVerbCurves(inputs: Inputs.Draw.DrawAny) { return this.handle(inputs, this.defaultPolylineOptions, (options) => { return this.drawHelper.drawCurves({ curvesMesh: inputs.group, @@ -240,7 +240,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.verbCurves); } - private handleVerbSurfaces(inputs: Inputs.Draw.DrawAny): Group { + private handleVerbSurfaces(inputs: Inputs.Draw.DrawAny): THREEJS.Group { return this.handle(inputs, this.defaultBasicOptions, (options) => { return this.drawHelper.drawSurfacesMultiColour({ surfacesMesh: inputs.group, @@ -250,7 +250,7 @@ export class Draw extends DrawCore { }, Inputs.Draw.drawingTypes.verbSurfaces); } - private handleTag(inputs: Inputs.Draw.DrawAny) { + private handleTag(inputs: Inputs.Draw.DrawAny) { const options = inputs.options ? inputs.options : { updatable: false, }; @@ -263,7 +263,7 @@ export class Draw extends DrawCore { return result; } - private handleTags(inputs: Inputs.Draw.DrawAny) { + private handleTags(inputs: Inputs.Draw.DrawAny) { const options = inputs.options ? inputs.options : { updatable: false, }; @@ -277,7 +277,7 @@ export class Draw extends DrawCore { return result; } - private updateAny(inputs: Inputs.Draw.DrawAny): Group { + private updateAny(inputs: Inputs.Draw.DrawAny): THREEJS.Group { let result; if (inputs.group && inputs.group.userData) { const type = inputs.group.userData.type as Inputs.Draw.drawingTypes; @@ -325,7 +325,7 @@ export class Draw extends DrawCore { return result; } - private handle(inputs: Inputs.Draw.DrawAny, defaultOptions: Inputs.Draw.DrawOptions, action: (inputs) => Group, type: Inputs.Draw.drawingTypes): Group { + private handle(inputs: Inputs.Draw.DrawAny, defaultOptions: Inputs.Draw.DrawOptions, action: (inputs) => THREEJS.Group, type: Inputs.Draw.drawingTypes): THREEJS.Group { let options = inputs.options ? inputs.options : defaultOptions; if (!inputs.options && inputs.group && inputs.group.userData.options) { options = inputs.group.userData.options; @@ -335,7 +335,7 @@ export class Draw extends DrawCore { return result; } - private async handleAsync(inputs: Inputs.Draw.DrawAny, defaultOptions: Inputs.Draw.DrawOptions, action: (inputs) => Promise, type: Inputs.Draw.drawingTypes): Promise { + private async handleAsync(inputs: Inputs.Draw.DrawAny, defaultOptions: Inputs.Draw.DrawOptions, action: (inputs) => Promise, type: Inputs.Draw.drawingTypes): Promise { let options = inputs.options ? inputs.options : defaultOptions; if (!inputs.options && inputs.group && inputs.group.userData.options) { options = inputs.group.userData.options; @@ -347,7 +347,7 @@ export class Draw extends DrawCore { }); } - private applyGlobalSettingsAndMetadataAndShadowCasting(type: Inputs.Draw.drawingTypes, options: Inputs.Draw.DrawOptions, result: Group | undefined) { + private applyGlobalSettingsAndMetadataAndShadowCasting(type: Inputs.Draw.drawingTypes, options: Inputs.Draw.DrawOptions, result: THREEJS.Group | undefined) { if (result) { const typemeta = { type, options }; result.userData = result.userData ? { ...result.userData, ...typemeta } : typemeta; diff --git a/packages/dev/threejs/lib/api/context.ts b/packages/dev/threejs/lib/api/context.ts index ac17517f..82f2bc31 100644 --- a/packages/dev/threejs/lib/api/context.ts +++ b/packages/dev/threejs/lib/api/context.ts @@ -1,6 +1,6 @@ import { ContextBase } from "@bitbybit-dev/core"; -import { Scene } from "three"; +import * as THREEJS from "three"; export class Context extends ContextBase { - scene: Scene; + scene: THREEJS.Scene; } diff --git a/packages/dev/threejs/lib/api/draw-helper.test.ts b/packages/dev/threejs/lib/api/draw-helper.test.ts index bbab10a0..376883e4 100644 --- a/packages/dev/threejs/lib/api/draw-helper.test.ts +++ b/packages/dev/threejs/lib/api/draw-helper.test.ts @@ -18,7 +18,7 @@ describe("Draw unit tests", () => { const solidText = new JSCADText(jscadWorkerManager); const math = new MathBitByBit(); const geometryHelper = new GeometryHelper(); - const vector = new Vector(context, math, geometryHelper); + const vector = new Vector(math, geometryHelper); drawHelper = new DrawHelper(context, solidText, vector, jscadWorkerManager, manifoldWorkerManager, occtWorkerManager); context.scene = new Scene(); }); diff --git a/packages/dev/threejs/lib/api/draw-helper.ts b/packages/dev/threejs/lib/api/draw-helper.ts index 45384267..1d83f2b9 100644 --- a/packages/dev/threejs/lib/api/draw-helper.ts +++ b/packages/dev/threejs/lib/api/draw-helper.ts @@ -7,11 +7,7 @@ import { Vector } from "@bitbybit-dev/base"; import { JSCADWorkerManager } from "@bitbybit-dev/jscad-worker"; import { ManifoldWorkerManager } from "@bitbybit-dev/manifold-worker"; import { OCCTWorkerManager } from "@bitbybit-dev/occt-worker"; -import { - BufferAttribute, BufferGeometry, Color, Group, Mesh, MeshPhysicalMaterial, - Vector3, Float32BufferAttribute, LineBasicMaterial, LineSegments, - MeshBasicMaterial, SphereGeometry, InstancedMesh, Matrix4 -} from "three"; +import * as THREEJS from "three"; import * as BufferGeometryUtils from "three/examples/jsm/utils/BufferGeometryUtils"; export class DrawHelper extends DrawHelperCore { @@ -20,7 +16,7 @@ export class DrawHelper extends DrawHelperCore { hex: string, alpha: number, zOffset: number, - material: MeshPhysicalMaterial + material: THREEJS.MeshPhysicalMaterial }[] = []; constructor( @@ -34,11 +30,11 @@ export class DrawHelper extends DrawHelperCore { super(vector); } - async drawManifoldsOrCrossSections(inputs: Inputs.Manifold.DrawManifoldsOrCrossSectionsDto): Promise { + async drawManifoldsOrCrossSections(inputs: Inputs.Manifold.DrawManifoldsOrCrossSectionsDto): Promise { const options = this.deleteFaceMaterialForWorker(inputs); const decomposedMesh: Inputs.Manifold.DecomposedManifoldMeshDto[] = await this.manifoldWorkerManager.genericCallToWorkerPromise("decomposeManifoldsOrCrossSections", inputs); const meshes = decomposedMesh.map(dec => this.handleDecomposedManifold(dec, options)).filter(s => s !== undefined); - const manifoldMeshContainer = new Group(); + const manifoldMeshContainer = new THREEJS.Group(); manifoldMeshContainer.name = "manifoldMeshContainer-" + Math.random(); meshes.forEach(mesh => { mesh.parent = manifoldMeshContainer; @@ -47,23 +43,23 @@ export class DrawHelper extends DrawHelperCore { return manifoldMeshContainer; } - async drawManifoldOrCrossSection(inputs: Inputs.Manifold.DrawManifoldOrCrossSectionDto): Promise { + async drawManifoldOrCrossSection(inputs: Inputs.Manifold.DrawManifoldOrCrossSectionDto): Promise { const options = this.deleteFaceMaterialForWorker(inputs); const decomposedMesh: Inputs.Manifold.DecomposedManifoldMeshDto = await this.manifoldWorkerManager.genericCallToWorkerPromise("decomposeManifoldOrCrossSection", inputs); return this.handleDecomposedManifold(decomposedMesh, options); } - async drawShape(inputs: Inputs.OCCT.DrawShapeDto): Promise { + async drawShape(inputs: Inputs.OCCT.DrawShapeDto): Promise { const options = this.deleteFaceMaterialForWorker(inputs); const decomposedMesh: Inputs.OCCT.DecomposedMeshDto = await this.occWorkerManager.genericCallToWorkerPromise("shapeToMesh", inputs); return this.handleDecomposedMesh(inputs, decomposedMesh, options); } - async drawShapes(inputs: Inputs.OCCT.DrawShapesDto): Promise { + async drawShapes(inputs: Inputs.OCCT.DrawShapesDto): Promise { const options = this.deleteFaceMaterialForWorker(inputs); const meshes: Inputs.OCCT.DecomposedMeshDto[] = await this.occWorkerManager.genericCallToWorkerPromise("shapesToMeshes", inputs); const meshesSolved = await Promise.all(meshes.map(async decomposedMesh => this.handleDecomposedMesh(inputs, decomposedMesh, options))); - const shapesMeshContainer = new Group(); + const shapesMeshContainer = new THREEJS.Group(); shapesMeshContainer.name = "shapesMeshContainer-" + Math.random(); this.context.scene.add(shapesMeshContainer); meshesSolved.forEach(mesh => { @@ -72,7 +68,7 @@ export class DrawHelper extends DrawHelperCore { return shapesMeshContainer; } - async drawSolidOrPolygonMesh(inputs: Inputs.JSCAD.DrawSolidMeshDto): Promise { + async drawSolidOrPolygonMesh(inputs: Inputs.JSCAD.DrawSolidMeshDto): Promise { const res: { positions: number[], normals: number[], @@ -83,7 +79,7 @@ export class DrawHelper extends DrawHelperCore { if (inputs.jscadMesh && inputs.updatable) { meshToUpdate = inputs.jscadMesh; } else { - meshToUpdate = new Group(); + meshToUpdate = new THREEJS.Group(); meshToUpdate.name = `jscadMesh-${Math.random()}`; this.context.scene.add(meshToUpdate); } @@ -91,7 +87,7 @@ export class DrawHelper extends DrawHelperCore { if (inputs.mesh.color && inputs.mesh.color.length > 0) { // if jscad geometry is colorized and color is baked on geometry it will be used over anything that set in the draw options const c = inputs.mesh.color; - colour = "#" + new Color(c[0], c[1], c[2]).getHexString(); + colour = "#" + new THREEJS.Color(c[0], c[1], c[2]).getHexString(); } else { colour = Array.isArray(inputs.colours) ? inputs.colours[0] : inputs.colours; } @@ -100,7 +96,7 @@ export class DrawHelper extends DrawHelperCore { return s; } - async drawSolidOrPolygonMeshes(inputs: Inputs.JSCAD.DrawSolidMeshesDto): Promise { + async drawSolidOrPolygonMeshes(inputs: Inputs.JSCAD.DrawSolidMeshesDto): Promise { return this.jscadWorkerManager.genericCallToWorkerPromise("shapesToMeshes", inputs).then((res: { positions: number[], normals: number[], @@ -109,12 +105,12 @@ export class DrawHelper extends DrawHelperCore { color?: number[] }[]) => { - let localOrigin: Group; + let localOrigin: THREEJS.Group; if (inputs.jscadMesh && inputs.updatable) { localOrigin = inputs.jscadMesh; localOrigin.clear(); } else { - localOrigin = new Group(); + localOrigin = new THREEJS.Group(); localOrigin.name = `jscadMeshes-${Math.random()}`; } @@ -122,12 +118,12 @@ export class DrawHelper extends DrawHelperCore { const colorsAreArrays = Array.isArray(inputs.colours); res.map((r, index) => { - const meshToUpdate = new Group(); + const meshToUpdate = new THREEJS.Group(); meshToUpdate.name = `jscadMeshes-${Math.random()}`; let colour; if (r.color) { const c = r.color; - colour = "#" + new Color(c[0], c[1], c[2]).getHexString(); + colour = "#" + new THREEJS.Color(c[0], c[1], c[2]).getHexString(); } else if (colourIsArrayAndMatches) { colour = inputs.colours[index]; } else if (colorsAreArrays) { @@ -144,7 +140,7 @@ export class DrawHelper extends DrawHelperCore { }); } - drawPolylinesWithColours(inputs: Inputs.Polyline.DrawPolylinesDto) { + drawPolylinesWithColours(inputs: Inputs.Polyline.DrawPolylinesDto) { let colours = inputs.colours; const points = inputs.polylines.map((s, index) => { const pts = s.points; @@ -158,7 +154,7 @@ export class DrawHelper extends DrawHelperCore { colours = []; } if (Array.isArray(s.color)) { - colours[index] = "#" + new Color(s.color[0], s.color[1], s.color[2]).getHexString(); + colours[index] = "#" + new THREEJS.Color(s.color[0], s.color[1], s.color[2]).getHexString(); } else { colours[index] = s.color; } @@ -166,9 +162,9 @@ export class DrawHelper extends DrawHelperCore { return pts; }); - let lineSegments: LineSegments; + let lineSegments: THREEJS.LineSegments; if (inputs.polylinesMesh && inputs.updatable) { - lineSegments = inputs.polylinesMesh.children[0] as LineSegments; + lineSegments = inputs.polylinesMesh.children[0] as THREEJS.LineSegments; } const polylines = this.drawPolylines( lineSegments, @@ -180,7 +176,7 @@ export class DrawHelper extends DrawHelperCore { ); if (inputs.polylinesMesh && inputs.updatable) { if (inputs.polylinesMesh.children[0].name !== polylines.name) { - const group = new Group(); + const group = new THREEJS.Group(); group.name = `polylines-${Math.random()}`; group.add(polylines); this.context.scene.add(group); @@ -189,7 +185,7 @@ export class DrawHelper extends DrawHelperCore { return inputs.polylinesMesh; } } else { - const group = new Group(); + const group = new THREEJS.Group(); group.name = `polylines-${Math.random()}`; group.add(polylines); this.context.scene.add(group); @@ -197,7 +193,7 @@ export class DrawHelper extends DrawHelperCore { } } - drawPoint(inputs: Inputs.Point.DrawPointDto): Group { + drawPoint(inputs: Inputs.Point.DrawPointDto): THREEJS.Group { const vectorPoints = [inputs.point]; let colorsHex: string[] = []; @@ -216,7 +212,7 @@ export class DrawHelper extends DrawHelperCore { return inputs.pointMesh; } - drawPolylineClose(inputs: Inputs.Polyline.DrawPolylineDto): Group { + drawPolylineClose(inputs: Inputs.Polyline.DrawPolylineDto): THREEJS.Group { const points = inputs.polyline.points; if (inputs.polyline.isClosed) { points.push(points[0]); @@ -231,16 +227,16 @@ export class DrawHelper extends DrawHelperCore { ); } - drawPolyline(mesh: Group, + drawPolyline(mesh: THREEJS.Group, pointsToDraw: Inputs.Base.Point3[], - updatable: boolean, size: number, opacity: number, colours: string | string[]): Group { - let lineSegments: LineSegments; + updatable: boolean, size: number, opacity: number, colours: string | string[]): THREEJS.Group { + let lineSegments: THREEJS.LineSegments; if (mesh && mesh.children.length > 0) { - lineSegments = mesh.children[0] as LineSegments; + lineSegments = mesh.children[0] as THREEJS.LineSegments; } const polylines = this.drawPolylines(lineSegments, [pointsToDraw], updatable, size, opacity, colours); if (!mesh) { - mesh = new Group(); + mesh = new THREEJS.Group(); mesh.name = `polyline-${Math.random()}`; mesh.add(polylines); this.context.scene.add(mesh); @@ -248,7 +244,7 @@ export class DrawHelper extends DrawHelperCore { return mesh; } - drawCurve(inputs: Inputs.Verb.DrawCurveDto): Group { + drawCurve(inputs: Inputs.Verb.DrawCurveDto): THREEJS.Group { const points = inputs.curve.tessellate(); return this.drawPolyline( inputs.curveMesh, @@ -260,7 +256,7 @@ export class DrawHelper extends DrawHelperCore { ); } - drawPoints(inputs: Inputs.Point.DrawPointsDto): Group { + drawPoints(inputs: Inputs.Point.DrawPointsDto): THREEJS.Group { const vectorPoints = inputs.points; let coloursHex: string[] = []; if (Array.isArray(inputs.colours)) { @@ -288,30 +284,30 @@ export class DrawHelper extends DrawHelperCore { return inputs.pointsMesh; } - updatePointsInstances(group: Group, positions: Inputs.Base.Point3[]): void { - const children = group.children as InstancedMesh[]; + updatePointsInstances(group: THREEJS.Group, positions: Inputs.Base.Point3[]): void { + const children = group.children as THREEJS.InstancedMesh[]; const po = {}; positions.forEach((pos, index) => { - po[index] = new Vector3(pos[0], pos[1], pos[2]); + po[index] = new THREEJS.Vector3(pos[0], pos[1], pos[2]); }); - children.forEach((child: InstancedMesh) => { + children.forEach((child: THREEJS.InstancedMesh) => { const index = child.userData.index; const p = po[index]; child.position.set(p.x, p.y, p.z); }); } - drawCurves(inputs: Inputs.Verb.DrawCurvesDto): Group { + drawCurves(inputs: Inputs.Verb.DrawCurvesDto): THREEJS.Group { const points = inputs.curves.map(s => ({ points: s.tessellate() })); return this.drawPolylinesWithColours({ polylines: points, polylinesMesh: inputs.curvesMesh, ...inputs }); } - drawSurfacesMultiColour(inputs: Inputs.Verb.DrawSurfacesColoursDto): Group { + drawSurfacesMultiColour(inputs: Inputs.Verb.DrawSurfacesColoursDto): THREEJS.Group { if (inputs.surfacesMesh && inputs.updatable) { inputs.surfacesMesh.clear(); } else { - inputs.surfacesMesh = new Group(); + inputs.surfacesMesh = new THREEJS.Group(); inputs.surfacesMesh.name = `colouredSurfaces-${Math.random()}`; this.context.scene.add(inputs.surfacesMesh); } @@ -344,7 +340,7 @@ export class DrawHelper extends DrawHelperCore { } private createPointSpheresMesh( - meshName: string, positions: Inputs.Base.Point3[], colors: string[], opacity: number, size: number, updatable: boolean): Group { + meshName: string, positions: Inputs.Base.Point3[], colors: string[], opacity: number, size: number, updatable: boolean): THREEJS.Group { const positionsModel = positions.map((pos, index) => { return { position: pos, @@ -356,23 +352,23 @@ export class DrawHelper extends DrawHelperCore { const colorSet = Array.from(new Set(colors)); const materialSet = colorSet.map((colour, index) => { - const mat = new MeshBasicMaterial({ name: `mat-${Math.random()}` }); + const mat = new THREEJS.MeshBasicMaterial({ name: `mat-${Math.random()}` }); mat.opacity = opacity; - mat.color = new Color(colour); + mat.color = new THREEJS.Color(colour); const positions = positionsModel.filter(s => s.color === colour); return { hex: colorSet, material: mat, positions }; }); - const pointsGroup = new Group(); + const pointsGroup = new THREEJS.Group(); pointsGroup.name = meshName; this.context.scene.add(pointsGroup); materialSet.forEach(ms => { const segments = ms.positions.length > 1000 ? 1 : 6; - const geom = new SphereGeometry(size, segments, segments); + const geom = new THREEJS.SphereGeometry(size, segments, segments); ms.positions.forEach((pos, index) => { - const instance = new InstancedMesh(geom, ms.material, 1); + const instance = new THREEJS.InstancedMesh(geom, ms.material, 1); instance.name = `point-${index}-${Math.random()}`; instance.position.set(pos.position[0], pos.position[1], pos.position[2]); instance.userData = { index: pos.index }; @@ -386,20 +382,20 @@ export class DrawHelper extends DrawHelperCore { createOrUpdateSurfacesMesh( meshDataConverted: { positions: number[]; indices: number[]; normals: number[]; uvs?: number[] }[], - group: Group, updatable: boolean, material: MeshPhysicalMaterial, addToScene: boolean, hidden: boolean - ): Group { + group: THREEJS.Group, updatable: boolean, material: THREEJS.MeshPhysicalMaterial, addToScene: boolean, hidden: boolean + ): THREEJS.Group { const createMesh = () => { - const geometries: BufferGeometry[] = []; + const geometries: THREEJS.BufferGeometry[] = []; meshDataConverted.forEach(mesh => { - const geometry = new BufferGeometry(); - geometry.setAttribute("position", new BufferAttribute(Float32Array.from(mesh.positions), 3)); - geometry.setAttribute("normal", new BufferAttribute(Float32Array.from(mesh.normals), 3)); + const geometry = new THREEJS.BufferGeometry(); + geometry.setAttribute("position", new THREEJS.BufferAttribute(Float32Array.from(mesh.positions), 3)); + geometry.setAttribute("normal", new THREEJS.BufferAttribute(Float32Array.from(mesh.normals), 3)); if (mesh.uvs) { - geometry.setAttribute("uv", new BufferAttribute(Uint32Array.from(mesh.uvs), 2)); - geometry.setAttribute("uv2", new BufferAttribute(Uint32Array.from(mesh.uvs), 2)); + geometry.setAttribute("uv", new THREEJS.BufferAttribute(Uint32Array.from(mesh.uvs), 2)); + geometry.setAttribute("uv2", new THREEJS.BufferAttribute(Uint32Array.from(mesh.uvs), 2)); } - geometry.setIndex(new BufferAttribute(Uint32Array.from(mesh.indices), 1)); + geometry.setIndex(new THREEJS.BufferAttribute(Uint32Array.from(mesh.indices), 1)); geometries.push(geometry); }); const geometry = BufferGeometryUtils.mergeGeometries(geometries, false); @@ -410,9 +406,9 @@ export class DrawHelper extends DrawHelperCore { group.clear(); const geometry = createMesh(); if (material) { - group.add(new Mesh(geometry, material)); + group.add(new THREEJS.Mesh(geometry, material)); } else { - group.add(new Mesh(geometry)); + group.add(new THREEJS.Mesh(geometry)); } } else { let scene = null; @@ -420,14 +416,14 @@ export class DrawHelper extends DrawHelperCore { scene = this.context.scene; } - group = new Group(); + group = new THREEJS.Group(); group.name = `surface-${Math.random()}`; scene.add(group); const geometry = createMesh(); if (material) { - group.add(new Mesh(geometry, material)); + group.add(new THREEJS.Mesh(geometry, material)); } else { - group.add(new Mesh(geometry)); + group.add(new THREEJS.Mesh(geometry)); } } if (hidden) { @@ -436,7 +432,7 @@ export class DrawHelper extends DrawHelperCore { return group; } - drawSurface(inputs: Inputs.Verb.DrawSurfaceDto): Group { + drawSurface(inputs: Inputs.Verb.DrawSurfaceDto): THREEJS.Group { const meshData = inputs.surface.tessellate(); const meshDataConverted = { @@ -450,10 +446,10 @@ export class DrawHelper extends DrawHelperCore { countIndices = this.parseFaces(faceIndices, meshData, meshDataConverted, countIndices); }); - const pbr = new MeshPhysicalMaterial(); + const pbr = new THREEJS.MeshPhysicalMaterial(); pbr.name = `pbr-${Math.random()}`; - pbr.color = new Color(Array.isArray(inputs.colours) ? inputs.colours[0] : inputs.colours); + pbr.color = new THREEJS.Color(Array.isArray(inputs.colours) ? inputs.colours[0] : inputs.colours); pbr.metalness = 0.5; pbr.roughness = 0.7; pbr.opacity = inputs.opacity; @@ -485,10 +481,10 @@ export class DrawHelper extends DrawHelperCore { return countIndices; } - private makeMesh(inputs: { updatable: boolean, opacity: number, colour: string, hidden: boolean }, meshToUpdate: Group, res: { positions: number[]; normals: number[]; indices: number[]; transforms: []; }) { - const pbr = new MeshPhysicalMaterial(); + private makeMesh(inputs: { updatable: boolean, opacity: number, colour: string, hidden: boolean }, meshToUpdate: THREEJS.Group, res: { positions: number[]; normals: number[]; indices: number[]; transforms: []; }) { + const pbr = new THREEJS.MeshPhysicalMaterial(); pbr.name = `jscadMaterial-${Math.random()}`; - pbr.color = new Color(inputs.colour); + pbr.color = new THREEJS.Color(inputs.colour); pbr.metalness = 0.4; pbr.roughness = 0.6; pbr.alphaTest = inputs.opacity; @@ -502,21 +498,21 @@ export class DrawHelper extends DrawHelperCore { } private createMesh( - positions: number[], indices: number[], normals: number[], jscadMesh: Group, transforms: number[], updatable: boolean, material: MeshPhysicalMaterial + positions: number[], indices: number[], normals: number[], jscadMesh: THREEJS.Group, transforms: number[], updatable: boolean, material: THREEJS.MeshPhysicalMaterial ): void { - const geometry = new BufferGeometry(); - geometry.setAttribute("position", new BufferAttribute(Float32Array.from(positions), 3)); - geometry.setIndex(new BufferAttribute(Uint32Array.from(indices), 1)); + const geometry = new THREEJS.BufferGeometry(); + geometry.setAttribute("position", new THREEJS.BufferAttribute(Float32Array.from(positions), 3)); + geometry.setIndex(new THREEJS.BufferAttribute(Uint32Array.from(indices), 1)); geometry.computeVertexNormals(); - const matrix4 = new Matrix4(); + const matrix4 = new THREEJS.Matrix4(); matrix4.fromArray(transforms); jscadMesh.clear(); - jscadMesh.add(new Mesh(geometry, material)); + jscadMesh.add(new THREEJS.Mesh(geometry, material)); jscadMesh.applyMatrix4(matrix4); } private async handleDecomposedMesh(inputs: Inputs.OCCT.DrawShapeDto, decomposedMesh: Inputs.OCCT.DecomposedMeshDto, options: Inputs.Draw.DrawOcctShapeOptions) { - const shapeGroup = new Group(); + const shapeGroup = new THREEJS.Group(); shapeGroup.name = "brepMesh-" + Math.random(); this.context.scene.add(shapeGroup); let dummy; @@ -536,9 +532,9 @@ export class DrawHelper extends DrawHelperCore { if (materialCached) { pbr = materialCached.material; } else { - const pbmat = new MeshPhysicalMaterial(); + const pbmat = new THREEJS.MeshPhysicalMaterial(); - pbmat.color = new Color(hex); + pbmat.color = new THREEJS.Color(hex); pbmat.metalness = 0.4; pbmat.roughness = 0.8; pbmat.alphaTest = alpha; @@ -651,7 +647,7 @@ export class DrawHelper extends DrawHelperCore { return shapeGroup; } - private drawPolylines(lineSegments: LineSegments, polylinesPoints: Inputs.Base.Vector3[][], updatable: boolean, + private drawPolylines(lineSegments: THREEJS.LineSegments, polylinesPoints: Inputs.Base.Vector3[][], updatable: boolean, size: number, opacity: number, colours: string | string[]) { if (polylinesPoints && polylinesPoints.length > 0) { const lineVertices = []; @@ -661,19 +657,19 @@ export class DrawHelper extends DrawHelperCore { const c = pts[i]; const n = pts[i + 1]; - lineVertices.push(new Vector3( + lineVertices.push(new THREEJS.Vector3( c[0], c[1], c[2] )); - lineVertices.push(new Vector3( + lineVertices.push(new THREEJS.Vector3( n[0], n[1], n[2] )); } }); - let lines: LineSegments; + let lines: THREEJS.LineSegments; if (lineSegments && updatable) { if (lineSegments?.userData?.linesForRenderLengths === polylinesPoints.map(l => l.length).toString()) { lineSegments.geometry.clearGroups(); @@ -695,43 +691,43 @@ export class DrawHelper extends DrawHelperCore { } private createLineGeometry(lineVertices: any[], colours: string | string[], size: number) { - const lineGeometry = new BufferGeometry().setFromPoints(lineVertices); + const lineGeometry = new THREEJS.BufferGeometry().setFromPoints(lineVertices); - const color = Array.isArray(colours) ? new Color(colours[0]) : new Color(colours); + const color = Array.isArray(colours) ? new THREEJS.Color(colours[0]) : new THREEJS.Color(colours); const lineColors = []; for (let i = 0; i < lineVertices.length; i++) { lineColors.push(color.r, color.g, color.b); } - lineGeometry.setAttribute("color", new Float32BufferAttribute(lineColors, 3)); - const lineMaterial = new LineBasicMaterial({ + lineGeometry.setAttribute("color", new THREEJS.Float32BufferAttribute(lineColors, 3)); + const lineMaterial = new THREEJS.LineBasicMaterial({ color: 0xffffff, linewidth: size, vertexColors: true }); - const line = new LineSegments(lineGeometry, lineMaterial); + const line = new THREEJS.LineSegments(lineGeometry, lineMaterial); line.name = "lines-" + Math.random(); return line; } private handleDecomposedManifold( decomposedManifold: Inputs.Manifold.DecomposedManifoldMeshDto | Inputs.Base.Vector2[][], - options: Inputs.Draw.DrawManifoldOrCrossSectionOptions): Group { + options: Inputs.Draw.DrawManifoldOrCrossSectionOptions): THREEJS.Group { if ((decomposedManifold as Inputs.Manifold.DecomposedManifoldMeshDto).vertProperties) { const decomposedMesh = decomposedManifold as Inputs.Manifold.DecomposedManifoldMeshDto; if (decomposedMesh.triVerts.length !== 0) { - const geometry = new BufferGeometry(); - geometry.setAttribute("position", new BufferAttribute(decomposedMesh.vertProperties, 3)); - geometry.setIndex(new BufferAttribute(decomposedMesh.triVerts, 1)); + const geometry = new THREEJS.BufferGeometry(); + geometry.setAttribute("position", new THREEJS.BufferAttribute(decomposedMesh.vertProperties, 3)); + geometry.setIndex(new THREEJS.BufferAttribute(decomposedMesh.triVerts, 1)); geometry.computeVertexNormals(); - const group = new Group(); + const group = new THREEJS.Group(); group.name = `manifoldMesh-${Math.random()}`; if (options.faceMaterial === undefined) { - const material = new MeshPhysicalMaterial(); + const material = new THREEJS.MeshPhysicalMaterial(); material.name = `pbr-${Math.random()}`; - material.color = new Color(options.faceColour); + material.color = new THREEJS.Color(options.faceColour); material.metalness = 0.5; material.roughness = 0.7; material.opacity = options.faceOpacity; @@ -739,9 +735,9 @@ export class DrawHelper extends DrawHelperCore { if (!options.computeNormals) { material.flatShading = true; } - group.add(new Mesh(geometry, material)); + group.add(new THREEJS.Mesh(geometry, material)); } else { - group.add(new Mesh(geometry, options.faceMaterial)); + group.add(new THREEJS.Mesh(geometry, options.faceMaterial)); } this.context.scene.add(group); return group; @@ -752,7 +748,7 @@ export class DrawHelper extends DrawHelperCore { const decompsoedPolygons = decomposedManifold as Inputs.Base.Vector2[][]; if (decompsoedPolygons.length > 0) { - const group = new Group(); + const group = new THREEJS.Group(); group.name = `manifoldCrossSection-${Math.random()}`; const polylines = decompsoedPolygons.map(polygon => ({ points: polygon.map(p => [p[0], p[1], 0] as Inputs.Base.Point3), diff --git a/packages/dev/threejs/package-lock.json b/packages/dev/threejs/package-lock.json index fa12ef8e..436e2539 100644 --- a/packages/dev/threejs/package-lock.json +++ b/packages/dev/threejs/package-lock.json @@ -1,16 +1,16 @@ { "name": "@bitbybit-dev/threejs", - "version": "0.19.0", + "version": "0.19.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bitbybit-dev/threejs", - "version": "0.19.0", + "version": "0.19.1", "license": "MIT", "dependencies": { - "@bitbybit-dev/core": "0.19.0", - "three": "0.170.0" + "@bitbybit-dev/core": "0.19.1", + "three": "0.171.0" }, "devDependencies": { "@babel/core": "7.16.0", @@ -18,7 +18,7 @@ "@babel/preset-typescript": "7.16.0", "@testing-library/jest-dom": "5.14.1", "@types/jest": "29.0.0", - "@types/three": "0.169.0", + "@types/three": "0.170.0", "babel-jest": "29.0.0", "jest": "29.4.1", "jest-html-reporters": "3.0.11", @@ -1703,30 +1703,30 @@ "dev": true }, "node_modules/@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "node_modules/@bitbybit-dev/core": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.0.tgz", - "integrity": "sha512-Etpdq7ros+07MQLNmxUt2h5oDGoHX7Yvx1T6SQigTJbuGGR7GxP0oWyFQoiK8L9O+4wY2hwUixrqzau/vwh8ew==", - "dependencies": { - "@bitbybit-dev/base": "0.19.0", - "@bitbybit-dev/jscad-worker": "0.19.0", - "@bitbybit-dev/manifold-worker": "0.19.0", - "@bitbybit-dev/occt-worker": "0.19.0", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.1.tgz", + "integrity": "sha512-qpSBWhWN2nMvyjMvhL5xXrelA7rU89AG0nf0Fq0TaN9R2YC7nFiwgZI57Jiy/AwIQ9bJOpAy4wp/4FBF6rDkeg==", + "dependencies": { + "@bitbybit-dev/base": "0.19.1", + "@bitbybit-dev/jscad-worker": "0.19.1", + "@bitbybit-dev/manifold-worker": "0.19.1", + "@bitbybit-dev/occt-worker": "0.19.1", "jsonpath-plus": "10.1.0", "rxjs": "7.5.5", "verb-nurbs-web": "2.1.3" } }, "node_modules/@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "dependencies": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -1735,40 +1735,42 @@ } }, "node_modules/@bitbybit-dev/jscad-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.0.tgz", - "integrity": "sha512-XxUDeZsUVzwen7UvV15lZUT8vnpjmgtcJ6UPWo171Gn1RnAk/gZ47QxIhLhvcSNCntuLcXyC1i3A5SgJTk392Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.1.tgz", + "integrity": "sha512-03XwCK5UF58t7wChSGhyn1Iclc0/XerMrRgsmzVF43I6URu4eVxkeE5kddseCGuPy3DwmwDIWrm0hVyYqSaK1w==", "dependencies": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" } }, "node_modules/@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "dependencies": { "manifold-3d": "3.0.0" } }, "node_modules/@bitbybit-dev/manifold-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.0.tgz", - "integrity": "sha512-xY1Ao1j2Q8gAq6iwgwGrw8nasHhWaSiYK44VvsoJv1CtRV8XqQOf0UYxvpJejRGukqYhlI0p/hSE/NSnEHK10A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.1.tgz", + "integrity": "sha512-uNNTbJosK2dVCa4jTBh3ZeWLtrc4calKLJ6phBJZZ6eQR7MNkTobhOPAZAC3XAMY+yb3dwssg/TPord+zXixXw==", "dependencies": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" } }, "node_modules/@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "node_modules/@bitbybit-dev/occt-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.0.tgz", - "integrity": "sha512-lpuqpRFKw1q4dsN86hgLqhczLtFLMq+92j7o3lUD4aCCIxg+HK0HUutq4r92tI8PMzXSPU1/gBWYFh39d64F9w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.1.tgz", + "integrity": "sha512-63Ykgtc2AiUAhFsb02Uw/UX9rT0GFQ2R3XcLpXp4Vp48EBSiwTX7lLJ1MrN71ptWZaSgUGbJcbT7dtJI6Zedhw==", "dependencies": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" } }, @@ -2828,9 +2830,9 @@ } }, "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.170.0.tgz", + "integrity": "sha512-CUm2uckq+zkCY7ZbFpviRttY+6f9fvwm6YqSqPfA5K22s9w7R4VnA3rzJse8kHVvuzLcTx+CjNCs2NYe0QFAyg==", "dev": true, "dependencies": { "@tweenjs/tween.js": "~23.1.3", @@ -6812,9 +6814,9 @@ } }, "node_modules/three": { - "version": "0.170.0", - "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz", - "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==" + "version": "0.171.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.171.0.tgz", + "integrity": "sha512-Y/lAXPaKZPcEdkKjh0JOAHVv8OOnv/NDJqm0wjfCzyQmfKxV7zvkwsnBgPBKTzJHToSOhRGQAGbPJObT59B/PQ==" }, "node_modules/tmpl": { "version": "1.0.5", @@ -8439,30 +8441,30 @@ "dev": true }, "@bitbybit-dev/base": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.0.tgz", - "integrity": "sha512-1pg2YXjYgwanGxpMf3ZpUicLDtrn/8QvnKaME97H01zWouRXZTx1gjHYHRWvI2I6KFzT7PxNdk7aVP/XJlwi4w==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/base/-/base-0.19.1.tgz", + "integrity": "sha512-DkAo0dk6riZwOTqiSGZ7AqVKcBGnb24nw+afui2rODVhoHKbCLYsAFM/SOe4e7HTbu0X9ZGCbv+hHdwo6zEi/w==" }, "@bitbybit-dev/core": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.0.tgz", - "integrity": "sha512-Etpdq7ros+07MQLNmxUt2h5oDGoHX7Yvx1T6SQigTJbuGGR7GxP0oWyFQoiK8L9O+4wY2hwUixrqzau/vwh8ew==", - "requires": { - "@bitbybit-dev/base": "0.19.0", - "@bitbybit-dev/jscad-worker": "0.19.0", - "@bitbybit-dev/manifold-worker": "0.19.0", - "@bitbybit-dev/occt-worker": "0.19.0", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/core/-/core-0.19.1.tgz", + "integrity": "sha512-qpSBWhWN2nMvyjMvhL5xXrelA7rU89AG0nf0Fq0TaN9R2YC7nFiwgZI57Jiy/AwIQ9bJOpAy4wp/4FBF6rDkeg==", + "requires": { + "@bitbybit-dev/base": "0.19.1", + "@bitbybit-dev/jscad-worker": "0.19.1", + "@bitbybit-dev/manifold-worker": "0.19.1", + "@bitbybit-dev/occt-worker": "0.19.1", "jsonpath-plus": "10.1.0", "rxjs": "7.5.5", "verb-nurbs-web": "2.1.3" } }, "@bitbybit-dev/jscad": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.0.tgz", - "integrity": "sha512-tdGlxJPdt1h57uF9ojVpHm2czdYbmBoagai9KZ2o3PTBcxGYzJQYDVN9DPqbwB0A2ouO+z6RpeBr/Srk0BuA3A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad/-/jscad-0.19.1.tgz", + "integrity": "sha512-JvNArjG0aVHVAOPtMJJpKQRJDTYHWySiUKzPouikLOlmJVqCCVvTJ6OVv1MFgCB24WthkuuyFkhUFvpKW5RQgA==", "requires": { - "@bitbybit-dev/base": "0.19.0", + "@bitbybit-dev/base": "0.19.1", "@jscad/3mf-serializer": "2.1.12", "@jscad/dxf-serializer": "2.1.18", "@jscad/io-utils": "2.0.28", @@ -8471,40 +8473,42 @@ } }, "@bitbybit-dev/jscad-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.0.tgz", - "integrity": "sha512-XxUDeZsUVzwen7UvV15lZUT8vnpjmgtcJ6UPWo171Gn1RnAk/gZ47QxIhLhvcSNCntuLcXyC1i3A5SgJTk392Q==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/jscad-worker/-/jscad-worker-0.19.1.tgz", + "integrity": "sha512-03XwCK5UF58t7wChSGhyn1Iclc0/XerMrRgsmzVF43I6URu4eVxkeE5kddseCGuPy3DwmwDIWrm0hVyYqSaK1w==", "requires": { - "@bitbybit-dev/jscad": "0.19.0" + "@bitbybit-dev/jscad": "0.19.1", + "rxjs": "7.5.5" } }, "@bitbybit-dev/manifold": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.0.tgz", - "integrity": "sha512-xdpIlrj3CX+XDRQeIDvQ8PwdIS3tV4XQAVsVwlVgFfdT9tQ+k2Rzm9RYP7PRFDpmv19NuxNuAdavzxW5lzukNw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold/-/manifold-0.19.1.tgz", + "integrity": "sha512-E3GDuRxSN2jm04leChvlSbflqezAtOzI4dQCrWgHvP//HldybhKqj0YFJ/SemtDRe0r1gm39uJ8zy5t2C2oWfA==", "requires": { "manifold-3d": "3.0.0" } }, "@bitbybit-dev/manifold-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.0.tgz", - "integrity": "sha512-xY1Ao1j2Q8gAq6iwgwGrw8nasHhWaSiYK44VvsoJv1CtRV8XqQOf0UYxvpJejRGukqYhlI0p/hSE/NSnEHK10A==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/manifold-worker/-/manifold-worker-0.19.1.tgz", + "integrity": "sha512-uNNTbJosK2dVCa4jTBh3ZeWLtrc4calKLJ6phBJZZ6eQR7MNkTobhOPAZAC3XAMY+yb3dwssg/TPord+zXixXw==", "requires": { - "@bitbybit-dev/manifold": "0.19.0" + "@bitbybit-dev/manifold": "0.19.1", + "rxjs": "7.5.5" } }, "@bitbybit-dev/occt": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.0.tgz", - "integrity": "sha512-SN5Ce7e933hGXiCTz/9y8+0vr81kUwxHV1S1AB31zN7PuTNLIfGQEdcNXisbHOwwvMF/3Gewcbc+hpIUU5kZYw==" + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt/-/occt-0.19.1.tgz", + "integrity": "sha512-8dqmDBAh/TAoyGHQR3W9qeOe1U+7XOGoVxnqqoETm2H0X3kOJVX/YFvdzSfWjhH6S0nsD8zN9XK1aHhPhqtn1Q==" }, "@bitbybit-dev/occt-worker": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.0.tgz", - "integrity": "sha512-lpuqpRFKw1q4dsN86hgLqhczLtFLMq+92j7o3lUD4aCCIxg+HK0HUutq4r92tI8PMzXSPU1/gBWYFh39d64F9w==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@bitbybit-dev/occt-worker/-/occt-worker-0.19.1.tgz", + "integrity": "sha512-63Ykgtc2AiUAhFsb02Uw/UX9rT0GFQ2R3XcLpXp4Vp48EBSiwTX7lLJ1MrN71ptWZaSgUGbJcbT7dtJI6Zedhw==", "requires": { - "@bitbybit-dev/occt": "0.19.0", + "@bitbybit-dev/occt": "0.19.1", "rxjs": "7.5.5" } }, @@ -9364,9 +9368,9 @@ } }, "@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.170.0.tgz", + "integrity": "sha512-CUm2uckq+zkCY7ZbFpviRttY+6f9fvwm6YqSqPfA5K22s9w7R4VnA3rzJse8kHVvuzLcTx+CjNCs2NYe0QFAyg==", "dev": true, "requires": { "@tweenjs/tween.js": "~23.1.3", @@ -12349,9 +12353,9 @@ } }, "three": { - "version": "0.170.0", - "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz", - "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==" + "version": "0.171.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.171.0.tgz", + "integrity": "sha512-Y/lAXPaKZPcEdkKjh0JOAHVv8OOnv/NDJqm0wjfCzyQmfKxV7zvkwsnBgPBKTzJHToSOhRGQAGbPJObT59B/PQ==" }, "tmpl": { "version": "1.0.5", diff --git a/packages/dev/threejs/package.json b/packages/dev/threejs/package.json index aa5957e5..f423d39a 100644 --- a/packages/dev/threejs/package.json +++ b/packages/dev/threejs/package.json @@ -1,6 +1,6 @@ { "name": "@bitbybit-dev/threejs", - "version": "0.19.0", + "version": "0.19.1", "description": "Bit By Bit Developers THREEJS CAD Library to Program Geometry", "main": "index.js", "repository": { @@ -44,7 +44,7 @@ "build-p": "npm run build && npm run copy-package && npm run copy-readme && npm run delete-coverage", "copy-package": "cp -R ./package.json ./dist", "copy-readme": "cp -R ./README.md ./dist && cp -R ./LICENSE ./dist", - "delete-coverage": "rm -R ./dist/coverage", + "delete-coverage": "rm -rf ./dist/coverage || true", "test": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --watchAll=true", "test-c": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=false", "test-c-l": "set NODE_OPTIONS=--experimental-specifier-resolution=node && jest --coverage --watchAll=true" @@ -54,8 +54,8 @@ "types": "./index.d.ts", "type": "module", "dependencies": { - "three": "0.170.0", - "@bitbybit-dev/core": "0.19.0" + "three": "0.171.0", + "@bitbybit-dev/core": "0.19.1" }, "devDependencies": { "sass": "1.57.1", @@ -66,7 +66,7 @@ "ts-jest": "29.0.0", "typescript": "4.8.2", "@types/jest": "29.0.0", - "@types/three": "0.169.0", + "@types/three": "0.170.0", "babel-jest": "29.0.0", "@babel/core": "7.16.0", "@babel/preset-env": "7.16.0",