3d-tiles-tools
Advanced tools
Changelog
0.4.4 - 2024-12-03
better-sqlite3
dependency from 8.0.1 to 11.5.0 to support NodeJS 22merge
or mergeJson
command to multiple implicit tilesets created an invalid result, via #161EXT_meshopt_compression
glTF extension with fallback buffers, via #160Changelog
0.4.3 - 2024-09-14
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.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 and #143.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 #139updateAlignment
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 #136Changelog
0.4.2 - 2024-05-15
upgrade
command did not yet convert CMPT files into GLB. This functionality was now added via #117, including an attempt to merge multiple GLB files that contain the Cesium glTF metadata extensions. Details of the merge process are not yet specified, but should cover the most common cases that appear during the conversion of CMPT files.combine
operation discarded the transforms and bounding volumes of the input tilesets (#113).createTilesetJson
command has been extended to receive an optional cartographic position, which serves as the position of generated tileset (#105).Changelog
0.4.1 - 2024-02-20
0.4.0
have been merged back into a single package.
Details about the structure can be found in the implementation notes.Changelog
0.3.2 - 2023-11-01
upgrade
command is now removing empty tile.children
arrays, setting the children
to be undefined
instead (via #73)Changelog
0.3.1 - 2023-10-10
--logLevel
can be used to set the log level (trace
, debug
, info
, warn
, error
, fatal
, and silent
)--logJson
to print log messages as JSON instead of pretty-printedconvertI3dmToGlb
functionality has been added to the CLI (in addition to the existing convertB3dmToGlb
and convertPntsToGlb
)3d-tiles-tools
in the 3d-tiles-validator
):
GltfUtilities
: It now offers a function extractDataFromGlb
that returns the JSON- and binary buffer from arbitrary glTF 1.0 or 2.0 buffersBinaryMetadata
structure from the former BinaryPropertyTable
ENUM
values (namely, as numbers or as strings) had not been handled correctly (via #71)Changelog
0.3.0 - 2023-08-30
3tz
files when they are compressed with DEFLATE
(via #55)
convert
command (via #54)
convert
command did not anticipate that the .3dtiles
and .3tz
formats require the top-level tileset file to be called tileset.json
. This is enforced now. For cases where the input is ambiguous (for example, for a ZIP file or a directory that contain multiple tileset JSON files, with none being called tileset.json
), the name of the top-level tileset JSON file can be defined with the --inputTilesetJsonFileName
command line argument.upgrade
command has been generalized (via #41 and #52)
upgrade
command remained unaffected--targetVersion 1.1
command line argument, then the upgrade will attempt to do a more extensive upgrade of the (legacy) PNTS, B3DM, and I3DM tile formats. It will convert these tile formats into glTF assets that use the EXT_structural_metadata
, EXT_mesh_features
, and EXT_instance_features
extensions, to represent the former batch- and feature table information. This is intended as a preview feature. The CMPT format can not yet be upgraded. There are corner cases (for example, animations in the glTF assets that are used for I3DM) that can not generically be translated into glTF assets with extensions. The scope and configurability of the command will be extended and specified more extensively in the future.b3dmToGlb
and i3dmToGlb
commands has changed: They originally upgraded any glTF 1.0 content that they encountered to glTF 2.0. Now, they only extract the actual glTF data as it is.tile.contents[]
array even when there only was a single content. This was fixed in #38, to make sure that a single tile.content
is used in these cases, and the tile.contents[]
array only when there actually are multiple contents.structure
classes that are (largely) auto-generated from JSON schema (via #36)
structure/TileFormats
package represent the batch- and feature table JSON of the (legacy) tile formatsstructure/Style
package represent the JSON structures for 3D Tiles stylingChangelog
0.2.1 - 2023-04-27
combineTilesets.js
.gzip
command was applied (#22).gzip
and ungzip
commands are implemented as 'tileset stages' that do not apply any special handling to the tileset JSON.undefined
has changed: Content types will be included by default now. To not include anything, and empty array can be used.upgrade
command that will be forwarded to gltf-pipeline
structure
directoryanalyze
command that caused a wrong payload length to be reportedcontents
arrays to be created in tiles in BasicTilesetProcessor