ChangeLOG
1.8.1#
- Fixes
- fix quaternion decoding in
CompressedSplatData for compressed splat data.
1.8.0#
- Features
- add and export the
XR namespace.
- add
LodSplat.setModifiers() for applying SplatModifier instances to LOD splats.
- add
LodConfig.frustumCullingEnabled to control unloading LOD blocks outside the camera frustum; enabled by default.
- Changes
- update the default LOD distance step to
{ distance: 10, step: 2 } and improve scheduling for large scenes.
- Breaking Changes
- remove
LodConfig.outsidePenalty, behindPenalty, behindTolerance, and behindDistanceTolerance.
1.7.2#
- Changes
- update the
SplatModifier shader block factory callback to receive language: 'wgsl' | 'glsl' instead of isWebgpu: boolean.
1.7.0#
- Features
- add and export
SplatModifier for composing custom shader-based splat rendering and animation behavior.
- add
Splat.setModifiers() for attaching modifiers and updating their uniform values at runtime.
- Changes
- use
SplatModifier for LOD debug coloring.
- Breaking Changes
- remove subgroup transform support, including
Splat.groupTex and Splat.groupTransformTex.
1.6.2#
- Fixes
- fix ESZ and SOG image decoding when the encoded image data uses a sliced buffer.
- fix Zstandard parsing for small files.
- Changes
- set the maximum splat parsing worker count to one fewer than
navigator.hardwareConcurrency.
1.6.1#
- Features
- add
SplatUtils.LodConfig.mergeNodeEnabled to control LOD node merging and reduce scheduling peaks.
- Fixes
- fix incomplete LOD coverage when the total splat count of the lowest levels exceeds
maxBudget.
1.6.0#
- Features
- add ESZ v2 splat loading with a Zstandard streaming container and low/high layout support.
- optimize SPZ v4 loading with streaming parsing to reduce parse time and peak worker memory.
- Fixes
- fix
SplatReorderMaterial mobile compatibility by packing splat reorder ranges into ivec4 uniforms.
- fix
SuperCompressedSplatData SH quantization overflow and second-order SH coefficient offsets.
- fix worker message cleanup.
- Changes
- upgrade bundled EGS packages to standard ESM packaging with limited public package exports.
- optimize splat stream parsing to reduce intermediate buffers and data copies.
- ESZ v1 files are no longer supported.
1.5.1#
- Fixes
- fix
lod scheduling to avoid temporarily creating too many active splats.
- Changes
- move splat sorting ownership to
SplatUtils; SplatLoader now only parses files.
1.5.0#
- Features
- add
Splatting.pack.forceUnstableEnabled to force the complete rendering pipeline.
- add
Splatting.sort.frustumCullingEnabled to pre-cull splats for better performance.
- this can make black borders during camera rotation more visible, so enable it carefully in production scenes.
- add
Limits for describing IRenderer limits.
- some
Capabilities fields are now marked as deprecated.
- add
lod.proxy to reduce the number of runtime Splat objects.
- reduces
pack and precalculate GPU cost by 50%-90% in real scenes.
- Fixes
- fix
SplatHighlightKernel highlights being offset when cameraRelativeEnabled is enabled.
- fix
clear not taking effect correctly when MRT is enabled.
- fix invalid data when using low-precision packing.
- fix the
LodMeta.version type definition.
- Changes
- optimize texture-size calculation to improve rendering performance for scenes with a single
Splat object.
- move sorting to a dedicated worker to avoid long parsing tasks blocking sorting.
1.4.1#
- Fixes
- fix
packCameraRelativeCenterIsDirty being incorrectly evaluated as true when camera-relative center packing is disabled.
1.4.0#
- Features
- add
texture-loader, now downloadTexture is a generic texture load
- supported types: image types(png, jpg, webp, etc...), ktx2 and dds
- add grouped
Splatting config: pack, raster, sort, and composite.
- add high-precision and camera-relative splat packing, plus high-precision sorting.
combineSplatData target SplatData support.
- Changes
- adjust splat-related default parameters from the underlying renderer pipeline.
1.3.0#
- Features
SplatUtilsadd support for center and ellipsoid
- Fixes
SplatUtilsstate texture type change to r8uint
1.2.9#
- Features
- use
api-extractor to rollup dts.
- add
esz and spzV4 format support.
- Fixes
- fix typing for
MeshBasicMaterial.setValues
- fix typing for
MeshPhongMaterial.setValues
- Simplify some material typings
- fix type only classes
- cleanup
package.json
1.1.0#
- Features
- upgrade packages:
typescript@^6.0.3, tslib@^2.8.1
- sync base packages
- remove unused module
render-cloud
1.0.0#
- Features