From e23637652c0ba8b1433492ee45fb7f0d42bd885e Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 6 Feb 2024 18:17:35 +0100 Subject: [PATCH 1/5] Create source maps for easier debugging --- tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/tsconfig.json b/tsconfig.json index b5e076d..2121eef 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,6 +14,7 @@ "declaration": true, "declarationMap": true, "noImplicitAny": false, + "sourceMap": true, "paths": { "@3d-tiles-tools/structure": ["./packages/structure/"], From 38adf1cd435bff6d7599314c8e21a1bd7c2c14f6 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 6 Feb 2024 18:17:55 +0100 Subject: [PATCH 2/5] Fix wrong command name in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd9e32d..0088e77 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ npx 3d-tiles-tools cmptToGlb -i ./specs/data/composite.cmpt -o ./output/extracte Split a cmpt tile into its inner tiles. The output file name for each inner tile will be determined by appending a number to the given output file name, and an extension that depends on the type of the inner tile data. ``` -npx 3d-tiles-tools cmptToGlb -i ./specs/data/compositeOfComposite.cmpt -o ./output/inner --recursive +npx 3d-tiles-tools splitCmpt -i ./specs/data/compositeOfComposite.cmpt -o ./output/inner --recursive ``` For an input file `compositeOfComposite.cmpt` that contains a composite tile that contains one B3DM and one I3DM content, this will generate the files `inner_0.b3dm` and `inner_1.i3dm` in the output directory. From c02bc629e410185242a5dc8e598e1487c30d52f3 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 6 Feb 2024 18:58:44 +0100 Subject: [PATCH 3/5] Pin glTF-Transform version --- packages/gltf-extensions/package.json | 2 +- packages/tools/package.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/gltf-extensions/package.json b/packages/gltf-extensions/package.json index d516c15..e2dec39 100644 --- a/packages/gltf-extensions/package.json +++ b/packages/gltf-extensions/package.json @@ -8,7 +8,7 @@ "exports": "./build/src/index.js", "types": "./build/src/index.d.ts", "dependencies": { - "@gltf-transform/core": "^3.2.1" + "@gltf-transform/core": "3.9.0" }, "devDependencies": { "typescript": "^4.8.3" diff --git a/packages/tools/package.json b/packages/tools/package.json index 979eea0..866930e 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -14,9 +14,9 @@ "@3d-tiles-tools/base": "0.4.0", "@3d-tiles-tools/metadata": "0.4.0", "@3d-tiles-tools/tilesets": "0.4.0", - "@gltf-transform/core": "^3.2.1", - "@gltf-transform/extensions": "^3.2.1", - "@gltf-transform/functions": "^3.2.1", + "@gltf-transform/core": "3.9.0", + "@gltf-transform/extensions": "3.9.0", + "@gltf-transform/functions": "3.9.0", "cesium": "^1.103.0", "draco3d": "^1.5.6", "gltf-pipeline": "^4.1.0", From f5f9b2458dd5b22c8e08998f3020130f8ec0369d Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 6 Feb 2024 18:58:56 +0100 Subject: [PATCH 4/5] Update ThirdParty.json --- ThirdParty.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ThirdParty.json b/ThirdParty.json index 265d245..17c9e88 100644 --- a/ThirdParty.json +++ b/ThirdParty.json @@ -44,7 +44,7 @@ "license": [ "Apache-2.0" ], - "version": "1.112.0", + "version": "1.114.0", "url": "https://www.npmjs.com/package/cesium" }, { @@ -52,7 +52,7 @@ "license": [ "Apache-2.0" ], - "version": "1.5.6", + "version": "1.5.7", "url": "https://www.npmjs.com/package/draco3d" }, { @@ -84,7 +84,7 @@ "license": [ "MIT" ], - "version": "8.17.0", + "version": "8.18.0", "url": "https://www.npmjs.com/package/pino" }, { @@ -92,7 +92,7 @@ "license": [ "MIT" ], - "version": "10.2.3", + "version": "10.3.1", "url": "https://www.npmjs.com/package/pino-pretty" }, { From e35db65f08988daa2bb2261ecf6406211d897178 Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 6 Feb 2024 18:59:18 +0100 Subject: [PATCH 5/5] Update CHANGES.md --- CHANGES.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 26c774e..1e6071b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,21 @@ Change Log ========== +### 0.4.0 - 2024-02-06 + +- The 3D Tiles Tools have been split into multiple packages. + For users of the command-line interface, this should not make a noticable difference: The installed package declares all other packages as its dependencies, and installs them transparently. + Structurally, the packages are now organized as a 'monorepo', meaning that all packages are maintained in this repository, in a `packages` subfolder. Further details about the structure can be found in the updated [implementation notes](./IMPLEMENTATION.md). +- Improved the computation of bounding volumes in [#79](https://github.com/CesiumGS/3d-tiles-tools/pull/79) + - Some bounding volumes had been computed as bounding spheres or as non-tight-fitting oriented bounding boxes. By integrating the [dito.ts](https://github.com/Esri/dito.ts) library, it is now possible to compute tighter-fitting oriented bounding boxes for tile content ([#58](https://github.com/CesiumGS/3d-tiles-tools/issues/58)) and creating bounding boxes instead of bounding spheres when applying the `merge` command ([#69](https://github.com/CesiumGS/3d-tiles-tools/issues/69)) +- Fixed a bug where `b3dmToGlb` left invalid "padding" bytes at the end of GLB data [#82](https://github.com/CesiumGS/3d-tiles-tools/issues/82) +- Added a `splitCmpt` function to split a composite (CMPT) file into its elements [#78](https://github.com/CesiumGS/3d-tiles-tools/issues/78) +- Extended the support for instanced 3D model (I3DM) files that used a URI to refer to an external GLB file [#45](https://github.com/CesiumGS/3d-tiles-tools/issues/45) +- Fixed a bug where the upgrade of batched 3D models (B3DM) into GLB files with metadata caused errors when the B3DM contained `null` or `undefined` strings in its batch table [#96](https://github.com/CesiumGS/3d-tiles-tools/pull/96) +- Fixed a bug where GLB files could not be processed (and caused crashes) when they did not contain a `BIN` chunk [#94](https://github.com/CesiumGS/3d-tiles-tools/pull/94) +- Extended the upgrade of legacy B3DM that contained glTF 1.0 data with oct-encoded (2D) normals. These normals are now decoded into 3D normals as part of the upgrade [#98](https://github.com/CesiumGS/3d-tiles-tools/pull/98) + + ### 0.3.2 - 2023-11-01 - The `upgrade` command is now removing empty `tile.children` arrays, setting the `children` to be `undefined` instead (via [#73](https://github.com/CesiumGS/3d-tiles-tools/pull/73))