gaussian-splat-lite 1.2.2 → 1.3.0

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 (248) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/CONTRIBUTING.md +4 -2
  3. package/README.md +4 -3
  4. package/dist/gaussian-splat-lite.cjs +6379 -1441
  5. package/dist/gaussian-splat-lite.cjs.map +1 -1
  6. package/dist/gaussian-splat-lite.min.cjs +978 -11
  7. package/dist/gaussian-splat-lite.min.cjs.map +1 -1
  8. package/dist/gaussian-splat-lite.module.js +5920 -982
  9. package/dist/gaussian-splat-lite.module.js.map +1 -1
  10. package/dist/gaussian-splat-lite.module.min.js +7882 -3373
  11. package/dist/gaussian-splat-lite.module.min.js.map +1 -1
  12. package/dist/types/addons/NeuralDenoiseNode.d.cts +72 -0
  13. package/dist/types/addons/NeuralDenoiseNode.d.ts +72 -0
  14. package/dist/types/addons/NeuralDenoisePass.d.cts +34 -0
  15. package/dist/types/addons/NeuralDenoisePass.d.ts +34 -0
  16. package/dist/types/addons/TAANode.d.cts +46 -33
  17. package/dist/types/addons/TAANode.d.ts +46 -33
  18. package/dist/types/addons/TAAPass.d.cts +47 -32
  19. package/dist/types/addons/TAAPass.d.ts +47 -32
  20. package/dist/types/addons/neuralDenoiseGL.d.cts +25 -0
  21. package/dist/types/addons/neuralDenoiseGL.d.ts +25 -0
  22. package/dist/types/addons/neuralDenoiseGLSL.d.cts +8 -0
  23. package/dist/types/addons/neuralDenoiseGLSL.d.ts +8 -0
  24. package/dist/types/addons/neuralDenoisePasses.d.cts +26 -0
  25. package/dist/types/addons/neuralDenoisePasses.d.ts +26 -0
  26. package/dist/types/addons/neuralDenoiseShaders.d.cts +38 -0
  27. package/dist/types/addons/neuralDenoiseShaders.d.ts +38 -0
  28. package/dist/types/addons/neuralDenoiseWeights.d.cts +118 -0
  29. package/dist/types/addons/neuralDenoiseWeights.d.ts +118 -0
  30. package/dist/types/addons/stochasticCoverage.d.cts +14 -0
  31. package/dist/types/addons/stochasticCoverage.d.ts +14 -0
  32. package/dist/types/addons/taaShared.d.cts +58 -39
  33. package/dist/types/addons/taaShared.d.ts +58 -39
  34. package/dist/types/capture/SplatCapture.d.cts +54 -53
  35. package/dist/types/capture/SplatCapture.d.ts +54 -53
  36. package/dist/types/capture/WebGLCapture.d.cts +10 -10
  37. package/dist/types/capture/WebGLCapture.d.ts +10 -10
  38. package/dist/types/capture/WebGPUCapture.d.cts +14 -14
  39. package/dist/types/capture/WebGPUCapture.d.ts +14 -14
  40. package/dist/types/capture/pixels.d.cts +15 -4
  41. package/dist/types/capture/pixels.d.ts +15 -4
  42. package/dist/types/capture/rendererState.d.cts +5 -2
  43. package/dist/types/capture/rendererState.d.ts +5 -2
  44. package/dist/types/data/IndexedSplats.d.cts +76 -58
  45. package/dist/types/data/IndexedSplats.d.ts +76 -58
  46. package/dist/types/data/RadPagedSplats.d.cts +65 -61
  47. package/dist/types/data/RadPagedSplats.d.ts +65 -61
  48. package/dist/types/data/SogRegionSplats.d.cts +25 -19
  49. package/dist/types/data/SogRegionSplats.d.ts +25 -19
  50. package/dist/types/data/SplatOpacityTable.d.cts +29 -29
  51. package/dist/types/data/SplatOpacityTable.d.ts +29 -29
  52. package/dist/types/data/Splats.d.cts +99 -69
  53. package/dist/types/data/Splats.d.ts +99 -69
  54. package/dist/types/data/defines.d.cts +24 -24
  55. package/dist/types/data/defines.d.ts +24 -24
  56. package/dist/types/data/raycast.d.cts +13 -9
  57. package/dist/types/data/raycast.d.ts +13 -9
  58. package/dist/types/data/splatCodec.d.cts +29 -5
  59. package/dist/types/data/splatCodec.d.ts +29 -5
  60. package/dist/types/data/splatData.d.cts +18 -11
  61. package/dist/types/data/splatData.d.ts +18 -11
  62. package/dist/types/data/splatRange.d.cts +6 -2
  63. package/dist/types/data/splatRange.d.ts +6 -2
  64. package/dist/types/data/textureLayout.d.cts +9 -6
  65. package/dist/types/data/textureLayout.d.ts +9 -6
  66. package/dist/types/data/unpack.d.cts +16 -9
  67. package/dist/types/data/unpack.d.ts +16 -9
  68. package/dist/types/index.d.cts +65 -19
  69. package/dist/types/index.d.ts +65 -19
  70. package/dist/types/loaders/SplatLoader.d.cts +27 -14
  71. package/dist/types/loaders/SplatLoader.d.ts +27 -14
  72. package/dist/types/loaders/loadSplatData.d.cts +35 -17
  73. package/dist/types/loaders/loadSplatData.d.ts +35 -17
  74. package/dist/types/loaders/loadTypes.d.cts +46 -40
  75. package/dist/types/loaders/loadTypes.d.ts +46 -40
  76. package/dist/types/loaders/morton.d.cts +9 -3
  77. package/dist/types/loaders/morton.d.ts +9 -3
  78. package/dist/types/loaders/postDecode/builder.d.cts +222 -127
  79. package/dist/types/loaders/postDecode/builder.d.ts +222 -127
  80. package/dist/types/loaders/postDecode/compiler.d.cts +25 -11
  81. package/dist/types/loaders/postDecode/compiler.d.ts +25 -11
  82. package/dist/types/loaders/postDecode/operations.d.cts +22 -3
  83. package/dist/types/loaders/postDecode/operations.d.ts +22 -3
  84. package/dist/types/loaders/postDecode/optimizer.d.cts +5 -2
  85. package/dist/types/loaders/postDecode/optimizer.d.ts +5 -2
  86. package/dist/types/loaders/postDecode/program.d.cts +13 -6
  87. package/dist/types/loaders/postDecode/program.d.ts +13 -6
  88. package/dist/types/loaders/postDecode/protocol.d.cts +136 -111
  89. package/dist/types/loaders/postDecode/protocol.d.ts +136 -111
  90. package/dist/types/loaders/postDecode/registers.d.cts +12 -7
  91. package/dist/types/loaders/postDecode/registers.d.ts +12 -7
  92. package/dist/types/loaders/postDecode/runtime.d.cts +9 -2
  93. package/dist/types/loaders/postDecode/runtime.d.ts +9 -2
  94. package/dist/types/loaders/rad/RadSource.d.cts +81 -66
  95. package/dist/types/loaders/rad/RadSource.d.ts +81 -66
  96. package/dist/types/loaders/rad/radFormat.d.cts +41 -36
  97. package/dist/types/loaders/rad/radFormat.d.ts +41 -36
  98. package/dist/types/loaders/rad.d.cts +4 -4
  99. package/dist/types/loaders/rad.d.ts +4 -4
  100. package/dist/types/loaders/sog/SogSource.d.cts +14 -4
  101. package/dist/types/loaders/sog/SogSource.d.ts +14 -4
  102. package/dist/types/loaders/sog/sogZip.d.cts +12 -12
  103. package/dist/types/loaders/sog/sogZip.d.ts +12 -12
  104. package/dist/types/loaders/sog.d.cts +3 -3
  105. package/dist/types/loaders/sog.d.ts +3 -3
  106. package/dist/types/loaders/source.d.cts +43 -15
  107. package/dist/types/loaders/source.d.ts +43 -15
  108. package/dist/types/loaders/stream/StreamByteBudget.d.cts +4 -4
  109. package/dist/types/loaders/stream/StreamByteBudget.d.ts +4 -4
  110. package/dist/types/loaders/stream/StreamCameras.d.cts +27 -18
  111. package/dist/types/loaders/stream/StreamCameras.d.ts +27 -18
  112. package/dist/types/loaders/stream/StreamWorkerPool.d.cts +37 -34
  113. package/dist/types/loaders/stream/StreamWorkerPool.d.ts +37 -34
  114. package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.cts +15 -11
  115. package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.ts +15 -11
  116. package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.cts +13 -9
  117. package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.ts +13 -9
  118. package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.cts +64 -49
  119. package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.ts +64 -49
  120. package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.cts +110 -102
  121. package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.ts +110 -102
  122. package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.cts +3 -3
  123. package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.ts +3 -3
  124. package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.cts +27 -15
  125. package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.ts +27 -15
  126. package/dist/types/loaders/stream/rad-stream/radFade.d.cts +13 -8
  127. package/dist/types/loaders/stream/rad-stream/radFade.d.ts +13 -8
  128. package/dist/types/loaders/stream/rad-stream/radLod.d.cts +26 -26
  129. package/dist/types/loaders/stream/rad-stream/radLod.d.ts +26 -26
  130. package/dist/types/loaders/stream/rad-stream/worker.d.cts +3 -59
  131. package/dist/types/loaders/stream/rad-stream/worker.d.ts +3 -59
  132. package/dist/types/loaders/stream/rad-stream/workerHandlers.d.cts +85 -59
  133. package/dist/types/loaders/stream/rad-stream/workerHandlers.d.ts +85 -59
  134. package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.cts +17 -12
  135. package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.ts +17 -12
  136. package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.cts +56 -41
  137. package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.ts +56 -41
  138. package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.cts +82 -81
  139. package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.ts +82 -81
  140. package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.cts +3 -3
  141. package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.ts +3 -3
  142. package/dist/types/loaders/stream/sog-stream/sogLod.d.cts +59 -44
  143. package/dist/types/loaders/stream/sog-stream/sogLod.d.ts +59 -44
  144. package/dist/types/loaders/stream/sog-stream/sogVisibility.d.cts +30 -22
  145. package/dist/types/loaders/stream/sog-stream/sogVisibility.d.ts +30 -22
  146. package/dist/types/loaders/stream/sog-stream/worker.d.cts +7 -40
  147. package/dist/types/loaders/stream/sog-stream/worker.d.ts +7 -40
  148. package/dist/types/loaders/stream/sog-stream/workerHandlers.d.cts +69 -44
  149. package/dist/types/loaders/stream/sog-stream/workerHandlers.d.ts +69 -44
  150. package/dist/types/loaders/stream/streamOptions.d.cts +41 -32
  151. package/dist/types/loaders/stream/streamOptions.d.ts +41 -32
  152. package/dist/types/loaders/workerDecode.d.cts +30 -12
  153. package/dist/types/loaders/workerDecode.d.ts +30 -12
  154. package/dist/types/patches/threeR186.d.cts +3 -0
  155. package/dist/types/patches/threeR186.d.ts +3 -0
  156. package/dist/types/rendering/GaussianSplatRenderer.d.cts +393 -376
  157. package/dist/types/rendering/GaussianSplatRenderer.d.ts +393 -376
  158. package/dist/types/rendering/MaterialState.d.cts +9 -0
  159. package/dist/types/rendering/MaterialState.d.ts +9 -0
  160. package/dist/types/rendering/SortCenterCache.d.cts +17 -17
  161. package/dist/types/rendering/SortCenterCache.d.ts +17 -17
  162. package/dist/types/rendering/SplatAccumulator.d.cts +93 -77
  163. package/dist/types/rendering/SplatAccumulator.d.ts +93 -77
  164. package/dist/types/rendering/SplatGeometry.d.cts +2 -2
  165. package/dist/types/rendering/SplatGeometry.d.ts +2 -2
  166. package/dist/types/rendering/StochasticSplatMaterial.d.cts +14 -0
  167. package/dist/types/rendering/StochasticSplatMaterial.d.ts +14 -0
  168. package/dist/types/rendering/backend.d.cts +30 -18
  169. package/dist/types/rendering/backend.d.ts +30 -18
  170. package/dist/types/rendering/blueNoise.d.cts +1 -1
  171. package/dist/types/rendering/blueNoise.d.ts +1 -1
  172. package/dist/types/rendering/rendererUtils.d.cts +25 -10
  173. package/dist/types/rendering/rendererUtils.d.ts +25 -10
  174. package/dist/types/rendering/tsl/GenerateProgram.d.cts +19 -17
  175. package/dist/types/rendering/tsl/GenerateProgram.d.ts +19 -17
  176. package/dist/types/rendering/tsl/ProjectionProgram.d.cts +38 -33
  177. package/dist/types/rendering/tsl/ProjectionProgram.d.ts +38 -33
  178. package/dist/types/rendering/tsl/SplatBackend.d.cts +22 -10
  179. package/dist/types/rendering/tsl/SplatBackend.d.ts +22 -10
  180. package/dist/types/rendering/tsl/SplatMaterial.d.cts +38 -25
  181. package/dist/types/rendering/tsl/SplatMaterial.d.ts +38 -25
  182. package/dist/types/rendering/tsl/shaderUtils.d.cts +55 -17
  183. package/dist/types/rendering/tsl/shaderUtils.d.ts +55 -17
  184. package/dist/types/rendering/tsl/stochasticCoverage.d.cts +7 -0
  185. package/dist/types/rendering/tsl/stochasticCoverage.d.ts +7 -0
  186. package/dist/types/rendering/tsl/viewUniforms.d.cts +19 -9
  187. package/dist/types/rendering/tsl/viewUniforms.d.ts +19 -9
  188. package/dist/types/rendering/uniforms.d.cts +83 -83
  189. package/dist/types/rendering/uniforms.d.ts +83 -83
  190. package/dist/types/rendering/webgl/AccumulatorGenerator.d.cts +28 -12
  191. package/dist/types/rendering/webgl/AccumulatorGenerator.d.ts +28 -12
  192. package/dist/types/rendering/webgl/OrderingTexture.d.cts +10 -7
  193. package/dist/types/rendering/webgl/OrderingTexture.d.ts +10 -7
  194. package/dist/types/rendering/webgl/SplatBackend.d.cts +20 -15
  195. package/dist/types/rendering/webgl/SplatBackend.d.ts +20 -15
  196. package/dist/types/rendering/webgl/SplatMaterial.d.cts +9 -4
  197. package/dist/types/rendering/webgl/SplatMaterial.d.ts +9 -4
  198. package/dist/types/rendering/webgl/textureUtils.d.cts +10 -3
  199. package/dist/types/rendering/webgl/textureUtils.d.ts +10 -3
  200. package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.cts +8 -10
  201. package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.ts +8 -10
  202. package/dist/types/rendering/webgl-fallback/SplatBackend.d.cts +18 -14
  203. package/dist/types/rendering/webgl-fallback/SplatBackend.d.ts +18 -14
  204. package/dist/types/rendering/webgpu/ProjectedSplats.d.cts +76 -66
  205. package/dist/types/rendering/webgpu/ProjectedSplats.d.ts +76 -66
  206. package/dist/types/rendering/webgpu/ProjectionCache.d.cts +43 -28
  207. package/dist/types/rendering/webgpu/ProjectionCache.d.ts +43 -28
  208. package/dist/types/rendering/webgpu/ProjectionKernel.d.cts +22 -0
  209. package/dist/types/rendering/webgpu/ProjectionKernel.d.ts +22 -0
  210. package/dist/types/rendering/webgpu/RadixSort.d.cts +44 -40
  211. package/dist/types/rendering/webgpu/RadixSort.d.ts +44 -40
  212. package/dist/types/rendering/webgpu/SplatBackend.d.cts +14 -12
  213. package/dist/types/rendering/webgpu/SplatBackend.d.ts +14 -12
  214. package/dist/types/runtime/SplatWorker.d.cts +17 -13
  215. package/dist/types/runtime/SplatWorker.d.ts +17 -13
  216. package/dist/types/runtime/WorkerRpc.d.cts +26 -20
  217. package/dist/types/runtime/WorkerRpc.d.ts +26 -20
  218. package/dist/types/runtime/abort.d.cts +10 -5
  219. package/dist/types/runtime/abort.d.ts +10 -5
  220. package/dist/types/runtime/retry.d.cts +6 -6
  221. package/dist/types/runtime/retry.d.ts +6 -6
  222. package/dist/types/runtime/wasmCall.d.cts +3 -3
  223. package/dist/types/runtime/wasmCall.d.ts +3 -3
  224. package/dist/types/runtime/worker.d.cts +44 -24
  225. package/dist/types/runtime/worker.d.ts +44 -24
  226. package/dist/types/runtime/workerServer.d.cts +3 -1
  227. package/dist/types/runtime/workerServer.d.ts +3 -1
  228. package/dist/types/scene/SplatEdit.d.cts +74 -67
  229. package/dist/types/scene/SplatEdit.d.ts +74 -67
  230. package/dist/types/scene/SplatMesh.d.cts +92 -70
  231. package/dist/types/scene/SplatMesh.d.ts +92 -70
  232. package/dist/types/utils/index.d.cts +15 -7
  233. package/dist/types/utils/index.d.ts +15 -7
  234. package/dist/types/utils/three.d.cts +3 -3
  235. package/dist/types/utils/three.d.ts +3 -3
  236. package/dist/types/utils/transforms.d.cts +10 -3
  237. package/dist/types/utils/transforms.d.ts +10 -3
  238. package/docs/GaussianSplatRenderer.md +3 -1
  239. package/docs/NeuralDenoiseNode.md +148 -0
  240. package/docs/SplatMesh.md +1 -1
  241. package/docs/StochasticRendering.md +36 -10
  242. package/docs/TAAPass.md +20 -3
  243. package/package.json +9 -11
  244. package/dist/types/capture/sceneView.d.cts +0 -3
  245. package/dist/types/capture/sceneView.d.ts +0 -3
  246. package/dist/types/rendering/tsl/tslCompat.d.cts +0 -68
  247. package/dist/types/rendering/tsl/tslCompat.d.ts +0 -68
  248. package/docs/Architecture.md +0 -200
