gaussian-splat-lite 1.2.2 → 1.3.1

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 (250) hide show
  1. package/CHANGELOG.md +61 -2
  2. package/CONTRIBUTING.md +4 -2
  3. package/README.md +4 -3
  4. package/dist/gaussian-splat-lite.cjs +6782 -1661
  5. package/dist/gaussian-splat-lite.cjs.map +1 -1
  6. package/dist/gaussian-splat-lite.min.cjs +991 -15
  7. package/dist/gaussian-splat-lite.min.cjs.map +1 -1
  8. package/dist/gaussian-splat-lite.module.js +6328 -1207
  9. package/dist/gaussian-splat-lite.module.js.map +1 -1
  10. package/dist/gaussian-splat-lite.module.min.js +8208 -3572
  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 +83 -58
  45. package/dist/types/data/IndexedSplats.d.ts +83 -58
  46. package/dist/types/data/RadPagedSplats.d.cts +66 -61
  47. package/dist/types/data/RadPagedSplats.d.ts +66 -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 +36 -29
  51. package/dist/types/data/SplatOpacityTable.d.ts +36 -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/StreamCameras.d.cts +27 -18
  109. package/dist/types/loaders/stream/StreamCameras.d.ts +27 -18
  110. package/dist/types/loaders/stream/StreamWorkerPool.d.cts +37 -37
  111. package/dist/types/loaders/stream/StreamWorkerPool.d.ts +37 -37
  112. package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.cts +20 -13
  113. package/dist/types/loaders/stream/rad-stream/RadSelectionState.d.ts +20 -13
  114. package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.cts +13 -9
  115. package/dist/types/loaders/stream/rad-stream/RadStreamBatch.d.ts +13 -9
  116. package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.cts +69 -51
  117. package/dist/types/loaders/stream/rad-stream/RadStreamLoader.d.ts +69 -51
  118. package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.cts +126 -102
  119. package/dist/types/loaders/stream/rad-stream/RadStreamScheduler.d.ts +126 -102
  120. package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.cts +4 -4
  121. package/dist/types/loaders/stream/rad-stream/RadStreamWorker.d.ts +4 -4
  122. package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.cts +20 -17
  123. package/dist/types/loaders/stream/rad-stream/prepareRadSelection.d.ts +20 -17
  124. package/dist/types/loaders/stream/rad-stream/radFade.d.cts +13 -8
  125. package/dist/types/loaders/stream/rad-stream/radFade.d.ts +13 -8
  126. package/dist/types/loaders/stream/rad-stream/radLod.d.cts +29 -27
  127. package/dist/types/loaders/stream/rad-stream/radLod.d.ts +29 -27
  128. package/dist/types/loaders/stream/rad-stream/worker.d.cts +3 -59
  129. package/dist/types/loaders/stream/rad-stream/worker.d.ts +3 -59
  130. package/dist/types/loaders/stream/rad-stream/workerHandlers.d.cts +58 -61
  131. package/dist/types/loaders/stream/rad-stream/workerHandlers.d.ts +58 -61
  132. package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.cts +16 -12
  133. package/dist/types/loaders/stream/sog-stream/SogStreamBatch.d.ts +16 -12
  134. package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.cts +56 -41
  135. package/dist/types/loaders/stream/sog-stream/SogStreamLoader.d.ts +56 -41
  136. package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.cts +102 -81
  137. package/dist/types/loaders/stream/sog-stream/SogStreamScheduler.d.ts +102 -81
  138. package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.cts +3 -3
  139. package/dist/types/loaders/stream/sog-stream/SogStreamWorker.d.ts +3 -3
  140. package/dist/types/loaders/stream/sog-stream/sogLod.d.cts +67 -46
  141. package/dist/types/loaders/stream/sog-stream/sogLod.d.ts +67 -46
  142. package/dist/types/loaders/stream/sog-stream/sogVisibility.d.cts +28 -22
  143. package/dist/types/loaders/stream/sog-stream/sogVisibility.d.ts +28 -22
  144. package/dist/types/loaders/stream/sog-stream/worker.d.cts +7 -40
  145. package/dist/types/loaders/stream/sog-stream/worker.d.ts +7 -40
  146. package/dist/types/loaders/stream/sog-stream/workerHandlers.d.cts +63 -44
  147. package/dist/types/loaders/stream/sog-stream/workerHandlers.d.ts +63 -44
  148. package/dist/types/loaders/stream/streamOptions.d.cts +43 -33
  149. package/dist/types/loaders/stream/streamOptions.d.ts +43 -33
  150. package/dist/types/loaders/workerDecode.d.cts +30 -12
  151. package/dist/types/loaders/workerDecode.d.ts +30 -12
  152. package/dist/types/patches/threeR186.d.cts +3 -0
  153. package/dist/types/patches/threeR186.d.ts +3 -0
  154. package/dist/types/rendering/GaussianSplatRenderer.d.cts +393 -376
  155. package/dist/types/rendering/GaussianSplatRenderer.d.ts +393 -376
  156. package/dist/types/rendering/MaterialState.d.cts +9 -0
  157. package/dist/types/rendering/MaterialState.d.ts +9 -0
  158. package/dist/types/rendering/SortCenterCache.d.cts +17 -17
  159. package/dist/types/rendering/SortCenterCache.d.ts +17 -17
  160. package/dist/types/rendering/SplatAccumulator.d.cts +93 -77
  161. package/dist/types/rendering/SplatAccumulator.d.ts +93 -77
  162. package/dist/types/rendering/SplatGeometry.d.cts +2 -2
  163. package/dist/types/rendering/SplatGeometry.d.ts +2 -2
  164. package/dist/types/rendering/StochasticSplatMaterial.d.cts +14 -0
  165. package/dist/types/rendering/StochasticSplatMaterial.d.ts +14 -0
  166. package/dist/types/rendering/backend.d.cts +30 -18
  167. package/dist/types/rendering/backend.d.ts +30 -18
  168. package/dist/types/rendering/blueNoise.d.cts +1 -1
  169. package/dist/types/rendering/blueNoise.d.ts +1 -1
  170. package/dist/types/rendering/rendererUtils.d.cts +25 -10
  171. package/dist/types/rendering/rendererUtils.d.ts +25 -10
  172. package/dist/types/rendering/tsl/GenerateProgram.d.cts +19 -17
  173. package/dist/types/rendering/tsl/GenerateProgram.d.ts +19 -17
  174. package/dist/types/rendering/tsl/ProjectionProgram.d.cts +38 -33
  175. package/dist/types/rendering/tsl/ProjectionProgram.d.ts +38 -33
  176. package/dist/types/rendering/tsl/SplatBackend.d.cts +22 -10
  177. package/dist/types/rendering/tsl/SplatBackend.d.ts +22 -10
  178. package/dist/types/rendering/tsl/SplatMaterial.d.cts +38 -25
  179. package/dist/types/rendering/tsl/SplatMaterial.d.ts +38 -25
  180. package/dist/types/rendering/tsl/shaderUtils.d.cts +55 -17
  181. package/dist/types/rendering/tsl/shaderUtils.d.ts +55 -17
  182. package/dist/types/rendering/tsl/stochasticCoverage.d.cts +7 -0
  183. package/dist/types/rendering/tsl/stochasticCoverage.d.ts +7 -0
  184. package/dist/types/rendering/tsl/viewUniforms.d.cts +19 -9
  185. package/dist/types/rendering/tsl/viewUniforms.d.ts +19 -9
  186. package/dist/types/rendering/uniforms.d.cts +83 -83
  187. package/dist/types/rendering/uniforms.d.ts +83 -83
  188. package/dist/types/rendering/webgl/AccumulatorGenerator.d.cts +28 -12
  189. package/dist/types/rendering/webgl/AccumulatorGenerator.d.ts +28 -12
  190. package/dist/types/rendering/webgl/OrderingTexture.d.cts +10 -7
  191. package/dist/types/rendering/webgl/OrderingTexture.d.ts +10 -7
  192. package/dist/types/rendering/webgl/SplatBackend.d.cts +20 -15
  193. package/dist/types/rendering/webgl/SplatBackend.d.ts +20 -15
  194. package/dist/types/rendering/webgl/SplatMaterial.d.cts +9 -4
  195. package/dist/types/rendering/webgl/SplatMaterial.d.ts +9 -4
  196. package/dist/types/rendering/webgl/textureUtils.d.cts +10 -3
  197. package/dist/types/rendering/webgl/textureUtils.d.ts +10 -3
  198. package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.cts +8 -10
  199. package/dist/types/rendering/webgl-fallback/AccumulatorGenerator.d.ts +8 -10
  200. package/dist/types/rendering/webgl-fallback/SplatBackend.d.cts +18 -14
  201. package/dist/types/rendering/webgl-fallback/SplatBackend.d.ts +18 -14
  202. package/dist/types/rendering/webgpu/ProjectedSplats.d.cts +76 -66
  203. package/dist/types/rendering/webgpu/ProjectedSplats.d.ts +76 -66
  204. package/dist/types/rendering/webgpu/ProjectionCache.d.cts +43 -28
  205. package/dist/types/rendering/webgpu/ProjectionCache.d.ts +43 -28
  206. package/dist/types/rendering/webgpu/ProjectionKernel.d.cts +22 -0
  207. package/dist/types/rendering/webgpu/ProjectionKernel.d.ts +22 -0
  208. package/dist/types/rendering/webgpu/RadixSort.d.cts +44 -40
  209. package/dist/types/rendering/webgpu/RadixSort.d.ts +44 -40
  210. package/dist/types/rendering/webgpu/SplatBackend.d.cts +14 -12
  211. package/dist/types/rendering/webgpu/SplatBackend.d.ts +14 -12
  212. package/dist/types/runtime/SplatWorker.d.cts +17 -13
  213. package/dist/types/runtime/SplatWorker.d.ts +17 -13
  214. package/dist/types/runtime/WorkerRpc.d.cts +26 -20
  215. package/dist/types/runtime/WorkerRpc.d.ts +26 -20
  216. package/dist/types/runtime/abort.d.cts +10 -5
  217. package/dist/types/runtime/abort.d.ts +10 -5
  218. package/dist/types/runtime/retry.d.cts +6 -6
  219. package/dist/types/runtime/retry.d.ts +6 -6
  220. package/dist/types/runtime/wasmCall.d.cts +3 -3
  221. package/dist/types/runtime/wasmCall.d.ts +3 -3
  222. package/dist/types/runtime/worker.d.cts +44 -24
  223. package/dist/types/runtime/worker.d.ts +44 -24
  224. package/dist/types/runtime/workerServer.d.cts +3 -1
  225. package/dist/types/runtime/workerServer.d.ts +3 -1
  226. package/dist/types/scene/SplatEdit.d.cts +74 -67
  227. package/dist/types/scene/SplatEdit.d.ts +74 -67
  228. package/dist/types/scene/SplatMesh.d.cts +92 -70
  229. package/dist/types/scene/SplatMesh.d.ts +92 -70
  230. package/dist/types/utils/index.d.cts +15 -7
  231. package/dist/types/utils/index.d.ts +15 -7
  232. package/dist/types/utils/three.d.cts +3 -3
  233. package/dist/types/utils/three.d.ts +3 -3
  234. package/dist/types/utils/transforms.d.cts +10 -3
  235. package/dist/types/utils/transforms.d.ts +10 -3
  236. package/docs/GaussianSplatRenderer.md +3 -1
  237. package/docs/NeuralDenoiseNode.md +148 -0
  238. package/docs/RadStreamScheduler.md +14 -5
  239. package/docs/SogStreamScheduler.md +8 -6
  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/loaders/stream/StreamByteBudget.d.cts +0 -7
  247. package/dist/types/loaders/stream/StreamByteBudget.d.ts +0 -7
  248. package/dist/types/rendering/tsl/tslCompat.d.cts +0 -68
  249. package/dist/types/rendering/tsl/tslCompat.d.ts +0 -68
  250. 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,60 @@
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';
6
- /** Each worker initializes once as either the dataset LOD tree or a page decoder. */
1
+ import type { RadReadRequest, RadResourceState } from "../../rad/RadSource.cjs";
2
+ import type { RadHeader, RadStreamChunk } from "../../rad/radFormat.cjs";
3
+ import type {
4
+ RadSelectionReply,
5
+ RadSelectionRequest,
6
+ } from "./RadSelectionState.cjs";
7
+ import type {
8
+ RadSelectionChunk,
9
+ RadSelectionPreparation,
10
+ prepareRadSelection,
11
+ } from "./prepareRadSelection.cjs";
12
+ import type { RadLodChunk } from "./radLod.cjs";
13
+ /** Workers own LOD traversal, display preparation, or a persistent page decoder. */
7
14
  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[];
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;
15
+ prepareRadSelection(
16
+ request: Parameters<typeof prepareRadSelection>[0],
17
+ ): RadSelectionPreparation;
18
+ initializeRad(request: { bytes: Uint8Array }): RadHeader;
19
+ initializeRadDecoder(request: {
20
+ header: RadHeader;
21
+ rootBytes?: Uint8Array;
22
+ }): void;
23
+ loadRadChunk(
24
+ args: {
25
+ index: number;
26
+ generation: number;
27
+ request: RadReadRequest;
28
+ },
29
+ options: {
30
+ sendStatus: (data: {
31
+ loaded: number;
32
+ }) => void;
33
+ },
34
+ ): Promise<{
35
+ data: RadStreamChunk;
36
+ tree: RadLodChunk;
37
+ state: RadResourceState | undefined;
38
+ rootBytes: Uint8Array<ArrayBufferLike> | undefined;
39
+ }>;
40
+ cancelRadLoad(request: { generation: number }): void;
41
+ retainRadChunk(request: {
42
+ index: number;
43
+ generation: number;
44
+ tree: Omit<RadLodChunk, keyof RadSelectionChunk>;
45
+ }): void;
46
+ retainRadSelectionChunk(request: {
47
+ index: number;
48
+ generation: number;
49
+ chunk: RadSelectionChunk;
50
+ }): number;
51
+ selectRadLod(request: RadSelectionRequest): RadSelectionReply;
52
+ releaseRadChunk(request: {
53
+ index: number;
54
+ generation?: number;
55
+ }): void;
56
+ releaseRadSelectionChunk(request: {
57
+ index: number;
58
+ generation?: number;
59
+ }): number;
63
60
  };
