Skip to content

Releases: NASA-AMMOS/3DTilesRendererJS

v0.4.23

18 Mar 04:39

Choose a tag to compare

Added

  • DebugTilesPlugin: Added support for "boundsColorMode".
  • Auto-generated documentation via JSDoc.
  • DebugTilesPlugin: Add partially transparent solid geometry for region & sphere helpers.

Fixed

  • QuantizedMeshPlugin: Fixed case where child tiles could be added redundantly.
  • QuantizedMeshPlugin: Fixed case where tiles could throw error on disposal due to be incomplete.
  • ImageOverlayPlugin: Fixed case where split tiles could be added and not be processed.
  • BatchedMesh: Fix instances not being released when "discardOriginalContent" is true.

v0.4.22

06 Mar 03:19

Choose a tag to compare

Added

  • Types for gltf metadata extensions.
  • Event and other types to TilesRendererBase for use in thee.js and Babylon.js.
  • ImageOverlayPlugin: Add support for splitting "ADD" refinement tiles.
  • Babylon TilesRenderer: Added "checkCollisions" option.

Fixed

  • LoadRegionPlugin: Add typings for new function, fix bug related to "distance" calculations.
  • GlobeContorls: Account for ellipsoid frame scale when calculating max zoom out distance.
  • Babylon TilesRenderer: Adjusted imports to support treeshaking.
  • ImageOverlayPlugin: Fix case where removing all overlays does not clear overlay textures correctly.
  • UnloadTilesPlugin: Fix case where the plugin would incorrectly retain tiles references, resulting in a memory leak.
  • OptimizedLoadStrategy Option: Add compatibility for QuantizedMeshPlugin, ImageOverlayPlugin.enableTileSplitting.

v0.4.21

03 Feb 23:25

Choose a tag to compare

Fixed

  • Fixed path for babylonjs typescript definitions.

v0.4.20

03 Feb 12:24

Choose a tag to compare

Added

  • TilesRenderer: Add "queued" status and stats counter for tiles in addition to "downloading" and "parsing".
  • TilesRenderer now removes tiles from the download queue if they are no longer needed for rendering. Tiles will continue to process if they are mid-download or parsing.
  • I3DMLoader: Added support for oct-encoded normals.
  • TilesRenderer: Added "optimizedLoadStrategy" and "loadSiblings" options. These are experimental settings and are planned to be the default and only tile load strategy.
  • R3F: added "EllipsoidContext" with "ellipsoid" and "frame" fields
  • Export FeatureTable, BatchTable classes.
  • TilingScheme: "tileSplitX" and "tileSplitY" variables per tile
  • XYZImageFormat: add "projection" option and ability to set tile settings per-level.
  • DebugTilesPlugin: add "update" function so settings can be updated without updating tiles.
  • LoadRegionPlugin: Added "calculateDistance" function to regions, used for tile load sorting.
  • TilesRenderer: Added "maxTilesProcessed" field to adjust how much time is spent per frame processing tiles during traversal.

Changed

  • ImageOverlayPlugin: Textures are now assumed to be straight alpha.
  • ImageOverlayPlugin: Refactor image overlays to afford drawing directly to region textures.
  • GeoJSONOverlay: Add "redraw" function to redraw the geojson once it's changed
  • Renamed the "cached" tile subfield to "engineData".
  • Moved a number of tile fields into "traversal" and "internal" subfields on "tile" object.
  • ImplicitTilingPlugin: Moved implicit tiling fields onto a new "implicitTilingData" object.
  • DebugTilesPlugin: Replaced "getTileInformationFromActiveObject" function with "getTileFromObject3D".
  • DebugTilesPlugin: Add transparent mesh to box helper visualization.
  • TilesRenderer: Moved "update-before", "update-after" events to TilesRendererBase.
  • Plugins: moved handling of "doTilesNeedUpdate" to TilesRendererBase.
  • TilesRenderer: "dispose-model" even is now fired before "dispose" is called on sub objects.
  • Simplified handling of processed children, removed internal.processedChildren.

Fixed

  • Fix mouse offset in Controls.
  • Fixed case where DebugTilesPlugin could throw an error when toggling "enabled".
  • DebugTilesPlugin: Fixed case where "enabled" was not resepected if set to false on creation.

v0.4.19

19 Dec 14:08

Choose a tag to compare

Changed

  • Moved "GoogleCloudAuthPlugin" to "3d-tiles-renderer/core/plugins".
  • Moved "CesiumIonAuthPlugin" to "3d-tiles-renderer/core/plugins".
  • CesiumIonAuthPlugin: Auto-registration of QuantizedMesh and TMS plugins has been removed. See "assetTypeHandler" to register the necessary plugins as-needed.
  • TilesRenderer: "load-tile-set" event has been renamed to "load-tileset"
  • TilesRenderer: "load-tileset" payload member "tileSet" has been renamed to "tileset"
  • TilesRenderer: "rootTileSet" member has been renamed "rootTileset"
  • TilesRenderer: "loadRootTileSet" function has been renamed to "loadRootTileSet"
  • TilesRenderer: "preprocessTileSet" function has been renamed to "preprocessTileSet"
  • Documentation and other variable names have adjusted any instances of "tile set" to "tileset" to align with the 3D Tiles specification nomenclature.

