Skip to content

Commit ed39201

Browse files
committed
Merge remote-tracking branch 'upstream/main' into bounding-volume-generalizations
2 parents ab32ec9 + 8b85d7b commit ed39201

File tree

218 files changed

+4881
-767
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+4881
-767
lines changed

.eslintrc.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
],
77
"parser": "@typescript-eslint/parser",
88
"parserOptions": {
9-
"ecmaVersion": 2020
9+
"ecmaVersion": 2020,
10+
"project": "./tsconfig.json"
1011
},
1112
"plugins": ["@typescript-eslint"],
1213
"root": true,
1314
"rules": {
1415
"@typescript-eslint/no-explicit-any": "off",
15-
"@typescript-eslint/no-empty-interface": "off"
16+
"@typescript-eslint/no-empty-interface": "off",
17+
"@typescript-eslint/no-floating-promises": "error"
1618
}
1719
}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
package-lock.json
33
.eslintcache
4+
/.vscode
45
/.nyc_output
56
/coverage
67
/node_modules

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/node_modules
1010
/output
1111
/specs
12+
/.vscode
1213
.eslintcache
1314
.eslintignore
1415
.eslintrc.json

CHANGES.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
11
Change Log
22
==========
33

4+
### 0.5.0 - 2025-02-17
5+
6+
- Fix the `upgrade` command to properly handle a `gltfUpAxis` that may be defined in the tileset JSON, via [#166](https://github.com/CesiumGS/3d-tiles-tools/pull/166)
7+
- **Breaking**: Change the `TilesetSource` and `TilesetTarget` interfaces to be completely asynchronous, via [#167](https://github.com/CesiumGS/3d-tiles-tools/pull/167)
8+
- Clients that used the functions from this interface will generally just have to `await` the results of calling these functions
9+
- As part of this change, the `TraversedTile` now returns a subtree URI only for the implicit tileset root, and not for the explicit tile that defines the implicit tiling
10+
- **Breaking**: Consistently use `undefined` instead of `null` as return types, via [#169](https://github.com/CesiumGS/3d-tiles-tools/pull/169)
11+
- Clients will have to update their checks from `null` to `undefined` accordingly. This change does _not_ apply to glTF extension implementations that are based on glTF-Transform.
12+
- Handle the presence of the `CESIUM_RTC` extension in glTF 2.0 during the `upgrade`, via [#172](https://github.com/CesiumGS/3d-tiles-tools/pull/172)
13+
- Fix several smaller bugs for reading 3TZ files, e.g. ones that used 'extras' in the ZIP file headers, via [#173](https://github.com/CesiumGS/3d-tiles-tools/pull/173)
14+
15+
### 0.4.4 - 2024-12-03
16+
17+
- Updated the `better-sqlite3` dependency from 8.0.1 to 11.5.0 to support NodeJS 22
18+
- Updated the NodeJS version requirement to >=18 for compatibility with latest CesiumJS version
19+
- Fixed a bug where applying the `merge` or `mergeJson` command to multiple implicit tilesets created an invalid result, via [#161](https://github.com/CesiumGS/3d-tiles-tools/pull/161)
20+
- Fixed a bug where resolving binary glTF data failed for glTF that used the `EXT_meshopt_compression` glTF extension with fallback buffers, via [#160](https://github.com/CesiumGS/3d-tiles-tools/pull/160)
21+
422
### 0.4.3 - 2024-09-14
523

624
- Fixed the handling of legacy B3DM files that contain glTF 1.0 data with texture coordinates that are stored as "quantized" 3D coordinates, via [#148](https://github.com/CesiumGS/3d-tiles-tools/pull/148)
725
- Fixed the `upgrade` command for `targetVersion 1.1` for the case that the input data contains very old B3DM files that do not define a `BATCHID` attribute, via [#147](https://github.com/CesiumGS/3d-tiles-tools/pull/147).
826
- Added a `mergeJson` command to create a tileset JSON that refers to other tilesets as external tilesets, without copying the input tilesets to the output directory, via [#140](https://github.com/CesiumGS/3d-tiles-tools/pull/140) and [#143](https://github.com/CesiumGS/3d-tiles-tools/pull/143).
927
- Fixed a bug where the `combine` command did not properly update the content URIs when an external tileset in a subdirectory referred to another external tileset in the same subdirectory, via [#139](https://github.com/CesiumGS/3d-tiles-tools/pull/139)
10-
- Added an `updateAlignment` command that can process a B3DM, I3DM, PNGS, or CMPT file, to ensure that the alignment requirements for the batch- and feature table and the tile data as a whole are met, via [#136](https://github.com/CesiumGS/3d-tiles-tools/pull/136)
28+
- Added an `updateAlignment` command that can process a B3DM, I3DM, PNTS, or CMPT file, to ensure that the alignment requirements for the batch- and feature table and the tile data as a whole are met, via [#136](https://github.com/CesiumGS/3d-tiles-tools/pull/136)
1129

1230
### 0.4.2 - 2024-05-15
1331

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,15 +312,16 @@ Additional command line options:
312312
| Flag | Description | Required |
313313
| ---- | ----------- | -------- |
314314
|`--cartographicPositionDegrees`|An array of either two or three values, which are the (longitude, latitude) or (longitude, latitude, height) of the target position. The longitude and latitude are given in degrees, and the height is given in meters.| No |
315+
|`--rotationDegrees`|An array of three values, which are the (heading, pitch, roll) rotation at the target position, in degrees.| No |
315316
316317
If the input is a single file, then this will result in a single (root) tile with the input file as its tile content. If the input is a directory, then all content files in this directory will be used as tile content, recursively. The exact set of file types that are considered to be 'tile content' is not specified, but it will include GLB, B3DM, PNTS, I3DM, and CMPT files.
317318
318319
Examples:
319320
320321
```
321-
npx 3d-tiles-tools createTilesetJson -i ./input/ -o ./output/tileset.json --cartographicPositionDegrees -75.152 39.94 10
322+
npx 3d-tiles-tools createTilesetJson -i ./input/ -o ./output/tileset.json --cartographicPositionDegrees -75.152 39.94 10 --rotationDegrees 45 0 0
322323
```
323-
This creates the specified tileset JSON file, which will refer to all tile content files in the given input directory as its tile contents. The root node of the tileset will have a transform that will place it at the given cartographic position.
324+
This creates the specified tileset JSON file, which will refer to all tile content files in the given input directory as its tile contents. The root node of the tileset will have a transform that will place it at the given cartographic position, with the specified rotation.
324325
325326
326327

ThirdParty.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@
44
"license": [
55
"MIT"
66
],
7-
"version": "3.10.1",
7+
"version": "3.9.0",
88
"url": "https://www.npmjs.com/package/@gltf-transform/core"
99
},
1010
{
1111
"name": "@gltf-transform/extensions",
1212
"license": [
1313
"MIT"
1414
],
15-
"version": "3.10.1",
15+
"version": "3.9.0",
1616
"url": "https://www.npmjs.com/package/@gltf-transform/extensions"
1717
},
1818
{
1919
"name": "@gltf-transform/functions",
2020
"license": [
2121
"MIT"
2222
],
23-
"version": "3.10.1",
23+
"version": "3.9.0",
2424
"url": "https://www.npmjs.com/package/@gltf-transform/functions"
2525
},
2626
{
@@ -36,15 +36,15 @@
3636
"license": [
3737
"MIT"
3838
],
39-
"version": "8.7.0",
39+
"version": "11.6.0",
4040
"url": "https://www.npmjs.com/package/better-sqlite3"
4141
},
4242
{
4343
"name": "cesium",
4444
"license": [
4545
"Apache-2.0"
4646
],
47-
"version": "1.121.1",
47+
"version": "1.124.0",
4848
"url": "https://www.npmjs.com/package/cesium"
4949
},
5050
{

demos/.eslintrc.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"extends": [
3+
"eslint:recommended",
4+
"plugin:@typescript-eslint/recommended",
5+
"prettier"
6+
],
7+
"parser": "@typescript-eslint/parser",
8+
"parserOptions": {
9+
"ecmaVersion": 2020,
10+
"project": "./demos/tsconfig.json"
11+
},
12+
"plugins": ["@typescript-eslint"],
13+
"root": true,
14+
"rules": {
15+
"@typescript-eslint/no-explicit-any": "off",
16+
"@typescript-eslint/no-empty-interface": "off",
17+
"@typescript-eslint/no-floating-promises": "error"
18+
}
19+
}

demos/base/ContentDataTypeChecksDemo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ async function testContentDataTypeChecks() {
3232
}
3333
}
3434

35-
testContentDataTypeChecks();
35+
void testContentDataTypeChecks();

demos/base/ContentDataTypeRegistryDemo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ async function testContentDataTypeRegistry() {
3030
}
3131
}
3232

33-
testContentDataTypeRegistry();
33+
void testContentDataTypeRegistry();

demos/gltf-extensions/ExtInstanceFeaturesDemo.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,5 +135,5 @@ async function runReadingExample() {
135135
console.log(s);
136136
}
137137

138-
runCreationExample();
139-
runReadingExample();
138+
void runCreationExample();
139+
void runReadingExample();

0 commit comments

Comments
 (0)