@@ -1,59 +1,3 @@
1
- declare const rpcHandlers: {
2
- prepareRadSelection(request: Parameters<typeof import('./prepareRadSelection').prepareRadSelection>[0]): {
3
- selection: {
4
- indices: Uint32Array;
5
- wantedChunks: Uint32Array;
6
- touchedChunks: Uint32Array;
7
- selectionId: number;
8
- changedChunks: Uint32Array;
9
- };
10
- fade: boolean;
11
- pools: import('../../../data/RadPagedSplats').RadPreparedSelection[];
12
- };
13
- initializeRad({ bytes }: {
14
- bytes: Uint8Array;
15
- }): import('../../rad/radFormat').RadHeader;
16
- initializeRadDecoder({ header: value, rootBytes, }: {
17
- header: import('../../rad/radFormat').RadHeader;
18
- rootBytes?: Uint8Array;
19
- }): void;
20
- loadRadChunk({ index, generation, request, }: {
21
- index: number;
22
- generation: number;
23
- request: import('../../rad/RadSource').RadReadRequest;
24
- }, { sendStatus }: {
25
- sendStatus: (data: {
26
- loaded: number;
27
- }) => void;
28
- }): Promise<{
29
- data: {
30
- numSplats: number;
31
- splatArrays: [Uint32Array<ArrayBufferLike>, Uint32Array<ArrayBufferLike>];
32
- extra: import('../../../data/defines').SplatExtra;
33
- rootRadius: number | undefined;
34
- } & import('../../../data/defines').SplatResult & {
35
- sourceIds: Uint32Array;
36
- centerOnlyBoundingBox: Float32Array;
37
- boundingBox: Float32Array;
38
- spatialBounds: Float32Array;
39
- };
40
- tree: import('./radLod').RadLodChunk;
41
- state: import('../../rad/RadSource').RadResourceState | undefined;
42
- rootBytes: Uint8Array<ArrayBufferLike> | undefined;
43
- }>;
44
- cancelRadLoad({ generation }: {
45
- generation: number;
46
- }): void;
47
- retainRadChunk({ index, generation, tree, }: {
48
- index: number;
49
- generation: number;
50
- tree: import('./radLod').RadLodChunk;
51
- }): void;
52
- selectRadLod(request: import('./RadSelectionState').RadSelectionRequest): import('./RadSelectionState').RadSelectionReply;
53
- releaseRadChunk({ index, generation, }: {
54
- index: number;
55
- generation?: number;
56
- }): void;
57
- };
58
- export type RadStreamRpcHandlers = typeof rpcHandlers;
59
- export {};
1
+ import type { createRadStreamHandlers } from "./workerHandlers.js";
2
+
3
+ export type RadStreamRpcHandlers = ReturnType<typeof createRadStreamHandlers>;
@@ -1,63 +1,89 @@
1
- import { RadReadRequest } from '../../rad/RadSource.cjs';
2
- import { RadHeader } from '../../rad/radFormat.cjs';
3
- import { RadSelectionReply, RadSelectionRequest } from './RadSelectionState.cjs';
4
- import { prepareRadSelection } from './prepareRadSelection.cjs';
5
- import { RadLodChunk } from './radLod.cjs';
1
+ import type { RadReadRequest } from "../../rad/RadSource.cjs";
2
+ import type { RadHeader } from "../../rad/radFormat.cjs";
3
+ import type {
4
+ RadSelectionReply,
5
+ RadSelectionRequest,
6
+ } from "./RadSelectionState.cjs";
7
+ import type { prepareRadSelection } from "./prepareRadSelection.cjs";
8
+ import type { RadLodChunk } from "./radLod.cjs";
6
9
  /** Each worker initializes once as either the dataset LOD tree or a page decoder. */
