Releases: NASA-AMMOS/3DTilesRendererJS
Releases · NASA-AMMOS/3DTilesRendererJS
Release list
v0.4.28
v0.4.27
v0.4.26
Added
- DebugTilesPlugin: Added support for displaying empty tiles that stop traversal so tile set structure is more clear.
Fixed
- EnvironmentControls: Zooming into nothing now works when geometry is not below the camera.
- ImageOverlayPlugin: Fixed plugin firing "needs-rerender" rather than a "needs-render" event.
Changed
- TilesRendererBase: "tile-download-start" event now specifies "url" rather than "uri" as a field.
- TilesRendererBase: Deprecated "load-content" plugin.
v0.4.25
Added
- "GeneratedSurfacePlugin" for generating an ellipsoidal or planar surface based on an "ImageOverlay".
- Improved support for ExternalTexture memory tracking.
- StructuralMetadata: Throw an error in
getPropertyTableDatawhen non-matching argument types are passed. - MVTOverlay, PMTilesOverlay: Overlays for reading and rendering vector tile formats as tile overlays.
- TilesRenderer: Added "loadAncestors" option.
- GlobeControls, EnvironmentControls: Add "enableFlight" option for free controls.
Fixed
- ImageFormatPlugins: Fixed case where tile nodes could be created and never released.
- Converted remaining "three/examples/jsm/" paths to "three/addons/"
- ImageOverlayPlugin: Geometry tiles will now continue to load and display even if an overlay texture fails to load.
- ImageOverlayPlugin: If an overlay fails to load then a "load-error" will be thrown on TilesRenderer.
Changed
- Deprecated "ImageFormatPlugin" and derivative plugins to reduce code redundancy. Use "GeneratedSurfacePlugin" & "ImageOverlayPlugin", instead.
v0.4.24
Added
- TilesRenderer: Added support for reverse depth buffer.
- Scheduler class for setting an XR session to use for rAF callbacks.
Changed
- EnvironmentControls: PivotMesh is now added to the scene before the "start" event is fired.
- ImageOverlayPlugin: Do not allocate a render target for compositing if only a single tile is returned that exactly matches the tile bounds.
- WMTSImageOverlay, WMTSTilesPlugin: Deprecated "capabilities" argument, adjusted options so literals can be passed.
- Changed "three/examples/jsm" paths to "three/addons"
- ImageOverlayPlugin: Image overlay tile levels are now determined using image resolution rather than depth.
Fixed
- Ellipsoid.getPositionToCartographic: fixed incorrect calculation of cartographic point.
- ImageOverlayPlugin: Fix case where UVs can be generated as NaN.
- ImageFormatPlugin: Adjust root tile geometricError to be Infinity.
- ImageOverlays: Updated types.
- EnvironmentControls: Removed use of "THREE.Clock"
v0.4.23
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
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
v0.4.20
Added
- Added support for Babylon.js
- 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
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.