gaussian-splat-lite 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/dist/gaussian-splat-lite.cjs +498 -268
  3. package/dist/gaussian-splat-lite.cjs.map +1 -1
  4. package/dist/gaussian-splat-lite.min.cjs +169 -131
  5. package/dist/gaussian-splat-lite.min.cjs.map +1 -1
  6. package/dist/gaussian-splat-lite.module.js +498 -268
  7. package/dist/gaussian-splat-lite.module.js.map +1 -1
  8. package/dist/gaussian-splat-lite.module.min.js +2428 -2241
  9. package/dist/gaussian-splat-lite.module.min.js.map +1 -1
  10. package/dist/types/data/IndexedSplats.d.cts +12 -5
  11. package/dist/types/data/IndexedSplats.d.ts +12 -5
  12. package/dist/types/data/RadPagedSplats.d.cts +1 -0
  13. package/dist/types/data/RadPagedSplats.d.ts +1 -0
  14. package/dist/types/data/SplatOpacityTable.d.cts +9 -2
  15. package/dist/types/data/SplatOpacityTable.d.ts +9 -2
  16. package/dist/types/data/Splats.d.cts +1 -1
  17. package/dist/types/data/Splats.d.ts +1 -1
  18. package/dist/types/data/defines.d.cts +6 -4
  19. package/dist/types/data/defines.d.ts +6 -4
  20. package/dist/types/data/splatData.d.cts +10 -3
  21. package/dist/types/data/splatData.d.ts +10 -3
  22. package/dist/types/loaders/postDecode/builder.d.cts +1 -1
  23. package/dist/types/loaders/postDecode/builder.d.ts +1 -1
  24. package/dist/types/loaders/postDecode/protocol.d.cts +7 -5
  25. package/dist/types/loaders/postDecode/protocol.d.ts +7 -5
  26. package/dist/types/loaders/stream/StreamWorkerPool.d.cts +1 -4
  27. package/dist/types/loaders/stream/StreamWorkerPool.d.ts +1 -4
  28. package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.cts +7 -4
  29. package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.ts +7 -4
  30. package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.cts +20 -17
  31. package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.ts +20 -17
  32. package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.cts +18 -2
  33. package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.ts +18 -2
  34. package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.cts +1 -1
  35. package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.ts +1 -1
  36. package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.cts +7 -16
  37. package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.ts +7 -16
  38. package/dist/types/loaders/stream/rad-stream/radLod.d.cts +4 -2
  39. package/dist/types/loaders/stream/rad-stream/radLod.d.ts +4 -2
  40. package/dist/types/loaders/stream/rad-stream/workerHandlers.d.cts +29 -58
  41. package/dist/types/loaders/stream/rad-stream/workerHandlers.d.ts +29 -58
  42. package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.cts +0 -1
  43. package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.ts +0 -1
  44. package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.cts +2 -2
  45. package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.ts +2 -2
  46. package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.cts +22 -2
  47. package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.ts +22 -2
  48. package/dist/types/loaders/stream/sog-stream/sogLod.d.cts +16 -10
  49. package/dist/types/loaders/stream/sog-stream/sogLod.d.ts +16 -10
  50. package/dist/types/loaders/stream/sog-stream/sogVisibility.d.cts +4 -6
  51. package/dist/types/loaders/stream/sog-stream/sogVisibility.d.ts +4 -6
  52. package/dist/types/loaders/stream/sog-stream/workerHandlers.d.cts +2 -8
  53. package/dist/types/loaders/stream/sog-stream/workerHandlers.d.ts +2 -8
  54. package/dist/types/loaders/stream/streamOptions.d.cts +9 -8
  55. package/dist/types/loaders/stream/streamOptions.d.ts +9 -8
  56. package/docs/PostDecode.md +2 -2
  57. package/docs/RadStreamScheduler.md +14 -5
  58. package/docs/SogStreamScheduler.md +8 -6
  59. package/docs/SplatFileType.md +2 -0
  60. package/docs/SplatMesh.md +1 -1
  61. package/docs/Splats.md +1 -1
  62. package/package.json +1 -1
  63. package/dist/types/loaders/stream/StreamByteBudget.d.cts +0 -7
  64. package/dist/types/loaders/stream/StreamByteBudget.d.ts +0 -7