Added

  • Added "assetTypeHandler" to "CesiumIonAuthPlugin" for registering plugins based on loaded asset type.
  • Empty "addEventListener" and "removeEventListener" implementations to TilesRendererBase.
  • ImageOverlay: Added "alphaMask", "alphaInvert" options.
  • CesiumIonOverlay: Added automatic support Bing & Google Maps overlays.
  • QuantizedMeshLoader, QuantizedMeshPlugin: Added "generateNormals" option for cases where normals are not embedded.
  • Added "load-root-tileset" event.

Fixed

  • Controls: Fixed case where pointer state may not have been reset correctly.
  • ImageOverlayPlugin: "enableTileSplitting" now works with "ADDITIVE" tiles.
  • EnforceNonZeroErrorPlugin: adjusted error is now based on the first parent with geometric error encountered.
  • Fixed up some types.
  • Improved "Bounding OBB" and "Bounding Sphere" generation for "Region" bounding volumes.
  • PriorityQueue: fix case where entries were not being moved correctly by "removeByFilter".
  • ImageOverlayPlugin: Fix case where overlay data were not being handled correctly when adjusting frames.
  • ImageOverlayPlugin: Added a more clear error when "renderer" is not provided.
  • ImageFormatPlugin: Adjust the plugin to account for aspect ratio in error calculation.

v0.4.18

14 Nov 05:34

Choose a tag to compare

Added

  • Support for skipping the display of tiles that have a higher geometric error than their parents to accommodate workaronds for some erroneous data sets.
  • A small optimization for tile traversal.
  • ImageOverlays: Added support for a "preprocessUrl" function.

Fixed

  • Added and fixed some types.
  • Removed referenced to TextureUtils which was causing tree shaking issues.
  • XYZ Tiles Plugins: Removed unused "bounds" argument.
  • BatchedTilesPlugin: Fix case where the plugin would throw an error if a mesh with no texture were encountered first.
  • Update types for GLTFExtensionPlugin.
  • Adjust minimum three.js version to r167 from r166. The project required an import for Matrix2, only available in 167.
  • ImageOverlayPlugin: Fix some platforms displaying untextured triangles in some cases.
  • TilesRenderer: Fixed "removePluginByName" not removing the plugin correctly.
  • WMS, WMTS ImageOverlay, TilesPlugin: Plugins now accept CRS definitions like "CRS:84".

Changed

  • WMTSCapabilitiesLoader, WMSCapabilitiesLoader: Loaders no longer automatically convert CRS tokens to an "EPSG:XXXX" variant.

v0.4.17

26 Sep 23:41

Choose a tag to compare

Added

  • LoadRegionPlugin: Added support for "mask" regions that allow for only loading tiles within the shape.
  • Added WMSTilesOverlay & WMSTilesPlugin for displaying and overlaying WMS image tiles.
  • I3DMLoader: Add support for quantized position data.
  • Added in-progress "GeoJSONOverlay" for overlaying GeoJSON data.

Fixed

  • Fixed types not being defined correctly in the package.json.
  • ImageOverlays: Fixed case where overlay textures were generated even when no content was present.
  • TilesRenderer.manager checking for a non existent "preprocessURL" function when transforming a URL.

v0.4.16

10 Sep 00:05

Choose a tag to compare

Fixed

  • GlobeControls: Fix case where camera position could become "NaN" when zooming into the sky.
  • Fixed built files possibly not being correctly bundled.

v0.4.15

03 Sep 01:44

Choose a tag to compare

Changed

  • Adjusted the package to export a bundled version of the library.
  • Some execution timing of react components may have changed.
  • LoadRegionPlugin: "Region" constructors have changed to take options as an object rather than individual arguments.
  • TilesRenderer Plugins: Return value for "calculateTileViewError" has been added.

Fixed

  • Fixed bug introduced when loading GoogleMapsOverlay with ImageOverlayPlugin.
  • ImageFormatPlugin types.
  • DebugTilesRenderer: fix case where disabling and reenabling the plugin could cause errors.
  • QuantizedMeshPlugin: fix case where quantized mesh could not expand to the lowest levels of detail.
  • Fixed behavior of TilesRenderer and TilesPlugin components in "strict mode" with React 19.
  • Improved performance of extracting url file extensions.
  • Fixed case where a loaders "working path" was not generated correctly.
  • BatchTable, FeatureTable: Filter the reserved "extensions" field from the batch data "getKeys" function.

v0.4.14

09 Aug 11:50

Choose a tag to compare

Fixed

  • EnvironmentControls: Fix case where camera can jump when moving the camera and then zoom in.
  • ImageOverlayPlugin & ImageFormatPlugin not working together when splitting tile geometry.

Added

  • Support for WMTS image overlays.
  • Added WMTSTilesPlugin for generating a WMTS ellipsoid.
  • WMTSCapabilitiesLoader class for loading and parsing WMTS capabilities xml.

Changed

  • ImageFormatPlugins: Deprecate "pixelSize" option. The tile group can be scaled, instead.
  • ImageFormatPlugins: Adjusted the way geometric error was generated so it does not reach 0.