@@ -1,63 +1,60 @@
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';
6
- /** Each worker initializes once as either the dataset LOD tree or a page decoder. */
1
+ import type { RadReadRequest, RadResourceState } from "../../rad/RadSource.js";
2
+ import type { RadHeader, RadStreamChunk } from "../../rad/radFormat.js";
3
+ import type {
4
+ RadSelectionReply,
5
+ RadSelectionRequest,
6
+ } from "./RadSelectionState.js";
7
+ import type {
8
+ RadSelectionChunk,
9
+ RadSelectionPreparation,
10
+ prepareRadSelection,
11
+ } from "./prepareRadSelection.js";
12
+ import type { RadLodChunk } from "./radLod.js";
13
+ /** Workers own LOD traversal, display preparation, or a persistent page decoder. */
7
14
  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[];
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;
15
+ prepareRadSelection(
16
+ request: Parameters<typeof prepareRadSelection>[0],
17
+ ): RadSelectionPreparation;
18
+ initializeRad(request: { bytes: Uint8Array }): RadHeader;
19
+ initializeRadDecoder(request: {
20
+ header: RadHeader;
21
+ rootBytes?: Uint8Array;
22
+ }): void;
23
+ loadRadChunk(
24
+ args: {
25
+ index: number;
26
+ generation: number;
27
+ request: RadReadRequest;
28
+ },
29
+ options: {
30
+ sendStatus: (data: {
31
+ loaded: number;
32
+ }) => void;
33
+ },
34
+ ): Promise<{
35
+ data: RadStreamChunk;
36
+ tree: RadLodChunk;
37
+ state: RadResourceState | undefined;
38
+ rootBytes: Uint8Array<ArrayBufferLike> | undefined;
39
+ }>;
40
+ cancelRadLoad(request: { generation: number }): void;
41
+ retainRadChunk(request: {
42
+ index: number;
43
+ generation: number;
44
+ tree: Omit<RadLodChunk, keyof RadSelectionChunk>;
45
+ }): void;
46
+ retainRadSelectionChunk(request: {
47
+ index: number;
48
+ generation: number;
49
+ chunk: RadSelectionChunk;
50
+ }): number;
51
+ selectRadLod(request: RadSelectionRequest): RadSelectionReply;
52
+ releaseRadChunk(request: {
53
+ index: number;
54
+ generation?: number;
55
+ }): void;
56
+ releaseRadSelectionChunk(request: {
57
+ index: number;
58
+ generation?: number;
59
+ }): number;
63
60
  };
@@ -1,16 +1,20 @@
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
+ writeRegion(start: number, data: ReorderedSplatResult): void;
18
+ setRegionOpacity(start: number, opacity: number): void;
19
+ releaseRegion(start: number): void;
16
20
  }
@@ -1,16 +1,20 @@
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
+ writeRegion(start: number, data: ReorderedSplatResult): void;
18
+ setRegionOpacity(start: number, opacity: number): void;
19
+ releaseRegion(start: number): void;
16
20
  }
@@ -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 { SogLodRequest } 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(request: SogLodRequest): 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 { SogLodRequest } 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(request: SogLodRequest): Promise<Uint32Array>;
58
+ load(
59
+ url: string,
60
+ count: number,
61
+ signal: AbortSignal,
62
+ ): Promise<SogChunkSource>;
63
+ dispose(): void;
49
64
  }