Skip to content

Releases: NASA-AMMOS/3DTilesRendererJS

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.

v0.4.13

27 Jul 14:15

Choose a tag to compare

Added

  • XYZTilesPlugin, XYZImageOverlay: Add support for inverted Y tile order, ability to specify bounds.

Fixed

  • ImageFormatPlugin: Fixed case where an error could throw if a texture was loaded twice in minor corner cases.
  • GoogleCloudAuthPlugin: Use the default load queue parameters.
  • GoogleCloudAuthPlugin: Fix issue relating to assigned auth url.
  • TileCompressionPlugin: Fix transform not working correctly when model is rotated, scaled.
  • GlobeControls: Fix case where the pivot point visualization was being inconsistently shown when zoomed out.
  • TilesRenderer: Prioritize tile downloads by tile error relative to error target.
  • GoogleCloudAuthPlugin, CesiumIonAuthPlugin: Ensure the new authentication and session token are used when an initial request fails when "autoRefreshToken" is enabled.
  • GlobeControls, EnvironmentControls: Improve the controls behavior when dragging off of the canvas or over other dom elements.
  • TilesRenderer: Improved some traversal logic, corrected behavior when encountering empty tiles.

Changed

  • GlobeControls: Dragging operations now end when dragging off the globe.
  • PriorityQueue: No longer requires a sort callback. If set to "null" then items are processed in the order added.

v0.4.12

13 Jul 05:33

Choose a tag to compare

Added

  • 3d-tiles-renderer/core & 3d-tiles-renderer/three export for dedicated files.
  • 3d-tiles-renderer/core/plugins & 3d-tiles-renderer/three/plugins export for dedicated plugins.
  • Added EnforceNonZeroErrorPlugin.
  • ImageOverlayPlugin: Add support for splitting tiles to match image tile detail.
  • ImageOverlayPlugin: Planar projection now only works when the projection is within the range 0, 1 along the z-projection axis.
  • ImageOverlayPlugin: Add support for adding downloads to the download queue, tracking used GPU memory in the LRUCache.

Changed

  • TilesRenderer: Increased default queue sizes from 1 to 5 for parse queue, 10 to 25 for download queue.

Fixed

  • R3F TilesAttributionOverlay not functioning on non-HTTPS domains.
  • Support for React 19 while maintaining React 18 support.
  • QuantizedMeshPlugin: Fixed case where availability metadata was not interpreted correctly.
  • Fixed case where "screenspace error" could be calculated as "NaN" when the distance to the tile and geometricError are 0.
  • UpdateOnChangePlugin: Fix events not being disposed of properly.
  • QuantizedMeshPlugin: Only parse a mesh if the extension is "terrain".
  • ImageOverlayPlugin: Correctly cancel image tile loading when removing an overlay.
  • TilesRenderer: Fix case where load events could be fired on tiles after they had been disposed when the cache is full.
  • ImageOverlayPlugin: Reduced the epsilon used for calculating which tiled images need to be loaded to avoid seams.

v0.4.11

01 Jul 00:48

Choose a tag to compare

Added

  • Add "ImageOverlayPlugin".
  • DebugTilesRenderer: Added "unlit" option.
  • GoogleCloudAuthPlugin: Added support for creating a session that supports loading 2d map tiles.
  • Ellipsoid: Added "getOrientedEastNorthUpFrame", "getObjectFrame", "getCartographicFromObjectFrame" functions.
  • ReorientationPlugin: Add suppor for setting azimuth, elevation, roll

Fixed

  • TilesRendererBase: Fixed plugins not being disposed of correctly.
  • GoogleCloudAuthPlugin: Throw an error when the tile root fails to load.
  • Fixed some type definitions.
  • GlobeControls: Adjust the perspective camera.far calculation to better limit loaded tiles.
  • DebugTilesPlugin: Fix case where the plugin could not be disabled before registration.
  • Fix case where properties would fail to add if they looked like events with an "on" prefix.
  • Simplify the TileFlatteningPlugin implementation.
  • ReorientationPlugin: Fix plugin disposal not removing an event correctly.
  • ReorientationPlugin: Fix plugin not working if added after TilesRenderer initialization.
  • TopoLinesPlugin: Ensure the plugin can be added after TilesRenderer initialization.
  • TopoLinesPlugin, TilesFadePlugin, ImageOverlayPlugin: Ensure plugins are resilient to being removed and added again.
  • R3F: Fixed case where plugins may not have been able to register before the first call to TilesRenderer.update.

Changed

  • Ellipsoid: Deprecated "getAzElRollFromRotationMatrix", "getRotationMatrixFromAzElRoll", "getFrame" functions.
  • GlobeControls, EnvironmentControls: Deprecate "setTilesRenderer" function in favor of "setScene" and "setEllipsoid" functions.
  • R3F GlobeControls, EnvironmentControls: Add "ellipsoid" and "ellipsoidGroup" properties.

v0.4.10

31 May 02:42

Choose a tag to compare

Fixed

  • Fixed calls to updateWorldMatrix causing the matrixWorldInverse field to become out of sync.
  • Loader type definitions now extend "LoaderBase".
  • Export QuantizedMeshPlugin from plugins.
  • Moved "optionalDependencies" to "peerDependencies" with an optional flag to avoid quirks with the optional dependencies field.
  • Make QuantizedMeshPlugin more robust to missing fields in layer.json.
  • TileFlatteningPlugin: Fixed disposal throwing an error.
  • Change load-error event field from uri to url as documented.
  • Fixed type definitions for some events.
  • B3DM, I3DM, PNTS Loaders: Fixed case where RTC_CENTER feature would not be parsed correctly.
  • Re-add "load-tile-set" event when child tile sets are loaded.
  • Re-add url to "load-tile-set" event.
  • TMSTilesPlugin: Add support for limited bounds.

Added

  • Ability to resolve to any file in "./src".
  • QuantizedMeshPlugin: Add support for attributions.
  • QuantizedMeshPlugin: Add support for "metadataAvailability".
  • QuantizedMeshPlugin: Add support for auto-filling child tiles from parent data when not present.
  • QuantizedMeshPlugin: Add support for auto-calculating skirth length.

Changed

  • QuantizedMeshPlugin, Image Plugins: Remove internal, custom queue for generating children in favor of TilesRenderer's new process queue.

v0.4.9

06 May 22:31

Choose a tag to compare

Fixed

  • Structural Metadata: Fixed case where accessor properties do not match the class definition.
  • Fix type definitions for LRUCache.
  • Implicit Subtree files being loaded with incorrect headers.
  • Ambiguous typing.
  • Correctly export TilesFlatteningPlugin.
  • Types: Added file extensions to enable support for older node versions.
  • TilesRenderer: Removed implicit use of "devicePixelRatio" when setting camera resolution to ensure more consistent error target calculations across devices.
  • EnvironmentControls: Adjust event listeners to exit early if controls are disabled.
  • R3F TilesRenderer Component: Fixed case where tiles would not load when using on demand rendering without moving the camera (via needs-update event).

Added

  • QuantizedMeshPlugin: A plugin for loading quantized mesh files.
  • TilesFlatteningPlugin: Added a threshold option to addShape.
  • TilesRenderer: Added "needs-update" event.
  • R3F TilesPlugin: Added support for deep field property assignment.

Changed

  • Internal "force-rerender" function renamed to "needs-render".
  • TilesRenderer: Move check for cameras after update traversal to enable loading the root tile set file without a camera defined.