package/CHANGELOG.md CHANGED
@@ -7,6 +7,47 @@ and this project follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.3.2] - 2026-10-18
11
+
12
+ ### Added
13
+
14
+ - Added SH4 decoding for PLY and SPZ and rendering on WebGL, WebGPU, and the WebGL2 fallback. `Splats.getSplat()` and `postDecode` now expose all 24 view-dependent RGB coefficients.
15
+ - Added a Max SH control to the viewer, from SH0 to SH4. Changes apply immediately to regular and streamed models; the default uses all available coefficients.
16
+
17
+ ### Changed
18
+
19
+ - Renamed the `SplatExtra` fields `sh1`, `sh2`, `sh3a`, `sh3b`, `sh4a`, and `sh4b` to `shBlock0`–`shBlock5`, respectively. Update direct field access to use the new names.
20
+ - `SplatMesh.maxSh` now defaults to `4`, so SH4 models render their full view-dependent color. Set it to `3` to limit rendering to the previous maximum degree.
21
+ - SH4 SPZ models now use more memory because their full view-dependent color data is retained. `SplatMesh.maxSh` only limits rendering detail and does not reduce memory use.
22
+
23
+ ## [1.3.1] - 2026-10-17
24
+
25
+ ### Added
26
+
27
+ - Added runtime-adjustable `splatBudgetTolerance` to `RadStreamScheduler`. The default `0.1` allows each selection to exceed `splatBudget` by up to 10%; use `0` for a strict selection limit. Fades can temporarily show both old and new detail; also set `fadeDurationMs: 0` to keep transitions within the budget. See [RAD streaming](docs/RadStreamScheduler.md).
28
+ - Added `maxResidentCpuBytes` (default 2 GiB) and `maxResidentGpuBytes` (default 1 GiB) to `RadStreamScheduler`. Detail respects both cache budgets, releasing unused detail early when needed. These are streaming cache limits, not total application memory limits.
29
+ - Added `splatBudgetMode` to `SogStreamScheduler`: `"target"` (the default) adjusts detail to fill the budget, while `"limit"` uses the configured distance bands and only reduces detail when they exceed the budget.
30
+ - Added runtime-adjustable `lodBaseDistance` (default `100`, for `"limit"` mode) and `lodMultiplier` (default `2`, for both modes). Changes take effect without reloading. See [SOG streaming](docs/SogStreamScheduler.md).
31
+ - Added `residentCpuBytes`, `residentGpuBytes`, and `loadProgress` to RAD and SOG streaming stats. Memory figures estimate retained streaming data; `residentBytes` remains their sum. Loading progress tracks the current view and can change as the camera moves.
32
+ - Added SOG budget mode and LOD distance controls to the viewer, along with current-view loading progress and separate CPU/GPU cache estimates for streamed models.
33
+
34
+ ### Changed
35
+
36
+ - Reduced repeating noise patterns in stochastic rendering across WebGL and WebGPU.
37
+ - Reworked RAD detail selection to reduce selection overhead, including with `splatBudgetTolerance: 0`. The selected detail may differ from previous versions within the configured budget and tolerance.
38
+ - RAD detail now uses the same threshold when refining and coarsening.
39
+ - RAD streaming can select the next view while preparing a display update, and upload decoded data while its detail information is still being prepared. Loading concurrency follows `maxConcurrentLoads` regardless of page size.
40
+ - Reduced memory use and upload volume for RAD detail fades, and reduced work when preparing selections and copying indexed Splat centers.
41
+ - Streamed SOG now selects detail directly from distance bands. All populated LOD levels remain available, including levels with equal Splat counts; missing intermediate levels resolve to the next finer available level.
42
+
43
+ ### Fixed
44
+
45
+ - The viewer now waits for streamed SOG content to become renderable before dismissing the loading screen, and shows RAD and SOG streaming errors as notifications.
46
+
47
+ ### Removed
48
+
49
+ - Removed the pending-data byte limits from RAD and SOG streaming. Downloads and decoding remain limited by `maxConcurrentLoads`, but large detail updates may use more temporary memory.
50
+
10
51
  ## [1.3.0] - 2026-10-14
11
52
 
12
53
  ### Added
@@ -580,7 +621,9 @@ and this project follows [Semantic Versioning](https://semver.org/).
580
621
 
581
622
  - Initial public release of the Three.js Gaussian Splatting renderer.
582
623
 
583
- [Unreleased]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.3.0...HEAD
624
+ [Unreleased]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.3.2...HEAD
625
+ [1.3.2]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.3.1...v1.3.2
626
+ [1.3.1]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.3.0...v1.3.1
584
627
  [1.3.0]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.2.2...v1.3.0
585
628
  [1.2.2]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.2.1...v1.2.2
586
629
  [1.2.1]: https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite/compare/v1.2.0...v1.2.1