7
10
  export declare function createRadStreamHandlers(): {
8
- prepareRadSelection(request: Parameters<typeof prepareRadSelection>[0]): {
9
- selection: {
10
- indices: Uint32Array;
11
- wantedChunks: Uint32Array;
12
- touchedChunks: Uint32Array;
13
- selectionId: number;
14
- changedChunks: Uint32Array;
15
- };
16
- fade: boolean;
17
- pools: import('../../../data/RadPagedSplats.cjs').RadPreparedSelection[];
11
+ prepareRadSelection(request: Parameters<typeof prepareRadSelection>[0]): {
12
+ selection: {
13
+ indices: Uint32Array;
14
+ wantedChunks: Uint32Array;
15
+ touchedChunks: Uint32Array;
16
+ selectionId: number;
17
+ changedChunks: Uint32Array;
18
18
  };
19
- initializeRad({ bytes }: {
20
- bytes: Uint8Array;
21
- }): RadHeader;
22
- initializeRadDecoder({ header: value, rootBytes, }: {
23
- header: RadHeader;
24
- rootBytes?: Uint8Array;
25
- }): void;
26
- loadRadChunk({ index, generation, request, }: {
27
- index: number;
28
- generation: number;
29
- request: RadReadRequest;
30
- }, { sendStatus }: {
31
- sendStatus: (data: {
32
- loaded: number;
33
- }) => void;
34
- }): Promise<{
35
- data: {
36
- numSplats: number;
37
- splatArrays: [Uint32Array<ArrayBufferLike>, Uint32Array<ArrayBufferLike>];
38
- extra: import('../../../data/defines.cjs').SplatExtra;
39
- rootRadius: number | undefined;
40
- } & import('../../../data/defines.cjs').SplatResult & {
41
- sourceIds: Uint32Array;
42
- centerOnlyBoundingBox: Float32Array;
43
- boundingBox: Float32Array;
44
- spatialBounds: Float32Array;
45
- };
46
- tree: RadLodChunk;
47
- state: import('../../rad/RadSource.cjs').RadResourceState | undefined;
48
- rootBytes: Uint8Array<ArrayBufferLike> | undefined;
49
- }>;
50
- cancelRadLoad({ generation }: {
51
- generation: number;
52
- }): void;
53
- retainRadChunk({ index, generation, tree, }: {
54
- index: number;
55
- generation: number;
56
- tree: RadLodChunk;
57
- }): void;
58
- selectRadLod(request: RadSelectionRequest): RadSelectionReply;
59
- releaseRadChunk({ index, generation, }: {
60
- index: number;
61
- generation?: number;
62
- }): void;
19
+ fade: boolean;
20
+ pools: import("../../../data/RadPagedSplats.cjs").RadPreparedSelection[];
21
+ };
22
+ initializeRad({
23
+ bytes,
24
+ }: {
25
+ bytes: Uint8Array;
26
+ }): RadHeader;
27
+ initializeRadDecoder({
28
+ header: value,
29
+ rootBytes,
30
+ }: {
31
+ header: RadHeader;
32
+ rootBytes?: Uint8Array;
33
+ }): void;
34
+ loadRadChunk(
35
+ {
36
+ index,
37
+ generation,
38
+ request,
39
+ }: {
40
+ index: number;
41
+ generation: number;
42
+ request: RadReadRequest;
43
+ },
44
+ {
45
+ sendStatus,
46
+ }: {
47
+ sendStatus: (data: {
48
+ loaded: number;
49
+ }) => void;
50
+ },
51
+ ): Promise<{
52
+ data: {
53
+ numSplats: number;
54
+ splatArrays: [Uint32Array<ArrayBufferLike>, Uint32Array<ArrayBufferLike>];
55
+ extra: import("../../../data/defines.cjs").SplatExtra;
56
+ rootRadius: number | undefined;
57
+ } & import("../../../data/defines.cjs").SplatResult & {
58
+ sourceIds: Uint32Array;
59
+ centerOnlyBoundingBox: Float32Array;
60
+ boundingBox: Float32Array;
61
+ spatialBounds: Float32Array;
62
+ };
63
+ tree: RadLodChunk;
64
+ state: import("../../rad/RadSource.cjs").RadResourceState | undefined;
65
+ rootBytes: Uint8Array<ArrayBufferLike> | undefined;
66
+ }>;
67
+ cancelRadLoad({
68
+ generation,
69
+ }: {
70
+ generation: number;
71
+ }): void;
72
+ retainRadChunk({
73
+ index,
74
+ generation,
75
+ tree,
76
+ }: {
77
+ index: number;
78
+ generation: number;
79
+ tree: RadLodChunk;
80
+ }): void;
81
+ selectRadLod(request: RadSelectionRequest): RadSelectionReply;
82
+ releaseRadChunk({
83
+ index,
84
+ generation,
85
+ }: {
86
+ index: number;
87
+ generation?: number;
88
+ }): void;
63
89
  };
@@ -1,63 +1,89 @@
1
- import { RadReadRequest } from '../../rad/RadSource';
2
- import { RadHeader } from '../../rad/radFormat';
3
- import { RadSelectionReply, RadSelectionRequest } from './RadSelectionState';
4
- import { prepareRadSelection } from './prepareRadSelection';
5
- import { RadLodChunk } from './radLod';
1
+ import type { RadReadRequest } from "../../rad/RadSource.js";
2
+ import type { RadHeader } from "../../rad/radFormat.js";
3
+ import type {
4
+ RadSelectionReply,
5
+ RadSelectionRequest,
6
+ } from "./RadSelectionState.js";
7
+ import type { prepareRadSelection } from "./prepareRadSelection.js";
8
+ import type { RadLodChunk } from "./radLod.js";
6
9
  /** Each worker initializes once as either the dataset LOD tree or a page decoder. */
7
10
  export declare function createRadStreamHandlers(): {
8
- prepareRadSelection(request: Parameters<typeof prepareRadSelection>[0]): {
9
- selection: {
10
- indices: Uint32Array;
11
- wantedChunks: Uint32Array;
12
- touchedChunks: Uint32Array;
13
- selectionId: number;
14
- changedChunks: Uint32Array;
15
- };
16
- fade: boolean;
17
- pools: import('../../../data/RadPagedSplats').RadPreparedSelection[];
11
+ prepareRadSelection(request: Parameters<typeof prepareRadSelection>[0]): {
12
+ selection: {
13
+ indices: Uint32Array;
14
+ wantedChunks: Uint32Array;
15
+ touchedChunks: Uint32Array;
16
+ selectionId: number;
17
+ changedChunks: Uint32Array;
18
18
  };
19
- initializeRad({ bytes }: {
20
- bytes: Uint8Array;
21
- }): RadHeader;
22
- initializeRadDecoder({ header: value, rootBytes, }: {
23
- header: RadHeader;
24
- rootBytes?: Uint8Array;
25
- }): void;
26
- loadRadChunk({ index, generation, request, }: {
27
- index: number;
28
- generation: number;
29
- request: RadReadRequest;
30
- }, { sendStatus }: {
31
- sendStatus: (data: {
32
- loaded: number;
33
- }) => void;
34
- }): Promise<{
35
- data: {
36
- numSplats: number;
37
- splatArrays: [Uint32Array<ArrayBufferLike>, Uint32Array<ArrayBufferLike>];
38
- extra: import('../../../data/defines').SplatExtra;
39
- rootRadius: number | undefined;
40
- } & import('../../../data/defines').SplatResult & {
41
- sourceIds: Uint32Array;
42
- centerOnlyBoundingBox: Float32Array;
43
- boundingBox: Float32Array;
44
- spatialBounds: Float32Array;
45
- };
46
- tree: RadLodChunk;
47
- state: import('../../rad/RadSource').RadResourceState | undefined;
48
- rootBytes: Uint8Array<ArrayBufferLike> | undefined;
49
- }>;
50
- cancelRadLoad({ generation }: {
51
- generation: number;
52
- }): void;
53
- retainRadChunk({ index, generation, tree, }: {
54
- index: number;
55
- generation: number;
56
- tree: RadLodChunk;
57
- }): void;
58
- selectRadLod(request: RadSelectionRequest): RadSelectionReply;
59
- releaseRadChunk({ index, generation, }: {
60
- index: number;
61
- generation?: number;
62
- }): void;
19
+ fade: boolean;
20
+ pools: import("../../../data/RadPagedSplats.js").RadPreparedSelection[];
21
+ };
22
+ initializeRad({
23
+ bytes,
24
+ }: {
25
+ bytes: Uint8Array;
26
+ }): RadHeader;
27
+ initializeRadDecoder({
28
+ header: value,
29
+ rootBytes,
30
+ }: {
31
+ header: RadHeader;
32
+ rootBytes?: Uint8Array;
33
+ }): void;
34
+ loadRadChunk(
35
+ {
36
+ index,
37
+ generation,
38
+ request,
39
+ }: {
40
+ index: number;
41
+ generation: number;
42
+ request: RadReadRequest;
43
+ },
44
+ {
45
+ sendStatus,
46
+ }: {
47
+ sendStatus: (data: {
48
+ loaded: number;
49
+ }) => void;
50
+ },
51
+ ): Promise<{
52
+ data: {
53
+ numSplats: number;
54
+ splatArrays: [Uint32Array<ArrayBufferLike>, Uint32Array<ArrayBufferLike>];
55
+ extra: import("../../../data/defines.js").SplatExtra;
56
+ rootRadius: number | undefined;
57
+ } & import("../../../data/defines.js").SplatResult & {
58
+ sourceIds: Uint32Array;
59
+ centerOnlyBoundingBox: Float32Array;
60
+ boundingBox: Float32Array;
61
+ spatialBounds: Float32Array;
62
+ };
63
+ tree: RadLodChunk;
64
+ state: import("../../rad/RadSource.js").RadResourceState | undefined;
65
+ rootBytes: Uint8Array<ArrayBufferLike> | undefined;
66
+ }>;
67
+ cancelRadLoad({
68
+ generation,
69
+ }: {
70
+ generation: number;
71
+ }): void;
72
+ retainRadChunk({
73
+ index,
74
+ generation,
75
+ tree,
76
+ }: {
77
+ index: number;
78
+ generation: number;
79
+ tree: RadLodChunk;
80
+ }): void;
81
+ selectRadLod(request: RadSelectionRequest): RadSelectionReply;
82
+ releaseRadChunk({
83
+ index,
84
+ generation,
85
+ }: {
86
+ index: number;
87
+ generation?: number;
88
+ }): void;
63
89
  };
@@ -1,16 +1,21 @@
1
- import { ReorderedSplatResult } from '../../../data/defines.cjs';
2
- import { SplatMesh } from '../../../scene/SplatMesh.cjs';
3
1
  import type * as THREE from "three";
2
+ import type { ReorderedSplatResult } from "../../../data/defines.cjs";
3
+ import { SplatMesh } from "../../../scene/SplatMesh.cjs";
4
4
  /** Regions share one source, one scene node and one accumulator generation call. */
5
5
  export declare class SogStreamBatch extends SplatMesh {
6
- readonly numSh: number;
7
- private readonly group;
8
- private readonly onEmpty;
9
- private readonly source;
10
- private readonly slots;
11
- constructor(capacity: number, numSh: number, group: THREE.Group, onEmpty: () => void);
12
- get residentBytes(): number;
13
- writeRegion(start: number, data: ReorderedSplatResult): void;
14
- setRegionOpacity(start: number, opacity: number): void;
15
- releaseRegion(start: number): void;
6
+ readonly numSh: number;
7
+ private readonly group;
8
+ private readonly onEmpty;
9
+ private readonly source;
10
+ private readonly slots;
11
+ constructor(
12
+ capacity: number,
13
+ numSh: number,
14
+ group: THREE.Group,
15
+ onEmpty: () => void,
16
+ );
17
+ get residentBytes(): number;
18
+ writeRegion(start: number, data: ReorderedSplatResult): void;
19
+ setRegionOpacity(start: number, opacity: number): void;
20
+ releaseRegion(start: number): void;
16
21
  }
@@ -1,16 +1,21 @@
1
- import { ReorderedSplatResult } from '../../../data/defines';
2
- import { SplatMesh } from '../../../scene/SplatMesh';
3
1
  import type * as THREE from "three";
2
+ import type { ReorderedSplatResult } from "../../../data/defines.js";
3
+ import { SplatMesh } from "../../../scene/SplatMesh.js";
4
4
  /** Regions share one source, one scene node and one accumulator generation call. */
5
5
  export declare class SogStreamBatch extends SplatMesh {
6
- readonly numSh: number;
7
- private readonly group;
8
- private readonly onEmpty;
9
- private readonly source;
10
- private readonly slots;
11
- constructor(capacity: number, numSh: number, group: THREE.Group, onEmpty: () => void);
12
- get residentBytes(): number;
13
- writeRegion(start: number, data: ReorderedSplatResult): void;
14
- setRegionOpacity(start: number, opacity: number): void;
15
- releaseRegion(start: number): void;
6
+ readonly numSh: number;
7
+ private readonly group;
8
+ private readonly onEmpty;
9
+ private readonly source;
10
+ private readonly slots;
11
+ constructor(
12
+ capacity: number,
13
+ numSh: number,
14
+ group: THREE.Group,
15
+ onEmpty: () => void,
16
+ );
17
+ get residentBytes(): number;
18
+ writeRegion(start: number, data: ReorderedSplatResult): void;
19
+ setRegionOpacity(start: number, opacity: number): void;
20
+ releaseRegion(start: number): void;
16
21
  }
@@ -1,49 +1,64 @@
1
- import { Splats } from '../../../data/Splats.cjs';
2
- import { StreamRequestOptions } from '../streamOptions.cjs';
3
- import { SogStreamWorker } from './SogStreamWorker.cjs';
4
- import { SogLodMetadata } from './sogLod.cjs';
5
- import { SogView } from './sogVisibility.cjs';
6
- import { SogChunkInfo } from './workerHandlers.cjs';
1
+ import type { Splats } from "../../../data/Splats.cjs";
2
+ import type { StreamRequestOptions } from "../streamOptions.cjs";
3
+ import type { SogStreamWorker } from "./SogStreamWorker.cjs";
4
+ import type { SogLodMetadata } from "./sogLod.cjs";
5
+ import type { SogView } from "./sogVisibility.cjs";
6
+ import type { SogChunkInfo } from "./workerHandlers.cjs";
7
7
  export type SogStreamLoaderOptions = StreamRequestOptions & {
8
- url: string;
9
- /** Returns owned data in file order, or with a complete source ID map. */
10
- loadChunk?: (url: string, signal: AbortSignal) => Promise<Splats>;
8
+ url: string;
9
+ /** Returns owned data in file order, or with a complete source ID map. */
10
+ loadChunk?: (url: string, signal: AbortSignal) => Promise<Splats>;
11
11
  };
12
12
  /** A retained worker cache; extraction transfers owned packed arrays to the caller. */
13
13
  export declare class SogChunkSource {
14
- private readonly worker;
15
- private readonly id;
16
- readonly info: SogChunkInfo;
17
- private readonly onRelease;
18
- private released;
19
- constructor(worker: SogStreamWorker, id: number, info: SogChunkInfo, onRelease: () => void);
20
- get alive(): boolean;
21
- extract(ranges: {
22
- start: number;
23
- count: number;
24
- }[]): Promise<import('../../../data/defines.cjs').ReorderedSplatResult[]>;
25
- dispose(): void;
14
+ private readonly worker;
15
+ private readonly id;
16
+ readonly info: SogChunkInfo;
17
+ private readonly onRelease;
18
+ private released;
19
+ constructor(
20
+ worker: SogStreamWorker,
21
+ id: number,
22
+ info: SogChunkInfo,
23
+ onRelease: () => void,
24
+ );
25
+ get alive(): boolean;
26
+ extract(
27
+ ranges: {
28
+ start: number;
29
+ count: number;
30
+ }[],
31
+ ): Promise<import("../../../data/defines.cjs").ReorderedSplatResult[]>;
32
+ dispose(): void;
26
33
  }
27
34
  /** Dedicated LOD worker, bounded decoders and retained chunk cache handles. */
28
35
  export declare class SogStreamLoader {
29
- private readonly options;
30
- private readonly lodWorker;
31
- private readonly pool;
32
- private readonly controller;
33
- private initialization?;
34
- private baseUrl;
35
- private downloadedBytes;
36
- private retainedIndexBytes;
37
- constructor(options: SogStreamLoaderOptions, maxConcurrentLoads: number, onChange: () => void);
38
- get stats(): {
39
- downloadedBytes: number;
40
- peakWasmMemoryBytes: number;
41
- retainedIndexBytes: number;
42
- };
43
- private assertActive;
44
- initialize(signal?: AbortSignal): Promise<SogLodMetadata>;
45
- private readIndex;
46
- selectLod(view: SogView, budget: number): Promise<Uint32Array>;
47
- load(url: string, count: number, signal: AbortSignal): Promise<SogChunkSource>;
48
- dispose(): void;
36
+ private readonly options;
37
+ private readonly lodWorker;
38
+ private readonly pool;
39
+ private readonly controller;
40
+ private initialization?;
41
+ private baseUrl;
42
+ private downloadedBytes;
43
+ private retainedIndexBytes;
44
+ constructor(
45
+ options: SogStreamLoaderOptions,
46
+ maxConcurrentLoads: number,
47
+ onChange: () => void,
48
+ );
49
+ get stats(): {
50
+ downloadedBytes: number;
51
+ peakWasmMemoryBytes: number;
52
+ retainedIndexBytes: number;
53
+ };
54
+ private assertActive;
55
+ initialize(signal?: AbortSignal): Promise<SogLodMetadata>;
56
+ private readIndex;
57
+ selectLod(view: SogView, budget: number): Promise<Uint32Array>;
58
+ load(
59
+ url: string,
60
+ count: number,
61
+ signal: AbortSignal,
62
+ ): Promise<SogChunkSource>;
63
+ dispose(): void;
49
64
  }
@@ -1,49 +1,64 @@
1
- import { Splats } from '../../../data/Splats';
2
- import { StreamRequestOptions } from '../streamOptions';
3
- import { SogStreamWorker } from './SogStreamWorker';
4
- import { SogLodMetadata } from './sogLod';
5
- import { SogView } from './sogVisibility';
6
- import { SogChunkInfo } from './workerHandlers';
1
+ import type { Splats } from "../../../data/Splats.js";
2
+ import type { StreamRequestOptions } from "../streamOptions.js";
3
+ import type { SogStreamWorker } from "./SogStreamWorker.js";
4
+ import type { SogLodMetadata } from "./sogLod.js";
5
+ import type { SogView } from "./sogVisibility.js";
6
+ import type { SogChunkInfo } from "./workerHandlers.js";
7
7
  export type SogStreamLoaderOptions = StreamRequestOptions & {
8
- url: string;
9
- /** Returns owned data in file order, or with a complete source ID map. */
10
- loadChunk?: (url: string, signal: AbortSignal) => Promise<Splats>;
8
+ url: string;
9
+ /** Returns owned data in file order, or with a complete source ID map. */
10
+ loadChunk?: (url: string, signal: AbortSignal) => Promise<Splats>;
11
11
  };
12
12
  /** A retained worker cache; extraction transfers owned packed arrays to the caller. */
13
13
  export declare class SogChunkSource {
14
- private readonly worker;
15
- private readonly id;
16
- readonly info: SogChunkInfo;
17
- private readonly onRelease;
18
- private released;
19
- constructor(worker: SogStreamWorker, id: number, info: SogChunkInfo, onRelease: () => void);
20
- get alive(): boolean;
21
- extract(ranges: {
22
- start: number;
23
- count: number;
24
- }[]): Promise<import('../../../data/defines').ReorderedSplatResult[]>;
25
- dispose(): void;
14
+ private readonly worker;
15
+ private readonly id;
16
+ readonly info: SogChunkInfo;
17
+ private readonly onRelease;
18
+ private released;
19
+ constructor(
20
+ worker: SogStreamWorker,
21
+ id: number,
22
+ info: SogChunkInfo,
23
+ onRelease: () => void,
24
+ );
25
+ get alive(): boolean;
26
+ extract(
27
+ ranges: {
28
+ start: number;
29
+ count: number;
30
+ }[],
31
+ ): Promise<import("../../../data/defines.js").ReorderedSplatResult[]>;
32
+ dispose(): void;
26
33
  }
27
34
  /** Dedicated LOD worker, bounded decoders and retained chunk cache handles. */
28
35
  export declare class SogStreamLoader {
29
- private readonly options;
30
- private readonly lodWorker;
31
- private readonly pool;
32
- private readonly controller;
33
- private initialization?;
34
- private baseUrl;
35
- private downloadedBytes;
36
- private retainedIndexBytes;
37
- constructor(options: SogStreamLoaderOptions, maxConcurrentLoads: number, onChange: () => void);
38
- get stats(): {
39
- downloadedBytes: number;
40
- peakWasmMemoryBytes: number;
41
- retainedIndexBytes: number;
42
- };
43
- private assertActive;
44
- initialize(signal?: AbortSignal): Promise<SogLodMetadata>;
45
- private readIndex;
46
- selectLod(view: SogView, budget: number): Promise<Uint32Array>;
47
- load(url: string, count: number, signal: AbortSignal): Promise<SogChunkSource>;
48
- dispose(): void;
36
+ private readonly options;
37
+ private readonly lodWorker;
38
+ private readonly pool;
39
+ private readonly controller;
40
+ private initialization?;
41
+ private baseUrl;
42
+ private downloadedBytes;
43
+ private retainedIndexBytes;
44
+ constructor(
45
+ options: SogStreamLoaderOptions,
46
+ maxConcurrentLoads: number,
47
+ onChange: () => void,
48
+ );
49
+ get stats(): {
50
+ downloadedBytes: number;
51
+ peakWasmMemoryBytes: number;
52
+ retainedIndexBytes: number;
53
+ };
54
+ private assertActive;
55
+ initialize(signal?: AbortSignal): Promise<SogLodMetadata>;
56
+ private readIndex;
57
+ selectLod(view: SogView, budget: number): Promise<Uint32Array>;
58
+ load(
59
+ url: string,
60
+ count: number,
61
+ signal: AbortSignal,
62
+ ): Promise<SogChunkSource>;
63
+ dispose(): void;
49
64
  }